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

Python statsmodels ARIMA plot_predict如何提取生成的预测数据

解决方法

plot_predict本质是调用预测接口生成数值后再渲染图表,你可以直接调用ARIMAResults的内置方法提取对应预测数值,步骤如下:

步骤1:提取预测数值

假设你训练完成的ARIMA结果对象名为arima_result,预测周期为5年(对应5个步长),可根据需求选择两种提取方式:

  • 方式1:获取和plot_predict输出完全对齐的数值(支持包含历史拟合区间)
    传入和你调用plot_predict时完全一致的start、end参数即可:
    # start为预测起始时间、end为预测结束时间(可覆盖历史+未来区间)
    pred_all = arima_result.predict(start=你的预测起始时间, end=你的预测结束时间)
    
  • 方式2:仅提取未来5年的预测值+置信区间(更适合导出给Power BI使用)
    n_forecast = 5
    # 生成未来n期预测结果对象
    forecast_res = arima_result.get_forecast(steps=n_forecast)
    # 提取预测均值
    forecast_mean = forecast_res.predicted_mean
    # 提取95%置信区间上下限,可通过alpha参数调整置信度
    forecast_ci = forecast_res.conf_int(alpha=0.05)
    

步骤2:导出为Power BI可识别的格式

方案A:本地导出CSV后导入Power BI

import pandas as pd
# 合并所有数据为结构化DataFrame
forecast_df = pd.DataFrame({
    "预测值": forecast_mean,
    "95%置信区间下限": forecast_ci.iloc[:, 0],
    "95%置信区间上限": forecast_ci.iloc[:, 1]
})
# 把时间索引转为普通列,方便Power BI识别时间字段
forecast_df = forecast_df.reset_index().rename(columns={"index": "日期"})
# 导出为UTF-8编码的CSV,避免中文乱码
forecast_df.to_csv("ARIMA未来5年预测结果.csv", index=False, encoding="utf-8-sig")

导出完成后直接在Power BI中选择「获取数据>文本/CSV」即可导入该文件。

方案B:直接在Power BI中调用Python脚本生成数据

你可以把训练ARIMA模型+生成预测DataFrame的代码直接复制到Power BI的「获取数据>Python脚本」输入框中,代码最后输出forecast_df即可,Power BI会自动识别该DataFrame作为可用数据源。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.04 13:27:02