首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >tidyverts中的分层建模/协调问题

tidyverts中的分层建模/协调问题
EN

Stack Overflow用户
提问于 2020-05-23 05:41:18
回答 1查看 682关注 0票数 7

我试图按照Rob的Rstudio.conf讲习班的方式进行分层预测,并遇到了一些问题。这是我的代码:

代码语言:javascript
复制
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()

这幅图的输出如下。

我的主要问题是:

  • 实际上,这一调整似乎根本没有改变预测。图显示arar_adj行是相同的。
  • 预测仅为2014年至2015年,而我知道整个数据集将持续到2018年。

我怎么才能修好这些?后一种情况可能是因为并不是所有的时间序列都涵盖整个期间,但是我如何才能使reconcile不跳过缺失的时间段呢?

这是与dplyr 0.8.5,寓言0.2.0,神话工具0.1.3和tsibble0.8.6。我在Ubuntu/R3.6.3和Windows 10/R4.0.0上都得到了相同的结果。

PS。试图预测一个固定的地平线会导致一个错误:

代码语言:javascript
复制
> 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.
EN

回答 1

Stack Overflow用户

发布于 2020-06-11 14:53:05

这些问题都是错误(或者更多--因此超出了当前协调实现的范围)。您可以通过包的BugReports URL (https://github.com/tidyverts/fabletools/issues)报告这些信息。

我的主要问题是: 实际上,这一调整似乎根本没有改变预测。图片显示,ar和ar_adj线是相同的。 预测仅为2014年至2015年,而我知道整个数据集将持续到2018年。

对协调后的模型的预测应该是错误的,这是开发版本中当前的行为。请注意,您的forecast() new_data参数包含148个时间序列,但是您正在从181个模型中生成预测。这是因为所要求的预测仅用于底层序列(aus_retail_2013_vl尚未进行汇总)。

PS。试图预测一个固定的地平线会导致一个错误: 错误:对非正常预测的调节尚未得到支持。运行rlang::last\_error()以查看错误发生的位置。`

这是因为您的模型有一个日志转换响应变量,当返回转换时,该变量生成具有logNormal分布的预测。概率预测调节是困难的,目前只为正态分布实现。我将在点预测的基础上加入调整,作为一个倒退(https://github.com/tidyverts/fabletools/issues/216)。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/61967954

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档