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

如何在fable包中使用新训练数据重拟合已训练的ARIMA模型

解决方案

fable框架下已拟合的模型对象(mable类型)本身存储了完整的模型结构定义,不需要额外传入原始公式,你可以用fabletools::refit()函数直接完成新数据上的重拟合,这是最简洁的实现方案。

方法1:直接使用refit()函数(推荐)

refit()就是专门设计用来在新数据集上复用已有模型结构重拟合的接口,不需要手动提取公式,默认会保留原模型已经确定的阶数、正则项等配置,仅用新数据重估参数,完全匹配步进交叉验证的使用场景:

# 首先把新训练数据转为和原始数据结构一致的tsibble
# 需包含相同的索引列、解释变量x和响应变量y
new_tsibble <- as_tsibble(new_training_data)

# 直接传入已拟合的my_arima完成重拟合
refit_arima <- refit(my_arima, new_data = new_tsibble)

方法2:手动提取模型定义重拟合

如果需要更灵活的自定义操作,也可以从已拟合的mable对象中提取模型定义,再传入model()完成拟合:

library(fabletools)

# 从已拟合模型中提取完整模型定义
model_def <- my_arima %>% extract_model_def()

# 新数据转tsibble后用提取到的定义拟合
refit_arima <- as_tsibble(new_training_data) %>%
  model(!!model_def)

注意事项

  • 两种方法都不需要提前持有原始拟合公式,所有模型结构信息都从已传入的已拟合模型对象中读取,符合你的函数入参要求。
  • 传入的new_training_data需要和原始训练数据的变量名、tsibble索引结构完全一致,否则会拟合失败。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.30 19:15:06