我有一个包含大约100多个功能的数据集。我也有一小组协变量。
我使用statsmodels建立OLS线性模型,对于每个协变量,特征x和因变量y,y = x + C1 + C2 + C3 + C4 + ... + Cn。
我试图对回归系数进行假设检验以测试系数是否等于0.我认为t检验是适当的方法,但我不太确定如何使用statsmodels在Python中实现它。
但我不确定我是否了解r_matrix参数。我能为此提供什么?我确实看过这些例子,但我不清楚。
此外,我对协变量本身的t检验不感兴趣,而只是x的回归共同效应。
任何帮助表示赞赏!
答案 0 :(得分:5)
您确定不想要statsmodels.regression.linear_model.OLS
吗?这将执行OLS回归,使参数估计值和相应的p值(以及许多其他内容)可用。
from statsmodels.regression import linear_model
from statsmodels.api import add_constant
Y = [1,2,3,5,6,7,9]
X = add_constant(range(len(Y)))
model = linear_model.OLS(Y, X)
results = model.fit()
print(results.params) # [ 0.75 1.32142857]
print(results.pvalues) # [ 2.00489220e-02 4.16826428e-06]
这些p值来自每个拟合参数的t检验等于0。
似乎RegressionResults.t_test
对于较不传统的假设很有用。