簡體   English   中英

tidyverts 中的分層建模/協調問題

[英]Problems with hierarchical modelling/reconciliation in tidyverts

我正在嘗試按照Rob Hyndman 的 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()

plot 的 output 如下。

在此處輸入圖像描述

我的主要問題是:

  • 和解實際上似乎根本沒有改變預測。 圖片表明arar_adj行是相同的。
  • 預測僅適用於 2014 年至 2015 年的時間段,而我知道完整的數據集到 2018 年。

我該如何解決這些問題? 后一個可能是因為並非所有時間序列都涵蓋整個時期,但我怎樣才能reconcile不跳過缺失的時期?

這是 dplyr 0.8.5、fable 0.2.0、fabletools 0.1.3 和 tsibble 0.8.6。 我在 Ubuntu/R 3.6.3 和 Windows 10/R 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.

這些問題是錯誤(或者更多的是當前對帳實施的 scope)。 您可以通過包的 BugReports URL ( https://github.com/tidyverts/fabletools/issues ) 報告這些問題。

我的主要問題是:

和解實際上似乎根本沒有改變預測。 圖片表明 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.```

這是因為您的 model 具有對數轉換的響應變量,該變量在進行反向轉換時會產生具有對數正態分布的預測。 概率預測協調很困難,目前僅針對正態分布實施。 我將添加對點預測的協調作為后備( https://github.com/tidyverts/fabletools/issues/216 )。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM