使用 statsmodels 评估回归系数的 t 检验
Evaluating a t-test on regression coefficients using statsmodels
我有一个包含大约 100 多个特征的数据集。我还有一小部分协变量。
我使用 statsmodels 为 y = x + C1 + C2 + C3 + C4 + ... + Cn 为每个协变量、特征 x 和因变量 y 构建了一个 OLS 线性模型。
我正在尝试对回归系数执行假设检验以检验系数是否等于 0。我认为 t 检验是解决此问题的合适方法,但我不太确定如何使用 statsmodels 在 Python 中着手实施。
但我不确定我是否理解 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
对不太常规的假设很有用。
我有一个包含大约 100 多个特征的数据集。我还有一小部分协变量。
我使用 statsmodels 为 y = x + C1 + C2 + C3 + C4 + ... + Cn 为每个协变量、特征 x 和因变量 y 构建了一个 OLS 线性模型。
我正在尝试对回归系数执行假设检验以检验系数是否等于 0。我认为 t 检验是解决此问题的合适方法,但我不太确定如何使用 statsmodels 在 Python 中着手实施。
但我不确定我是否理解 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
对不太常规的假设很有用。