我有一个时间序列,比方说
694 281 479 646 282 317 790 591 573 605 423 639 873 420 626 849 596 486 578 457 465 518 272 59 56 49 3 4 9
现在,我想通过 ARIMA 模型预测以下值,但是 ARIMA 要求时间序列是平稳的,所以在此之前,我必须确定上面的时间序列是否符合要求,然后 fUnitRoots 出现。
我认为 http://cran.r-project.org/web/packages/fUnitRoots/fUnitRoots.pdf 可以提供一些帮助,但没有简单的教程
我只想要一个小演示来展示如何识别一个时间序列,有没有?
提前致谢。
最佳答案
我将举例说明在 urca
中使用 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
#解释:
BIC
选择 lag 1
作为最佳滞后。测试统计数据 -3.574
小于临界值 tau3
的 5% (-3.430)。因此,只有在 5 percent
处拒绝存在单位根的空值。另外,请查看可用的免费预测书 here
关于r - 如何通过R语言中的fUnitRoots包识别时间序列是否平稳,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/16123269/