使用 AICc 使用 TSLM 选择滞后预测变量

selecting lagged predictors with TSLM using AICc

我正在尝试确定要包含在我的时间序列模型中的滞后预测变量。所以我安装了一个自变量滞后 3 的 TSLM

lag_models <- data_train %>% model(
    ts_lag_0 = TSLM(Y ~ X)
  , ts_lag_1 = TSLM(Y ~ X + lag_X_01)
  , ts_lag_2 = TSLM(Y ~ X + lag_X_01 + lag_X_02)
  , ts_lag_3 = TSLM(Y ~ X + lag_X_01 + lag_X_02 + lag_X_03)
 )

data_train 包含交叉验证数据。

lag_models %>% glance()

运行 上面的代码,我通过 .id 的滞后预测模型得到 AIC、AICc、BIC 等。我想知道是否可以仅通过模型而不使用 group_by() 和 summarize().

按模型提取这些指标

非常感谢。

使用交叉验证时,您是在每个 fold/slice 数据上估计一个模型。 因此,您将收到每个估计模型的一组汇总统计数据(AIC、AICc、BIC 等)。如果您要使用 group_by() 和 summarise() 将它们组合起来,您会将来自模型的摘要信息与不同的响应数据组合在一起 - 不建议这样做,因为当响应数据不同时,信息标准不可比。

如果您想使用交叉验证比较每个模型的性能,您可以使用 accuracy() 使用样本外准确性度量。可以在 https://otexts.com/fpp3/tscv.html

找到使用寓言进行交叉验证准确性评估的示例