以Nile序列拟合ARIMA模型为案例分析函数
验证平稳性的思路布局
一、平稳性通常经过时序图直观判断,或者经过ADF(Augmented Dickey-Fuller)统计检验来验证平稳性假定spa
a一、R中 tseries 包中的 adf.test() 可用来作 ADF检验,语句为 adf.test(ts),ts为检验的序列,如过结果显著,则认为序列知足平稳性code
二、若是方差不是常数,则须要数据作变换io
三、若有存在趋势项,则须要对其进行差分ast
a、经过绘制时序图观察到各观测年间的方差彷佛是稳定的,所以无需作数据变换test
b、貌似有趋势项,因此进行ADF检验,差分,而后再ADF检验im
> library(forecast) > library(tseries) > par(mfrow=c(2,1)) #绘制2*1布局的图 > plot(Nile) #绘制时序图观察是否平稳,各年间的方差彷佛稳定,所以无需对数据作变换 > adf.test(Nile) #利用adf.test进行验证平稳性,p value >0.05,不显著,不平稳,因此须要进行差分 Augmented Dickey-Fuller Test data: Nile Dickey-Fuller = -3.3657, Lag order = 4, p-value = 0.0642 alternative hypothesis: stationary > ndiffs(Nile) #froecast包中的ndiffs找出最有的d(差分次数) [1] 1 > dNile <- diff(Nile,1)# diff(ts,differences=d)其中d对时序ts的差分次数,默认d=1,可不写 > plot(dNile) > adf.test(dNile) #再用adf.test()进行平稳性验证 Augmented Dickey-Fuller Test data: dNile Dickey-Fuller = -6.5924, Lag order = 4, p-value = 0.01 #p value <0.05表示显著,表示平稳 alternative hypothesis: stationary Warning message: In adf.test(dNile) : p-value smaller than printed p-value
原始序列差分一次(函数默认一阶滞后项,即lag=1)并存储在dNile中,如上图差分后的序列的折线图,显然比原始序列更平稳,对差分后的序列作ADF检验,结果显示显著,说明序列是平稳的,统计
可继续下一步选择模型数据