为什么我在使用 aic_min_order 时得到 'The computed initial AR coefficients are not stationary'?

Why I got 'The computed initial AR coefficients are not stationary' while using aic_min_order?

我生成了一些数据,例如 [1, 6, 1, 6, 1, 6] 并在正态分布下添加噪声。我使用 arma_order_select_ic 到 select 命令。然后用aic_min_order来拟合ARMA模型。有时该模型运行良好。但有时它会引发 ValueError。

ValueError: The computed initial AR coefficients are not stationary

这是我的代码。

import statsmodels.api as sm
import numpy as np
x = [1 if i%2 == 0 else 6 for i in range(50)]
eta = np.random.normal(0, 0.01, 50)
x = x + eta
res = sm.tsa.stattools.arma_order_select_ic(x, ic=['aic']) 
print res.aic_min_order
model = sm.tsa.ARMA(x, res.aic_min_order).fit(disp = 0)
print model.predict(45, 55)

是我遗漏了什么还是ARMA不适合这种数据?

ARMA 专为平稳过程而设计,默认情况下对参数估计施加平稳性。

您的数据不稳定,即滞后多项式具有季节性单位根。通常的处理方法是使用季节性差异或确定性季节性模式,例如虚拟变量或样条。

Statsmodels 目前没有自动季节检测和模型选择,但 SARIMAX 可用于季节性集成 ARMA 过程。