时间序列分析之ARIMA模型预测__R篇

本文介绍了如何使用R语言进行ARIMA模型预测时间序列,通过导入forecast包,处理航空公司销售数据,识别并建立模型,最终选择了ARIMA(0,1,1)(0,1,1)[12]作为最佳模型进行五年后的销售预测。" 113889793,10540328,MongoDB数据库操作指南,"['MongoDB', '数据库管理', '数据查询', '数据操作']
摘要由CSDN通过智能技术生成

相关文章:时间序列分析之ARIMA模型预测__SAS篇

 

之前一直用SAS做ARIMA模型预测,今天尝试用了一下R,发现灵活度更高,结果输出也更直观。现在记录一下如何用R分析ARIMA模型。

 

1. 处理数据

1.1. 导入forecast包

forecast包是一个封装的ARIMA统计软件包,在默认情况下,R没有预装forecast包,因此需要先安装该包

> install.packages("forecast')

导入依赖包zoo,再导入forecast包

> library("zoo")
> library("forecast")

1.2. 导入数据

博主使用的数据是一组航空公司的销售数据,可在此下载数据:airline.txt,共有132条数据,是以月为单位的销售数据。

> airline <- read.table("airline.txt")
> airline

    V1 V2
  1 1 112
  2 2 118
  3 3 132
  4 4 129
  5 5 121
  6 6 135
  7 7 148
  8 8 148
  9 9 136
  10 10 119

(........)

1.3. 将数据转化为时间序列格式(ts)

 由于将数据转化为时间序列格式,我们并不需要时间字段,因此只取airline数据的第二列,即销售数据,又因为该数据是以月为单位的,因此Period是12。

> airline2 <- ariline[2]
> airts <- ts(airline2,start=1,frequency=12)

 

2. 识别模型

2.1. 查看趋势图

> plot.ts(airts)

 

由图可见,该序列还不平稳,先做一次Log平滑,再做一次差分:

> airlog <- log(airts)
> airdiff <- diff(airlog, differences=1)
> plot.ts(airdiff)

 

这次看上去就比较平稳了,现在看看ACF和PACF的结果

2.2. 查看ACF和PACF

 

> acf(airdff, lag.max=30)
> acf(airdff, lag.max=30,plot=FALSE)
Autocorrelations of series ‘airdiff’, by lag
0.0000 0.0833 0.1667 0.2500 0.3333 0.4167 0.5000 0.5833 0.6667 0.7500 0.8333 1.000 0.188 -0.127 -0.154 -0.326 -0.066 0.041 -0.098 -0.343 -0.109 -0.120 0.9167 1.0000 1.0833 1.1667 1.2500 1.3333 1.4167 1.5000 1.5833 1.6667 1.7500 0.199 0.833 0.198 -0.143 -0.110 -
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值