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

如何让statsmodels中ARIMA与ARMA构建的AR(1)模型结果一致

问题原因

你用到的两个接口分属statsmodels不同时期的实现:statsmodels.tsa.arima_model.ARMA是已废弃的传统时间序列模型实现,statsmodels.tsa.arima.model.ARIMA是基于状态空间框架重构的新实现,二者默认的估计逻辑、初始值处理、优化路径存在差异,因此同参数配置下结果不一致。

需要调整的配置

要让新接口输出和旧接口对齐,需要修改以下默认参数:

  • 显式指定趋势项为常数项trend='c',和旧接口默认配置保持一致
  • 估计方法指定为css-mle:旧接口fit()默认先以条件和平方计算初始参数,再执行精确极大似然优化,新接口需要手动指定该估计方法
  • 状态空间初始值设置为initialization='conditional':新接口默认使用近似漫初始化,和旧接口的条件初始值逻辑不一致,需要手动修改
  • 显式开启平稳性、可逆性约束enforce_stationarity=True、enforce_invertibility=True,和旧接口默认约束对齐

修改后代码示例

from statsmodels.tsa.arima.model import ARIMA
new_model_ar = ARIMA(
    df['market_value'],
    order=(1, 0, 0),
    trend='c',
    enforce_stationarity=True,
    enforce_invertibility=True,
    initialization='conditional'
)
new_results_ar = new_model_ar.fit(method='css-mle')
new_results_ar.summary()

补充说明

修改后如果仍存在1e-6级别的微小数值差异,属于两个实现优化器迭代终止阈值不同导致的浮点精度误差,不会影响统计推断结论,可忽略。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.03 00:06:03