在datacamp网站上学习“ Time Series with R ”track
“Forecasting Using R”课程 做的对应笔记。
学识有限,错误难免,还请不吝赐教。
学习的课程为“Forecasting Using R”,主要用 forecast 包。
课程参考教材 Forecasting: Principles and Practice
课程中数据可在 fpp2 包得到
本次笔记可以作为之前ARIMA模型笔记的补充: 时间序列笔记-ARIMA模型
在之前学习ARIMA模型的笔记中我们通过查看序列的ACF/PACF图来帮助定阶。其实实际应用中往往不是那么容易就能通过ACF/PACF图来识别出ARIMA模型的阶数。forecast包中的 auto.arima() 可以自动尝试不同的阶数组合并挑选出可能的最优模型。可以帮助我们进行定阶。
auto.arima(y, ic = c("aicc", "aic", "bic"), stepwise = TRUE, trace = FALSE, allowdrift = TRUE, lambda = NULL)
最简单的情况下,只需要提供训练数据y一个参数就可以运行。这里我列了一些其他的参数:
更多参数设定可参看文档:
https://www.rdocumentation.org/packages/forecast/versions/8.8/topics/auto.arima 使用的数据h02 包含澳大利亚每月皮质激素类药物的销售量
原数据有方差逐渐增大的趋势,尝试用log转换使方差稳定:
函数自动定阶选择的是阶数为(2,1,1)(0,1,2)12 的季节性ARIMA模型。 summary() 报告的模型信息这里省略
残差分析图: