首页 > 解决方案 > Autoplot 仅使用 R 中时间序列的寓言绘制 ETS 的预测

问题描述

我一直在玩预测、寓言和 tibble,并且正在研究 Rob Hyndman 的示例HERE。当我到达“auscafe”示例的结尾时,出现的自动绘图仅用于预测,而不是原始绘图加上所示(和预期)的预测。

我在这里想念什么?

library(fpp2)
library(tsibble)
library(fable)
data("auscafe")

# Make auscafe a tsibble and confirm 
cafe <- as_tsibble(auscafe)
cafe


# Take a look
autoplot(cafe)

# ETS model noodling after Hyndman's 2018 presentation  
# https://robjhyndman.com/seminars/isf-fable/

cafe %>% ETS(value) %>% summary

cafe %>% ETS(value) %>% forecast() %>% summary()

cafe %>% ETS(value) %>% forecast() %>% summary(level=90)

# See Hyndman slide 11: He gets the original series PLUS the forecast
# When I run this, I get a plot of ONLY the forecast, 
# i.e., 2008-07 to 2010-07

cafe %>% ETS(value) %>% forecast() %>% autoplot()

标签: rtimeserieschartfable-r

解决方案


我还在 tidyverts/fable git repo 上发布了这个,并得到了 Mitchell O'Hara-Wild 的出色回应:

自演示以来,包已经发生了一些变化,因为我们找出了实现这些功能的最佳方式。

在演示时,fable 包只是对 forecast 包的包装,因此 fable::ARIMA 会调用 forecast::auto.arima。此后,ARIMA 方法从头开始重新实现,并且作为错误状态,目前不支持选择差异。目前,必须使用特殊型号指定集成顺序。例如,pdq(d=1) + PDQ(D=1) 将包括季节性和非季节性差异。此功能将在不久的将来添加。

我们还改变了预测的工作方式。预测现在只包含未来的预测值,因此不再包括用于训练模型的数据。通过将数据作为自动绘图的第一个参数提供,可以包含预测的历史数据。

prison %>% ETS(count) %>% forecast() %>% autoplot(prison)

推荐阅读