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

auto_arima对不同预测周期返回相同结果的问题如何解决?

问题原因

你得到的两个周期预测值完全相同,是当前选出的模型结构本身的固有特性,不是代码逻辑错误。
你最终拟合的是**ARIMA(0,1,1)**模型,也就是1阶差分+仅含1阶移动平均项、不含自回归项的时序模型。这个模型的数学表达式为:
Δy_t = ε_t + θ*ε_{t-1}
其中Δy是一阶差分后的序列,ε是残差项。当你做未来多步预测时,未来的残差项期望为0,所有超过1步的预测值都会收敛到固定常数,所以第1、2步的预测结果完全一致。

auto_arima配置的可优化点

你的配置存在两处不合理的地方:

  • 同时设置了seasonal=True和m=1:m参数代表序列的季节性周期长度,m=1说明序列无周期性,此时开启季节性参数完全无效。如果你的数据存在已知的周期规律(比如周度周期m=7、月度周期m=12),要把m修改为对应的周期值,才能让季节性模型生效。
  • 小样本下自动选模容易偏向简单结构:你的数据集只有32条观测值,auto_arima默认以AIC为选模标准,结构复杂的模型(比如带自回归项、季节性项的模型)在小样本下AIC会更高,所以自动选到了结构最简单的ARIMA(0,1,1),未必是最贴合数据规律的模型。

解决方法

你可以根据自己的业务场景选以下任意一种方案调整:

  • 修正季节性配置:如果数据有明确季节性,把m改成对应周期长度,保留seasonal=True,自动选模会优先考虑SARIMA类模型,这类模型的多步预测不会是固定常数。
  • 手动调整模型阶数:不要完全依赖自动选模,你可以直接尝试拟合带自回归项的模型,比如ARIMA(1,1,1),只要自回归项p≥1,多步预测就会根据历史值递推,结果会有差异。
  • 换用更适配小样本的模型:可以试试霍尔特指数平滑、Prophet等对小样本更友好的时序预测模型,也能避免多步预测重复的问题。
  • 扩大样本量:如果能获取更多历史数据,样本量充足的情况下auto_arima也更容易选出拟合效果更好、结构更合理的模型。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.26 03:24:01