精度函数的 ACF1 的空结果

Null result for ACF1 from accuracy function

我将一个原始模型拟合到一个时间序列,但 ACF1 列为空。我认为它应该总是有一个数值结果,因为它只是一个相关性?为什么这是空的? 以下是我的代码:

library('fable')
library('feasts')
library('dplyr')

df = data.frame("t" = 1:7, "value" = c(12, 12, 0, 0, 0, 0, 0))
tsb = df %>%
  as_tsibble(index = t)
train = tsb %>% filter(t < 6)

md = train %>% model(naive = NAIVE(value))
fc = md %>% forecast(h = 4)
accuracy(fc, tsb)

谢谢!

P.s.: 这是这个问题的后续问题:

您有四个预测,但测试集中只有 2 个值,因此 accuracy 只能使用前 2 个预测。这给了它 2 个预测误差,并且不可能从 2 个值计算自相关。

这是一个在测试集中有四个值的例子:

library(fable)
library(dplyr)

tsb <- data.frame(
    t = 1:9,
    value = c(12, 12, 0, 0, 0, 0, 0, 1, 1)
  ) %>%
  as_tsibble(index = t)

md <- tsb %>%
  filter(t < 6) %>%
  model(naive = NAIVE(value))
md %>%
  forecast(h = 4) %>%
  accuracy(data = tsb)
#> # A tibble: 1 x 9
#>   .model .type    ME  RMSE   MAE   MPE  MAPE  MASE  ACF1
#>   <chr>  <chr> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl>
#> 1 naive  Test    0.5 0.707   0.5   100   100 0.167  0.25

reprex package (v0.3.0)

于 2020-08-16 创建