如何测量袋装时间序列的 AICc

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

这来自文本预测原理和实践,引导说明,但我不知道如何计算袋装模型的 AICc。

library(fpp3)
library(tidyverse)
cement <- aus_production |>
  filter(year(Quarter) >= 1988) |>
  select(Quarter, Cement)
cement_stl <- cement |>
  model(stl = STL(Cement))

接下来,通过创建多个模拟来计算引导值(我将其设置为 10,以便运行速度更快)

sim <- cement_stl |>
  generate(new_data = cement, times = 10,
           bootstrap_block_size = 8) |>
  select(-.model, -Cement)

到目前为止,这很棒。我们可以做出预测,如下所示:

ets_forecasts <- sim |>
  model(ets = ETS(.sim)) |>
  forecast(h = 12)

接下来我们对预测进行平均,这也是书中的一个简单过程:

bagged <- ets_forecasts |>
  summarise(bagged_mean = mean(.mean))

这就是我被困住的地方。我正在尝试计算 AICc 值,但没有任何效果。例如:

glance(bagged)
accuracy(bagged)
glance(ets_forecasts)
accuracy(object = bagged, data = ets_forecasts)

都会返回错误消息,例如:

Error in UseMethod("glance") : 
  no applicable method for 'accuracy' applied to an object of class "c('tbl_ts', 'tbl_df', 'tbl', 'data.frame')"
r forecasting
1个回答
0
投票

AICc 是基础模型中的可能性和参数数量的函数,因此您需要能够写出模型和可能性。通过装袋,您可以对许多模型进行平均,因此不存在单一的基础模型。您可以通过假设残差为高斯分布来近似似然,但不清楚参数的数量应该是多少。

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