1 创建时间序列
2 季节性分解
3 指数模型
4 ARIMA模型
5 自动预测
第一步:创建时间序列
用ts()函数将一个数字向量转化为一个时间序列,形式为ts(vector,start=,end=,frequency=),frequency=(1=annual,4=quartly,12=monthly,etc)
第二部:季节性分解
如果时间序列有增加的趋势,季节性,和不规则成分,则可以用stl()函数,如果时间序列多重影响可以用log(ts)
#季节分解
fit=stl(ts,s.window="period")
plot(fit)
#添加图
monthplot(ts)
library(forest)
seasonplt(ts)
第三步:指数模型
#简单指数平滑模型
fit=HoltWinters(ts,beta=F,gamma=F)
#带有models level and trend
fit=HoltWinters(ts,beta=F)
#带有models levels,trend and seasonal compontents
fit=HoltWinters(ts)
#predict accuracy
library(forecast)
accuracy(fit)
#predict next three future values
library(forecast)
forecast(fit,3)
plot(forecast(fit,3))