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

pmdarima的auto_arima预测时报NaN/inf值错误如何排查

问题排查与解决方案

错误根源

  • 报错并非来自输入的时间序列ts,而是自动参数搜索选出的ARIMA(3,2,2)模型数值不稳定,导致预测阶段计算置信区间时生成了无穷大值,触发scikit-learn的数值校验报错
  • 你的时间序列仅包含11个样本点,经过2阶差分后仅剩9个有效样本,却需要拟合3个自回归系数+2个移动平均系数,参数过多导致自由度严重不足。搜索日志里出现的异常低AIC值(12)、大量AIC=inf记录,本身就是短数据支撑高参数模型时数值不稳定的典型信号

修复方案

你可以任选以下一种方式解决问题:

  1. 限制ARIMA的参数搜索范围,给auto_arima添加max_p、max_q参数,控制参数数量适配短序列,避免选出参数过多的不稳定模型:
model = pmd.auto_arima(ts, start_p=1, start_q=1, test="adf", max_p=2, max_q=1)
  1. 关闭预测时的置信区间计算,调用predict时添加参数return_conf_int=False,跳过导致报错的置信区间校验逻辑,直接获取预测值:
est = model.predict(1, return_conf_int=False)[0]
  1. 补充时间序列样本量,ARIMA模型建议至少有30个以上的历史样本才能保证参数估计的稳定性,当前11个样本的长度本身不适合使用复杂度较高的ARIMA模型。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.06 16:39:03