常见时序预测模型的R实现 三

ETS模型

接下来说说ETS模型,在R的forecast库中有实现。

> library(fpp2)
Loading required package: forecast
Loading required package: fma
Loading required package: expsmooth
Loading required package: ggplot2

作者Rob Hyndman是个H-index 54,citation过两万的大牛。他故意用这三个字母来使这个模型的名字能顾名思义(reminiscent),既可以理解为Error, Trend and Seasonality,又可以解作ExponenTial Smoothing模型。前者揭示了模型的三个组成部分,后者则描述了模型的工作原理。准确的说,ETS实际上是一整个系列的算法,可以基于这三个组成部分任意组合,而Hyndman写的forecast库中可以用ets()方法自动选择三个component的组合。

之所以要从这个模型写起,是因为这个模型既足够强大,又足够简明。它可以预测以下几种时间序列:

  • 无趋势(trend),无季节性(seasonality) 比如我上个月跑了十次5公里,根据这十次时间估计我接下来一次要跑多久
  • 有趋势,无季节性 比如我刚开始学打字,一开始打1000个词要4个小时,以后随着熟练程度递减,预测下一次时间
  • 有趋势,有季节性 比如零售业的销售数据,趋势体现的可能是整个行业的冷暖,季节性则跟气温、假日有关
  • 无趋势,有季节性 比如近十年某地气温的变化,十年这样的短周期里也许体现不出大的趋势变化,但季节性是显著的

不仅如此,由于它的error component既可以是additive的又可以是multiplicative的,它还能预测有季节性且在每个周期内幅度有变化的序列。比如电力供应,由于用的起空调之类制冷设备的家庭变多了,季节性的振幅可能是逐渐递增的。

最简单的ETS

最简单的ETS是ses模型,即simple exponential smoothing。这个模型只能解决没趋势也没季节性的时序。它的公式如下:

  • 2
    点赞
  • 34
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值