4

我有一个时间序列,比方说

694 281 479 646 282 317 790 591 573 605 423 639 873 420 626 849 596 486 578 457 465 518 272 549 437 445 596 396 259 390

现在,我想通过 ARIMA 模型预测以下值,但是 ARIMA 要求时间序列是平稳的,所以在此之前,我必须确定上面的时间序列是否符合要求,然后 fUnitRoots 出现。

我认为http://cran.r-project.org/web/packages/fUnitRoots/fUnitRoots.pdf可以提供一些帮助,但是没有简单的教程

我只想要一个小演示来展示如何识别一个时间序列,有吗?

提前致谢。

4

2 回答 2

4

我将给出使用urcapackage in 的示例R

library(urca)
data(npext) # This is the data used by Nelson and Plosser (1982)
sample.data<-npext
head(sample.data)
 year      cpi employmt gnpdefl nomgnp interest    indprod gnpperca realgnp wages realwag sp500 unemploy velocity  M
1 1860 3.295837       NA      NA     NA       NA -0.1053605       NA      NA    NA      NA    NA       NA       NA NA
2 1861 3.295837       NA      NA     NA       NA -0.1053605       NA      NA    NA      NA    NA       NA       NA NA
3 1862 3.401197       NA      NA     NA       NA -0.1053605       NA      NA    NA      NA    NA       NA       NA NA
4 1863 3.610918       NA      NA     NA       NA  0.0000000       NA      NA    NA      NA    NA       NA       NA NA
5 1864 3.871201       NA      NA     NA       NA  0.0000000       NA      NA    NA      NA    NA       NA       NA NA
6 1865 3.850148       NA      NA     NA       NA  0.0000000       NA      NA    NA      NA    NA       NA       NA NA

我将用于ADF执行单位根检验industrial production index作为说明。是根据lag选择的SIC。我使用趋势,因为日期中有趋势。

 ############################################### 
# Augmented Dickey-Fuller Test Unit Root Test # 
############################################### 

Test regression trend 


Call:
lm(formula = z.diff ~ z.lag.1 + 1 + tt + z.diff.lag)

Residuals:
     Min       1Q   Median       3Q      Max 
-0.31644 -0.04813  0.00965  0.05252  0.20504 

Coefficients:
             Estimate Std. Error t value Pr(>|t|)    
(Intercept)  0.052208   0.017273   3.022 0.003051 ** 
z.lag.1     -0.176575   0.049406  -3.574 0.000503 ***
tt           0.007185   0.002061   3.486 0.000680 ***
z.diff.lag   0.124320   0.089153   1.394 0.165695    
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1 

Residual standard error: 0.09252 on 123 degrees of freedom
Multiple R-squared: 0.09796,    Adjusted R-squared: 0.07596 
F-statistic: 4.452 on 3 and 123 DF,  p-value: 0.005255 


Value of test-statistic is: -3.574 11.1715 6.5748 

Critical values for test statistics: 
      1pct  5pct 10pct
tau3 -3.99 -3.43 -3.13
phi2  6.22  4.75  4.07
phi3  8.43  6.49  5.47

#Interpretation:BIC选择lag 1最佳滞后。检验统计-3.574量小于tau35% (-3.430) 的临界值。因此,仅在 处拒绝存在单位根的空值5 percent

此外,请查看此处提供的免费预测书

于 2013-04-20T18:21:32.247 回答
1

当然,您可以进行正式测试,例如 ADF 测试,但我建议您首先进行平稳性的“非正式测试”。

使用可视化检查数据plot()将帮助您确定数据是否静止。

下一步是研究数据的自相关函数和偏自相关函数。您可以通过调用acf()pacf()函数来做到这一点。这不仅可以帮助您确定数据是否稳定,还可以帮助您确定暂定的 ARIMA 模型,如果它们在执行必要的诊断检查后完全清楚,则可以在以后进行估计和预测。

事实上,您应该注意您提供的数据中只有 30 个观察值。这低于使用 ARIMA 模型进行预测所需的大约 50 个观测值的实际最低水平。

如果有帮助的话,在我绘制数据后不久,我几乎可以肯定数据可能是静止的。估计的 acf 和 pacf 似乎证实了这一观点。有时像这样的非正式测试就足够了。

这本关于时间序列的小册子可能会对您有所帮助。

于 2013-04-20T22:17:54.833 回答