繁体   English   中英

如何检查OLS中参数的p值

[英]How to check the p values of parameters in OLS

在进行线性回归时,例如y=a*x+b ,摘要为我提供了参数是否等于零的p值,如果我想查看参数a是否等于2的p值怎么办?或不同于零的东西?

我希望OLS摘要为我提供a是否不同于2的p值。

结果类具有用于假设检验的方法。 它们大多数基于Wald检验,即我们估计完整模型并测试限制是否与数据一致。

http://www.statsmodels.org/devel/generation/statsmodels.regression.linear_model.RegressionResults.html

例如,参见t_test ,它针对简单的假设进行了矢量化处理,并生成了类似于回归摘要中的摘要表。 http://www.statsmodels.org/devel/generation/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。

我的评论解释道:

这是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的p值= 1:

>>> from scipy.stats import norm
>>> 2*(1 - norm.cdf(abs(1-0.25), scale=0.255))                                                                                          
0.00326968201269362

p值对应于观察的此值的概率a在零假设下(通常是0,因为这是这种情况时,有没有协变量的效果x对结果y )。

这是在线性回归的假设下进行的,该假设尤其指出a服从正态分布。 因此,如果您真的想将零假设更改为a=2则只需将a_ = a - 2转换a现在,当a=2 ,按照通常的假设, a_将为0。

因此,您可以通过求解y+2x = a_*x + b来实现此目标,并且对于偶然发生a=2的概率,您将具有p值。 正如我所说,尽管这是一个相当不寻常的测试...

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM