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

如何使用已拟合的pmdarima SARIMA模型对其他时间序列进行预测

可以实现该需求,核心逻辑是复用已拟合SARIMA模型的阶数配置和训练得到的系数参数,加载到新的模型实例中对新序列做预测,全程不会重新拟合参数,完全复用原有训练结果。

你可以参考以下代码实现你需要的predict_for功能:

from pmdarima import ARIMA

def predict_for(fitted_model, new_series, n_periods):
    # 提取原模型的阶数配置(p,d,q 和 季节性P,D,Q,m)
    order = fitted_model.order
    seasonal_order = fitted_model.seasonal_order
    # 提取原模型已拟合得到的所有系数参数
    fitted_params = fitted_model.params()
    # 初始化同配置的新模型,关闭自动拟合
    new_model = ARIMA(
        order=order,
        seasonal_order=seasonal_order,
        suppress_warnings=True
    )
    # 用新序列和原模型参数初始化,maxiter=0保证不重新训练参数
    new_model.fit(new_series, start_params=fitted_params, maxiter=0)
    # 输出指定步长的预测结果
    return new_model.predict(n_periods=n_periods)

调用方式和你预期的完全一致:

# 其他完全独立的时间序列
some_other_series = train + np.random.randint(0, 5000, len(train))
N = 12 # 预测未来12步结果
forecasts = predict_for(model, some_other_series, N)

使用时需要注意以下限制:

  • 新时间序列需要和原训练序列做相同的预处理逻辑,比如原序列拟合前做过对数变换、标准化等操作,新序列也需要做相同处理
  • 新序列的平稳性需要和原模型的差分阶数匹配,比如原模型d=1代表原序列一阶差分后平稳,新序列也需要满足一阶差分后平稳,否则预测结果会出现严重偏差
  • 如果原模型拟合时传入了外生变量,预测新序列时也需要传入对应长度、维度一致的外生变量

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.04 22:30:01