基于R语言的时间序列分析预测

  • 数据来源: R语言自带 Nile 数据集(尼罗河流量)
  • 分析工具:R-3.5.0 & Rstudio-1.1.453
#清理环境,加载包
rm(list=ls())
library(forecast)
library(tseries)
#趋势查看
plot(Nile)

1544813-20181217165145446-717209540.png

#平稳性检验
#自相关图
acf(Nile)

1544813-20181217165344822-354192051.png

#偏相关图
pacf(Nile)

1544813-20181217165425735-392915430.png

#也可以直接用tsdisplay查看
tsdisplay(Nile)

1544813-20181217165605165-1522810818.png

#单位根检验
adf.test(Nile)

1544813-20181217170013742-941282237.png

  • 从自相关图上看,自相关系数没有快速衰减为0,呈拖尾,单位根检验进一步验证,存在单位根,所以序列为非平稳序列
#做序列差分
#可以用ndiffs判断需要做几阶差分
ndiffs(Nile)

1544813-20181217170419608-950828306.png

  • 需要做一阶差分
#做一阶差分,然后再进行检验
Nile_diff=diff(Nile,1)
plot(Nile_diff)

1544813-20181217170912314-1164234738.png

acf(Nile_diff)

1544813-20181217170953963-1656861235.png

pacf(Nile_diff)

1544813-20181217171025403-1680731830.png

adf.test(Nile_diff)

1544813-20181217171055375-375075992.png

#建立模型
(mod=arima(Nile,order=c(0,1,1),method='ML'))

1544813-20181217171334172-1270790208.png

  • 根据acf图和pacf图,拟定为0,1,1
#auto.arima通过选取AIC和BIC最小来选取模型,与根据acf和pacf图建立的模型进行比较
(mod_auto=auto.arima(Nile))

1544813-20181217171721390-1781921788.png

# 残差正态性检验
qqnorm(mod$residuals)
qqline(mod$residuals)

1544813-20181217172003561-986970464.png

qqnorm(mod_auto$residuals)
qqline(mod_auto$residuals)

1544813-20181217172021197-1175203861.png

# 残差白噪检验
Box.test(mod$residuals,type='Ljung-Box')

1544813-20181217172048448-936771424.png

Box.test(mod_auto$residuals,type='Ljung-Box')

1544813-20181217172106741-323963996.png

  • 根据检验结果来看,还是选择根据acf图和pacf图建立的模型比较好
# 进行预测
(pre=forecast(mod,5))

1544813-20181217172231072-1432798103.png

plot(Nile,col='pink')
par(new=T)
plot(pre,col='green')

1544813-20181217172609114-764147663.png

plot(pre,col='green')

1544813-20181217173059388-649954938.png

转载于:https://www.cnblogs.com/silverangel/p/10132361.html

  • 5
    点赞
  • 31
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值