时间序列笔记-简单指数平滑

笔记说明

在datacamp网站上学习“Time Series with R ”track
“Forecasting Using R”课程 做的对应笔记。
学识有限,错误难免,还请不吝赐教。
学习的课程为“Forecasting Using R”,主要用forecast包。
课程参考教材Forecasting: Principles and Practice
课程中数据可在fpp2包得到

简单指数平滑(Simple exponential smoothing,SES)

简单指数平滑方法利用了过去所有观测值的信息生成预测值,越近的观测给与的权重越大。
\hat y_{t+h|t}表示给定数据y_1,y_2,...y_t下对y_{t+h}的预测值,简单指数平滑的预测公式为:
\hat y_{t+h|t}=αy_t+α(1-α)y_{t-1}+α(1-α)^2y_{t-2}+...,0≤α≤1
另一种等价的形式为:
\hat y_{t+h|t}=l_t=αy_t+(1-α)l_{t-1}
l_t称为t时刻的平滑值(smoothed value)
通过最小化SSE(误差平方和)来选择α和l_0的值:
SSE=\sum_{t=1}^{T}(y_t-\hat y_{t|t-1})

实例

ses()可以建立简单指数平滑模型病生成预测值。模型参数估计使用最小二乘法。h= 参数指定预测时间,默认为10.
对于ses()生成的forecast对象,可以用summary()查看模型参数等信息;可以用fitted()提取模型的拟合值,可以用autoplot()autolayer()进行作图。
autolayer()autoplot()类似,不同的是它是在已有图上新加一个图层而不是新建一个图。
实例数据marathon为1897-2016年波士顿马拉松比赛的年度最佳成绩。

# Use ses() to forecast the next 10 years of winning times
fc <- ses(marathon, h = 10)
# Use summary() to see the model parameters
summary(fc)

# Use autoplot() to plot the forecasts
autoplot(fc)

# Add the one-step forecasts for the training data to the plot
autoplot(fc) + autolayer(fitted(fc))

summary()的输出包括模型参数α、初始平滑值l_0的参数估计值(本例中α=0.3457,l_0=167.174)、训练数据的ME,RMSE.MAE,MPE,MAPE等衡量模型准确性的值,以及之后10年的预测值及其80%和95%置信区间的上下限。这里不详细列出了。
输出的图像:

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • BSCM Basic of Supply Chain Management Session 2: Demand M...
    浔溱阅读 1,926评论 0 1
  • 本文链接:个人站 | 简书 | CSDN版权声明:除特别声明外,本博客文章均采用 BY-NC-SA 许可协议。转载...
    虚胖一场阅读 25,814评论 5 12
  • https://blog.csdn.net/BigData_Mining/article/details/8109...
    王金松阅读 3,248评论 0 0
  • 基础定义 1、方差:在统计描述中,方差用来计算每一个变量(观察值)与总体均数之间的差异。为避免出现离均差总和为零,...
    丛小贱阅读 4,599评论 0 0
  • 落日隐了一半 月季花 依偎着石灰墙 红红的脸颊 冰冰凉凉 我每天匆匆走过 竟不敢 驻足欣赏 怕别人笑说 喏 你看 ...
    禾茗同学阅读 163评论 0 1