modeltime递归面板数据提取置信区间与残差全为NA问题求助
问题原因
- 基模型配置的递归面板参数不会自动继承给集成模型对象,集成模型默认使用单时间序列预测逻辑,在面板数据场景下预测结果异常,导致残差无法计算、依赖残差分布的置信区间输出为NA。
- 对基模型校准提取残差时未传入
id参数,modeltime默认走单序列校准逻辑,面板场景下计算异常。
修复步骤
1. 给集成模型补充递归面板配置
生成加权集成模型后,和基模型一样调用recursive()配置分组递归参数:
# ensemble ensemble_fit <- data_models %>% ensemble_weighted(loadings = c(4, 6)) %>% # 补充递归面板配置,参数和基模型保持一致 recursive( transform = lag_transformer_grouped, train_tail = panel_tail(train_data, id, FORECAST_HORIZON), id = "id" )
2. 基模型残差提取时补充id参数
调用modeltime_calibrate()时传入id参数适配面板数据:
residuals_method2 <- data_models %>% modeltime_calibrate(new_data = test_data, id = "id") %>% modeltime_residuals()
修改完成后重新运行校准和预测逻辑,残差即可正常提取,事前预测的conf_hi、conf_lo列也会正常输出置信区间值。
内容的提问来源于stack exchange,提问作者LGe
相关产品推荐
相关产品推荐

