statsmodels arma(1,0)与AR(1)不匹配

时间:2017-01-28 23:14:58

标签: python statsmodels

有人可以解释为什么ARMA(1,0)模型与AR匹配maxlags = 1不匹配吗?这些模型的不同之处是什么?

a = [ 6.12970357,  6.13318109,  6.12992128,  6.1273058 ,  6.12839643,
            6.12424563,  6.11080196,  6.10680013,  6.0860927 ,  6.07901746,
            6.0872292 ,  6.08381584,  6.08107671,  6.08881808,  6.06819407,
            6.06471499,  6.0537349 ,  6.05255967,  6.04334514,  6.03572065]


ar1model = ar_model.AR(a).fit(maxlag=1)
ar1model.params

数组([ - 0.09735684,1.01516508])

model10=ARMA(a, (1,0)).fit()
model10.params

数组([6.08423432,0.97711525])

1 个答案:

答案 0 :(得分:2)

我的猜测是,ARMA通过重新参数化强加了平稳性,而AR却没有。

此外,ARMA常数是长期平均值,而AR常数来自动态方程y_t = const + b * y_{t-1}。在具有|b| < 1的固定AR(1)中,长期常数将为const / (1 - b)

ARMA模型的参数化是以残差为基础的,即它是具有ARMA误差的回归模型:

A(L)(y_t-const)= B(L)u_t

或ARMA(1,0)案例

y_t - const - b(y_ {t-1} - const)= u_t 或为y_t写的 y_t = b y_ {t-1} - (1 - b)const + u_t

请参阅示例https://jsfiddle.net/Leankppt/http://robjhyndman.com/hyndsight/arimax/以了解两种可能的参数化。

结果差异的其他来源,特别是在小样本中可能是不同的默认初始化或不同的默认估计算法,并且在病态条件问题中,起始值也可能对最终结果产生影响。 一般来说,AR和ARMA都假设过程是静止的,而结果表明根是一个并且可能不是静止的。也许估计差异系列会产生更好的结果。

(我对statsmodels中的AR实现并不熟悉。)

相关问题