如何计算R中ARIMA模型的参数的p值?


23

在R中进行时间序列研究时,我发现arima 仅提供系数值及其拟合模型的标准误差。但是,我也想获得系数的p值。

我没有找到任何可提供coef意义的功能。

所以我希望自己计算,但是我不知道系数的t或chisq分布的自由度。所以我的问题是如何在R中获得拟合的Arima模型系数的p值?


9
为什么要p值?AR模型系数的显着性检验不是特别有用,因为显着性不是选择模型阶数的好方法。请改用AIC。
罗布·海因曼

1
通常,不止一个模型可以很好地拟合数据。因此,通常情况下,我可以进行多个诊断。因此,如果我已经使用过pacf / acf,AIC / BIC(也许也可以预测准确性)并且仍然无法在两个模型之间进行选择-系数系数的查找是否也有问题?
hans0l0 2011年

Answers:


4

“ t值”是系数与标准误差的比率。自由度(ndf)将是观察次数减去模型中最大差异数减去估计系数的数目。“ F值”将是“ t值”的平方。为了精确计算概率,您将必须调用非中心卡方函数,并传入F值和自由度(1,ndf)或者只是简单地调用F函数查找。


非常感谢!我是这样写的...但是令我惊讶的是几乎所有参数都不重要...但是在SAS中却说它们很重要...所以我怀疑编程语言是否有任何错误....
丽莎

我写的是:t = rep(0,5)std = rep(0,5)pvalue = rep(0,5)nobs = 369 npara = 5 for(i in 1:5){std [i] = sqrt(适合 COEF [I] / STD [I] p值[I] = 1 - PT(T [1],NOBS-npara) }v一种[RCØËF[一世一世]Ť[一世]=F一世Ť
丽莎

使用未描述的SAS程序的结果几乎不能构成统计正确性的证据。SAS不是一个Oracle。不幸的是,4月1日推出的SO-AskAnExpert弹出式窗口的推理策略如此循环如此。
DWin

22

由于arima使用最大似然进行估计,因此系数是渐近正态的。因此,将系数除以其标准误差即可得出z统计量,然后计算p值。这是R中的示例以及arima 帮助页面中的第一个示例:

> aa <- arima(lh, order = c(1,0,0))
> aa

Call:
arima(x = lh, order = c(1, 0, 0))

Coefficients:
         ar1  intercept
      0.5739     2.4133
s.e.  0.1161     0.1466

sigma^2 estimated as 0.1975:  log likelihood = -29.38,  aic = 64.76
> (1-pnorm(abs(aa$coef)/sqrt(diag(aa$var.coef))))*2
         ar1    intercept 
1.935776e-07 0.000000e+00 

最后一行给出p值。


H0CØËF=0.0H1个CØËF0.0

您可以通过对数似然比来执行此操作,因为该模型是使用对数似然率估算的。
mpiktas,2016年

λ-2λχ2ññ

10

您也可以使用coeftestfrom lmtest包:

> aa <- arima(lh, order = c(1,0,0))

> coeftest(aa)

z test of coefficients:

          Estimate Std. Error z value  Pr(>|z|)    
ar1        0.57393    0.11614  4.9417 7.743e-07 ***
intercept  2.41329    0.14661 16.4602 < 2.2e-16 ***
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1   1
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.