You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何从modeltime递归集成模型中提取置信区间并完成校准

问题解答

1. 拟合值、置信值、残差提取方式

  • 测试集拟合值:运行modeltime_calibrate()得到校准表后,表中.calibration_data列嵌套的数据内,.prediction字段即为测试集上的拟合值,可通过unnest(.calibration_data)拆出使用,和实际值字段.actual一一对应
  • 训练集拟合值:调用modeltime_forecast(new_data = train_data),返回结果中的.value字段即为训练集上的拟合值
  • 残差:校准完成后直接从.calibration_data的.residuals字段提取
  • 置信值:调用modeltime_conf_interval(calibrated_mod)直接提取,也可以在调用modeltime_forecast()时同步生成

2. 递归集成模型校准失败解决方案

报错原因

你提供的代码中,测试集test_data是从已经完成滞后特征计算的m4_lags中提取的,而递归模型的预测逻辑会自动调用指定的transform函数生成所需滞后特征,提前生成的滞后特征会和递归逻辑产生冲突,最终导致校准失败。

修复后的核心代码调整

仅需要修改测试集的构造逻辑即可:

# 从无滞后特征的原始数据中提取测试集,不要使用m4_lags
test_data <- m4_extended %>%
  group_by(id) %>%
  slice_tail(n = 12) %>%
  ungroup()

# 其余代码保持不变,校准即可正常运行
calibrated_mod <- model_tbl %>%
  modeltime_calibrate(test_data, id = "id", quiet = FALSE)

额外注意事项

如果调整后仍有报错,将modeltime、modeltime.ensemble、timetk三个包升级到最新版本即可,旧版本对递归集成模型的校准适配存在已知缺陷。

内容的提问来源于stack exchange,提问作者LGe

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.24 04:15:07