简记为ARMA(p, q)。利用滞后算子,此模型可写为
φ(B)Xt=θ(B)εt (2.1.7)
3 R中实现判断时间序列的平稳性
3.1 例一
> x=rnorm(500) #生成500个服从正太分布的数 > y=cumsum(x) #累加x的数对应得到y
3.1.1 绘制时序图
> plot.ts(x)
> plot.ts(y)
从两个图的不同可以看出x时间序列趋势不随时间的变化而变化,其随机性比较强。而y序列则有明显的时间趋势。
3.1.2 ADF.test检验
install.packages(\#安装时间序列包
library(\rary\#载入时间序列包 > adf.test(x) Augmented Dickey-Fuller Test
data: x
Dickey-Fuller = -8.0878, Lag order = 7, p-value = 0.01 alternative hypothesis: stationary
结论:p-value = 0.01拒绝原假设(原假设认为时间序列是非平稳的),即可认为x是平稳的。 > adf.test(y) Augmented Dickey-Fuller Test
data: y
Dickey-Fuller = -1.1291, Lag order = 7, p-value = 0.9179 alternative hypothesis: stationary
结论:p-value = 0.9179不能拒绝原假设,所以认为y是非平稳的。
函数2:ADF检验时间序列的平稳性:ADFTEST 参数1:时间序列
P临界值,默认值为0.05 返回结果:用框架来组织返回结果
结论(1:平稳,0:不平稳) adf.test函数的返回值
3.1.3 PP检验
> pp.test(x) Phillips-Perron Unit Root Test
data: x
Dickey-Fuller Z(alpha) = -510.4566, Truncation lag parameter = 5, p-value = 0.01
alternative hypothesis: stationary
警告信息:
In pp.test(x) : p-value smaller than printed p-value
结论:p-value = 0.01拒绝非平稳性假设,即认为x是平稳的。
> pp.test(y) Phillips-Perron Unit Root Test
data: y
Dickey-Fuller Z(alpha) = -3.9888, Truncation lag parameter = 5, p-value = 0.8872
alternative hypothesis: stationary
结论:p-value = 0.8872不能拒绝原假设y是非平稳的,所以认为y是非平稳的。
函数3:PP检验时间序列的平稳性:PPTEST 参数1:时间序列
P临界值,默认值为0.05
返回结果:用框架来组织返回结果
结论(1:平稳,0:不平稳) R语言pp检验函数的返回值
3.1.4 ACF自相关函数判断
> modelx=lm(x~time(x)) > summary(modelx)
Call:
lm(formula = x ~ time(x))
Residuals:
Min 1Q Median 3Q Max
-2.87920 -0.75003 0.01103 0.70595 3.15625
Coefficients:
Estimate Std. Error t value Pr(>|t|) (Intercept) 0.1524849 0.0915359 1.666 0.0964 . time(x) -0.0005077 0.0003166 -1.603 0.1095 ---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
Residual standard error: 1.022 on 498 degrees of freedom Multiple R-squared: 0.005136, Adjusted R-squared: 0.003138
F-statistic: 2.571 on 1 and 498 DF, p-value: 0.1095
> acf(rstudent(modelx),main='关于x的acf自相关系数')
相关推荐: