技术库 > R

R时间序列ARIMA模型基本应用

技术库:tec.5lulu.com

from:tec.5lulu.com

选择R中的时间序列数据skirts.dat。以此数据为例,举一个入门例子。

1.首先把数据导入,并设置开始时间,查看走势图

skirts <- scan("http://ai.5lulu.com/datas/timeseries/skirts.dat",skip=5)
skirtsts<- ts(skirts,start = c(1866))
plot.ts(skirtsts)

R时间序列ARIMA模型基本应用,by 5lulu.com

从上图看出走势并不平稳,需要转化成平稳时间序列,因为从数据角度需要保证整个时间周期内变化是有规律的

2.对数据进行平稳变化,差分变化

skirtstsdiff<-diff(skirtsts,differences=1)
plot.ts(skirtstsdiff)
skirtstsdiff2<-diff(skirtsts,differences=2)
plot.ts(skirtstsdiff2)

R时间序列ARIMA模型基本应用,by 5lulu.com

差分变化可以理解成将数据走势图转化成斜率走势图,即使原图整体变化趋势都是向上,他们每个时间的变化程度(斜率)是有规律的(先多,后少,再多,再少等。

上图转化后,变化趋势稳定,第二步确定数据集可转化成平稳序列,即可进行时间序列预测。

3.进行arima方法预测,R语言中具有一个函数auto.arima,可直接进行时间序列预测

library(forecast);
skirtsarima<-auto.arima(skirtsts,trace=T)

ARIMA(2,2,2)                    : Inf

 ARIMA(0,2,0)                    : 393.6216

 ARIMA(1,2,0)                    : 391.6212

 ARIMA(0,2,1)                    : 392.0664

 ARIMA(2,2,0)                    : 393.9273

 ARIMA(1,2,1)                    : 393.9276

 ARIMA(2,2,1)                    : Inf

 Best model: ARIMA(1,2,0)    

Series: skirtsts 

ARIMA(1,2,0)                    

Coefficients:

          ar1

      -0.2997

s.e.   0.1424

sigma^2 estimated as 397.8:  log likelihood=-193.66

AIC=391.33   AICc=391.62   BIC=394.9

这个步骤选择的结果最终是以AIC为指标,AIC通俗的理解就是实际值和预测值之间的差值的一个变换,越小越好。

4. 预测后5年

skirtsarimaforecast<-forecast(skirtsarima,h=5,level=c(99.5))
skirtsarimaforecast

 Point Forecast  Lo 99.5  Hi 99.5

1912       534.8045 478.8188 590.7902

1913       539.8663 429.4297 650.3028

1914       544.5513 366.6838 722.4188

1915       549.3492 294.7542 803.9442

1916       554.1133 214.1185 894.1081

R时间序列ARIMA模型基本应用


标签: 时间 序列 arima本文链接 http://tec.5lulu.com/detail/108acn4wmt1rw8s06.html

我来评分 :6.1
0

转载注明:转自5lulu技术库

本站遵循:署名-非商业性使用-禁止演绎 3.0 共享协议

www.5lulu.com