【教男朋友用python做计量】03.利用python进行假设检验(1)

第三节 利用python进行T检验、F检验



前言

FBI WARNING:

之前讲了怎么用statsmodels进行简单的OLS回归,以及如何输出回归的参数(例如:系数,标准差,P值等等),可以发现其实这个库还挺强大,用来做计量也蛮方便的。所以就继续往下学习,那么就来到了如何利用statsmodels做t检验和F检验。这篇文章比较详细基础,甚至废话有点多,可以说是手把手教你用statsmodels做假设检验了,如果宝贝你还不会的话,我就先倒立洗个头(ノへ ̄、)。**注意:**如果有基础不想看废话的直接跳到最后的总结!!!


一、数据准备

先生成数据,进行初步的OLS回归,这一个步骤你已经很熟悉啦~无非就是import 一下,然后ols() 再fit(),忘记的话看我之前的文章哦。

import pandas as pd 
import numpy as np
import statsmodels.api as sm
import statsmodels.formula.api as smf
#准备需要的包
#生成数据
df=pd.DataFrame(np.random.randint(1,10,(30,4)),columns=["Y","X1","X2","X3"])
df.head(5)
	Y	X1	X2	X3
0	5	1	8	1
1	2	1	8	5
2	1	8	7	8
3	2	6	8	9
4	6	6	3	6

数据准备好之后就可以进行OLS回归了:

#OLS回归
regression=smf.ols(formula="Y~X1+X2+X3",data=df)
model=regression.fit()

二、t检验

1. t检验回顾

t检验是对单个变量进行的显著性检验,首先要计算t,然后和临界值比较,看t值是落在拒绝域还是接受域。原假设: H 0 : β k ^ = β 0 H_0:\hat{\beta_k}=\beta_0 H0:βk^=β0的t统计量为:
t k = β k ^ − β 0 S e ( β k ) ^ ~ t ( n − K ) t_k=\frac{\hat{\beta_k}-\beta_0}{Se(\hat{\beta_k)}}~t(n-K) tk=Se(βk)^βk^β0t(nK)
其中, S e ( β k ^ ) Se(\hat{\beta_k}) Se(βk^)为估计值 β k ^ \hat{\beta_k} βk^的标准误。
t检验的原假设示例:

  • H 0 : β 1 = 0 H_0:\beta_1=0 H0:β1=0
  • H 0 : β 1 = β 2 H_0:\beta_1=\beta_2 H0:β1=β2
  • H 0 : β 2 = 1 H_0:\beta_2=1 H0:β2=1

2. 利用statsmodels进行t检验

接下来,我们直接用fit()下面的t_test()方法进行t检验,官方的t_test()方法说明如下:
在这里插入图片描述
在传参这里,可以用传入关于原假设的array,也可以传入原假设的字符串,或者是元组。总而言之就是咱们要把咱们的原假设告诉这个方法,那么怎么表达原假设呢~

2.1 R矩阵的方式传参

基本思想就是构造原假设 H 0 : R β = 0 H_0:R\beta=0

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值