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

如何获取Nixtla statsforecast拟合模型的参数与模型摘要?

StatsForecast AutoARIMA:参数提取、情景分析与摘要生成

1. 取出拟合后的模型实例

当你用StatsForecast完成模型拟合后,通过get_model()方法可以拿到AutoARIMA的具体模型对象:

# 假设已经执行完sf.fit(df=y, X=X)的拟合步骤
arima_model = sf.get_model('AutoARIMA')

2. 提取模型规格与参数

StatsForecast的AutoARIMA拟合完成后,核心参数都存储在*model_*属性中,直接调用即可获取:

  • 自动选中的ARIMA阶数:arima_model.model_.order(返回(p,d,q)元组)
  • 季节性阶数:arima_model.model_.seasonal_order(返回(P,D,Q,s)元组)
  • 外部回归因子的系数:arima_model.model_.coef_
  • 模型截距:arima_model.model_.intercept_
  • 所有模型参数(含AR项、MA项、季节性项、回归系数):arima_model.model_.params

3. 修改回归因子参数做情景分析

如果要固定ARIMA的阶数,仅调整外部回归因子的系数进行情景预测,无需再用AutoARIMA自动选阶,直接使用固定阶数的ARIMA模型即可:

from statsforecast.models import ARIMA

# 先获取AutoARIMA自动选定的阶数
p, d, q = arima_model.model_.order
P, D, Q, s = arima_model.model_.seasonal_order

# 自定义情景所需的新回归系数和截距
new_coef = [1.2, 0.8]  # 替换为你需要的情景系数
new_intercept = 0.5

# 构建固定参数的ARIMA模型
custom_arima = ARIMA(
    order=(p, d, q),
    seasonal_order=(P, D, Q, s),
    intercept=new_intercept,
    coef=new_coef
)

# 传入新的外部回归因子数据生成情景预测
sf_custom = StatsForecast(models=[custom_arima], freq='M')
scenario_forecasts = sf_custom.predict(h=12, X=X_scenarios)

4. 生成研究用模型摘要

StatsForecast目前没有内置的summary()方法,但可以手动提取关键指标整理成结构化摘要:

import pandas as pd

summary_info = {
    '模型类型': ['AutoARIMA'],
    'ARIMA阶数(p,d,q)': [arima_model.model_.order],
    '季节性阶数(P,D,Q,s)': [arima_model.model_.seasonal_order],
    '截距项': [arima_model.model_.intercept_],
    '外部回归因子系数': [arima_model.model_.coef_],
    'AIC': [arima_model.model_.aic],
    'BIC': [arima_model.model_.bic]
}

summary_df = pd.DataFrame(summary_info)
print(summary_df)

如果需要残差诊断类细节,可以通过arima_model.model_.resid获取残差序列,自行计算统计指标或绘制诊断图。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.03 01:31:20