分层建模的问题在整洁的verts中重新调和

问题描述 投票:7回答:1

我正试图仿效美国人的做法进行分层预测。罗布-亨德曼的Rstudio.conf工作坊遇到了一些问题。这是我的代码。

library(dplyr)
library(tsibbledata)
library(tsibble)
library(fable)

aus_retail_2013_tr <- aus_retail %>%
    filter(Month <= yearmonth("2013 Dec"))
aus_retail_2013_vl <- aus_retail %>%
    filter(Month > yearmonth("2013 Dec"))

hmod <- aus_retail_2013_tr %>%
    aggregate_key(State*Industry, Turnover=sum(Turnover)) %>%
    model(ar=ARIMA(log(Turnover))) %>%
    reconcile(ar_adj=min_trace(ar))

fcasts_hmod <- forecast(hmod, aus_retail_2013_vl)

fcasts_hmod %>%
    filter(is_aggregated(Industry), State == "Victoria") %>%
    autoplot()

绘图的输出结果如下

enter image description here

我的主要问题是。

  • 调解似乎并没有改变预测的内容 图中显示的是 arar_adj 线路是相同的。
  • 预测只针对2014年到2015年这段时间,而我知道完整的数据集要到2018年。

我怎样才能解决这些问题?后者可能是因为并非所有的时间序列都覆盖了整个时期,但我如何能让 reconcile 不跳过缺失的句号?

这是在dplyr 0.8.5、fable 0.2.0、fabletools 0.1.3和tsbble 0.8.6下进行的。我在UbuntuR 3.6.3和Windows 10R 4.0.0上都得到了同样的结果。

PS. 试图预测一个固定地平线的结果是错误的。

> fcasts_hmod <- forecast(hmod, h="5 years")
Error: Reconciliation of non-normal forecasts is not yet supported.
Run `rlang::last_error()` to see where the error occurred.
r forecasting fable-r tidyverts
1个回答
1
投票

这些问题都是bug(或者说更多的是超出了当前调和实现的范围)。你可以通过软件包的 BugReports URL 来报告这些问题 (https:/github.comtidyvertsfabletoolsissues。).

我的主要问题是。

调解似乎并没有改变预测的结果。图片显示ar和ar_adj行是相同的。

预测只针对2014年到2015年的时间段,而我知道完整的数据集是到2018年的。

调和模型的预测应该有误差,这是目前开发版的行为。请注意,您的 forecast() new_data 参数包含148个时间序列,但您却从181个模型中生成了预测。这是因为所要求的预测只针对底层序列(aus_retail_2013_vl 尚未汇总)。)

PS. 试图对一个固定的地平线进行预测,结果会出现错误。

Error: Reconciliation of non-normal forecasts is not yet supported.
Run `rlang::last_error()` to see where the error occurred.```

这是因为您的模型有一个对数变换的响应变量,当对其进行反变换时,会产生具有对数正态分布的预测。概率预测调和是很困难的,目前只对正态分布实现了调和。我将在点预测上添加调和作为后备(https:/github.comtidyvertsfabletoolsissues216。).

© www.soinside.com 2019 - 2024. All rights reserved.