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

Python中ARIMA预测报错:too many values to unpack (expected 3)求助

解决ARIMA forecast解包报错问题

错误原因

在新版本的statsmodels(>=0.13.0)中,fitted.forecast()方法不再返回(fc, se, conf)三个独立值,而是返回一个包含预测值的Series对象。用三个变量去解包这个单一对象,就会触发ValueError: too many values to unpack (expected 3)。

修正方案

使用get_forecast()方法替代forecast(),该方法返回的ForecastResults对象可直接提取预测值、标准误和置信区间:

import statsmodels.api as smapi
import pandas as pd

# 模型训练部分保持不变
model = smapi.tsa.arima.ARIMA(train_data, order=(1,1,0))
fitted = model.fit()
print(test_data.shape)

# 替换原forecast调用
forecast = fitted.get_forecast(638, alpha=0.05)
fc = forecast.predicted_mean
se = forecast.se_mean
conf = forecast.conf_int()

# 后续代码无需修改
fc_series = pd.Series(fc, index=test_data.index)
lower_series = pd.Series(conf[:, 0], index=test_data.index)
upper_series = pd.Series(conf[:, 1], index=test_data.index)

补充说明

如果需要更精细的预测区间控制,也可以用get_prediction()方法指定预测的起始和结束位置(对应训练集结束后到测试集末尾的区间):

# 从训练集结束位置开始,预测638个值
pred = fitted.get_prediction(start=len(train_data), end=len(train_data)+637, alpha=0.05)
fc = pred.predicted_mean
conf = pred.conf_int()

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.15 11:06:09