0

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

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() 和 summarise() 的情况下仅通过模型按模型提取这些指标。

非常感谢。

4

1 回答 1

0

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

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

于 2020-01-29T06:10:22.193 回答