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

为何Python Statsmodels中ARIMA在d≠0时默认无常数项?

为什么statsmodels的ARIMA在d≠0时默认无常数项?

首先得明确ARIMA的核心逻辑:ARIMA(p,d,q)本质是对原序列做d次差分,得到平稳序列后再用ARMA(p,q)建模。这个设定的原因主要有以下几点:

  • 差分的核心目的是消除趋势:我们做差分就是为了把非平稳的趋势序列转换成平稳序列,平稳序列的核心特征之一是均值恒定。如果给差分后的平稳序列加常数项,相当于给原序列强行引入一个确定性的线性趋势——因为差分序列加常数,积分回去就是原序列多了一条直线趋势。但ARIMA的默认假设是:原序列的非平稳性来自随机趋势(比如随机游走),而非确定性的线性趋势,所以不需要额外加常数项。如果确实存在确定性趋势,你可以手动通过trend='c'参数添加。

  • 避免模型误设:如果在d≠0时默认加常数项,很可能会让差分后的序列偏离平稳假设(因为常数项会改变差分序列的均值,导致它不再是零均值平稳过程),进而让后续的ARMA建模失去统计合理性。把是否加常数项的选择权交给用户,能避免这种不必要的误设。

  • 遵循经典时间序列建模传统:绝大多数经典教材里,当用差分处理非平稳序列时,都假设差分后的平稳序列是零均值的,对应的ARMA模型不需要常数项。statsmodels的实现延续了这个传统,保证和主流理论框架一致。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.02 10:05:35