2

我正在尝试使用 tidyverts 包(tsibble、feasts、fable)进行一些时间序列分析。我正在按照这里的教程进行操作。数据是十年的每日计数。

> summary(mockTsib)
      Date            CallTypeCode           calls       
 Min.   :2010-01-01   Length:11181       Min.   :  0.00  
 1st Qu.:2012-07-20   Class :character   1st Qu.:  7.00  
 Median :2015-02-07   Mode  :character   Median : 21.00  
 Mean   :2015-02-07                      Mean   : 32.71  
 3rd Qu.:2017-08-27                      3rd Qu.: 58.00  
 Max.   :2020-03-15                      Max.   :148.00 

我有一个带有一个键列、三行和两列模型(ets 和 arima)的 mable。

> mockMod
# A mable: 3 x 3
# Key:     CallTypeCode [3]
  CallTypeCode ets          arima                   
  <chr>        <model>      <model>                 
1 A            <ETS(A,N,A)> <ARIMA(2,1,1)(0,0,2)[7]>
2 B            <ETS(A,N,A)> <ARIMA(2,1,2)(1,0,0)[7]>
3 S            <ETS(A,N,A)> <ARIMA(0,1,2)(2,0,0)[7]>

当我通过管道到 predict() 来预测 30 天的数据时,我收到以下错误:

> mockMod %>% forecast(h = 30)
Error: Can't slice a scalar

但是,当我将模型列直接传递给预测()时,似乎没有问题。

etsPredictions <- mockMod$ets %>% forecast(h = 30)
arimaPredictions <- mockMod$arima %>% forecast(h = 30)

然后我可以手动构建寓言,但这真的很痛苦,而且我担心我会跳过一个我不理解的错误。

谁能帮我理解这个错误?

4

0 回答 0