时间序列的预测的基本套路

第一步:

获取到序列,切割序列。这里测试用途可以通过arima.sim来进行模拟,下面的就是模拟一个36个数据,模式为MA(1),系数为0.6的时间序列;然后将序列进行分割,前半部分是序列图,后半部分是待预测验证部分。

set.seed(13256)

serias = arima.sim(n=36, list(ma=-0.6)) + 100

acture=window(serias, start=33)

serias=window(serias, end=32)

第二步:

创建模型,指定数据的模型(这里采用的MA(1)),

model=arima(serias, order=c(0,0,1))

第三步:

比较。

1. 图比较:通过plot进行绘图,注意通过n.head来指定预测的周期数;另外要考到建模采用的serias,就是序列的前半部分;然后通过lines画出本来的图线,查看预测和真实的差距。

2. 数据比较:通过cbind进行纯数据比较。

result=plot(model, n.ahead = 4, type="o", pch=19)

lines(acture, col="red")

abline(h=coef(model)[names(coef(model)=="intercept")])

forecast=result$pred

cbind(acture, forecast)

原文地址:https://www.cnblogs.com/xiashiwendao/p/10264024.html