statsmodels ARIMA(2,0,0)模型截距异常及预测值不符问题咨询
AR(2)模型截距异常与预测值不符的问题解析
核心问题1:样本内预测值与手动计算不一致
你手动计算时用错了模型公式,statsmodels中ARIMA(order=(2,0,0), trend='c')采用中心化AR模型参数化方式,而非传统直接带截距的AR模型:
- 模型形式:$y_t = \mu + \phi_1(y_{t-1} - \mu) + \phi_2(y_{t-2} - \mu) + \epsilon_t$
- 输出中看到的
const是模型的长期均值$\mu$,不是传统AR模型里的截距项$c$
用你的数据代入正确公式计算$\hat{y}_2$:
mu = 14.06954533 phi1 = 0.88128907 phi2 = 0.11529613 y0 = 19.75569153 y1 = 18.71735656 y_hat2 = mu + phi1*(y1 - mu) + phi2*(y0 - mu) # 计算结果≈18.831,与输出的18.82120122几乎一致,误差来自参数四舍五入
也可以用等价的传统AR模型形式计算,此时传统截距项$c = \mu(1 - \phi_1 - \phi_2)$:
c = mu*(1 - phi1 - phi2) # ≈14.0695*0.003415≈0.0478 y_hat2 = c + phi1*y1 + phi2*y0 # ≈18.8208,同样匹配预测值
核心问题2:截距(const=14.0695)看起来过大
这个const不是传统意义上的截距,而是模型的长期均值$\mu$,它的大小由AR系数之和决定:
- 你的AR系数之和$\phi_1+\phi_2=0.8813+0.1153=0.9966$,非常接近1,说明序列接近单位根过程(ADF检验p值0.046,刚好在5%显著性水平边缘)
- 根据模型参数关系,$\mu = \frac{c}{1 - \phi_1 - \phi_2}$,由于分母$1-\phi_1-\phi_2≈0.0034$极小,即使传统截距$c$很小(约0.0478),$\mu$也会被放大到14左右
这是模型参数化的数学结果,并非异常,实际反映了序列接近非平稳时的均值估计特性。
额外验证
输出的第一个预测值14.06954533是t=0的预测——由于没有滞后观测值,模型直接用长期均值$\mu$作为预测;第二个预测值19.73374402是t=1的预测,用公式$\hat{y}_1 = \mu + \phi_1(y_0 - \mu)$计算,结果与输出一致(误差来自参数精度)。
内容的提问来源于stack exchange,提问作者James
相关产品推荐
相关产品推荐

