我有一个关于100+特性的数据集。我还有一组小的协变量。
对于每个协变量,我使用统计模型y = x + C1 + C2 + C3 + C4 + ... + Cn,以及一个特征x和一个因变量y,建立一个OLS线性模型。
我正在尝试对回归系数进行假设检验,以检验回归系数是否等于0。我认为t-test是解决这一问题的合适方法,但我不太确定如何使用统计模型在Python中实现这一点。
我知道,特别是,我想使用http://www.statsmodels.org/devel/generated/statsmodels.regression.linear_model.RegressionResults.t_test.html#statsmodels.regression.linear_model.RegressionResults.t_test
但是我不确定我是否理解r_matrix参数。我能为此提供什么?我确实看过这些例子,但我并不清楚。
此外,我对对协变量本身进行t检验不感兴趣,而只是对x的回归系数感兴趣。
感谢任何人的帮助!
发布于 2017-08-16 22:46:10
您确定不需要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值来自每个拟合参数等于0的t检验。
看起来RegressionResults.t_test对于不那么传统的假设很有用。
https://stackoverflow.com/questions/45716207
复制相似问题