笔记说明
在datacamp网站上学习“Time Series with R ”track
“Forecasting Using R”课程 做的对应笔记。
学识有限,错误难免,还请不吝赐教。
学习的课程为“Forecasting Using R”,主要用forecast包。
课程参考教材Forecasting: Principles and Practice
课程中数据可在fpp2包得到
朴素预测法(Naive forecast)
朴素预测法是最简单的预测方法:用最近的观测值作为预测值。对于很多时间序列数据,例如股票价格,朴素预测法就是最佳方法了。虽然朴素预测法并不是一个很好的预测方法,但是它可以为其他预测方法提供一个基准。
可以用naive(y,h=)函数实现朴素预测法,h指定想要预测的数量。函数的输出结果是一个forecast类别对象,是forecast包的核心类,可以对该类应用summary(),autoplot()等函数。
下面对goog数据应用朴素预测法。该数据含有截止2017年2月13日的Google股票每日收盘价。
# Use naive() to forecast the goog series
fcgoog <- naive(goog, h=20)
# Plot and summarize the forecasts
autoplot(fcgoog)
summary(fcgoog)
对naive()的输出结果应用autoplot()画的图中除了画出预测值以外,还画出了预测值的80%置信区间和95%置信区间。
summary()函数的输出包括了:
- 训练集上模型产生的残差标准差
- 模型对训练数据的误差大小的测量值如ME RMSE MAE MPE MAPE MASE等
- 未来各时间点产生的预测值及对应的80%置信区间上下限、95%置信区间上下限。
summary()函数的输出就不在此列出了。
季节朴素预测法
对于季节性数据,与朴素预测法对应的方法叫做季节朴素预测法(seasonal naive forecast)。它是用上一个时间周期中对应位置的观测值作为预测值。例如用前一个三月份的观测值作为下一个三月份的预测值。
与naive()类似,可以用snaive(y,h=)函数实现朴素预测法,h指定想要预测的数量(默认值为2*frequency(输入数据))。
下面对ausbeer数据应用季节朴素预测法。该数据记录了澳大利亚各季度的啤酒产量。
# Use snaive() to forecast the ausbeer series
fcbeer <- snaive(ausbeer,h=16)
# Plot and summarize the forecasts
autoplot(fcbeer)
summary(fcbeer)