运行y=a*x+b
之类的线性回归时,摘要为我提供了参数是否等于零的p值,如果我想查看参数{{1 }}等于2或不同于零的值?
我希望 OLS 摘要为我提供a
是否不同于2的p值。
答案 0 :(得分:1)
结果类具有用于假设检验的方法。其中大多数是基于Wald检验的,即我们估计完整模型并测试限制是否与数据一致。
例如参见t_test
,该向量针对简单假设进行了矢量化处理,并生成了与回归摘要中的摘要表相似的摘要表。
http://www.statsmodels.org/devel/generated/statsmodels.regression.linear_model.RegressionResults.t_test.html
有这个例子
>>> results = ols(formula, dta).fit()
>>> hypotheses = 'GNPDEFL = GNP, UNEMP = 2, YEAR/1829 = 1'
>>> t_test = results.t_test(hypotheses)
还有其他几种可用于假设检验的方法:
wald_test
用于单个联合假设。
wald_test_terms
测试每个术语是否具有等于零的所有参数(例如,对于分类回归变量)和
t_test_pairwise
为分类回归变量的每对水平计算t_test。
答案 1 :(得分:0)
我的评论解释如下:
以下是OLS结果的示例(数据是人工的):
OLS Regression Results
==============================================================================
Dep. Variable: y R-squared: 0.161
Model: OLS Adj. R-squared: -0.007
Method: Least Squares F-statistic: 0.9608
Date: Mon, 08 Apr 2019 Prob (F-statistic): 0.372
Time: 11:14:10 Log-Likelihood: -10.854
No. Observations: 7 AIC: 25.71
Df Residuals: 5 BIC: 25.60
Df Model: 1
Covariance Type: nonrobust
==============================================================================
coef std err t P>|t| [0.025 0.975]
------------------------------------------------------------------------------
const 2.1429 1.141 1.879 0.119 -0.789 5.075
x1 0.2500 0.255 0.980 0.372 -0.406 0.906
==============================================================================
Omnibus: nan Durbin-Watson: 1.743
Prob(Omnibus): nan Jarque-Bera (JB): 0.482
Skew: 0.206 Prob(JB): 0.786
Kurtosis: 1.782 Cond. No. 10.4
==============================================================================
因此,对于参数x1,我们的系数为0.25,STD为0.255。
x1 = 1的p值:
>>> from scipy.stats import norm
>>> 2*(1 - norm.cdf(abs(1-0.25), scale=0.255))
0.00326968201269362
答案 2 :(得分:0)
p值对应于在原假设下观察a
的值的概率(通常为0,因为当协变量x
对变量无影响时就是这种情况)结果y
)。
这是在线性回归的假设下得出的,其中除其他事项外,a
遵循正态分布。因此,如果您真的想将原假设更改为a=2
,则只需变换a
使得a_ = a - 2
现在a=2
时a_
将为0按照通常的假设。
因此,您可以通过解决y+2x = a_*x + b
来实现这一目标,并且a=2
偶然发生的概率将具有p值。正如我所说的,虽然这是一个相当不寻常的测试...