我有一个包含大约 100+ 个特征的数据集。我也有一小组协变量。
我使用统计模型构建了一个 OLS 线性模型,用于 y = x + C1 + C2 + C3 + C4 + ... + Cn 为每个协变量,以及一个特征 x 和一个因变量 y。
我正在尝试对回归系数进行假设检验,以检验系数是否等于 0。我认为t-test是合适的方法,但我不太确定如何使用statsmodels在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 的回归协同效应感兴趣。
任何帮助表示赞赏!
你确定你不想要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
对于不太传统的假设很有用。