有人能解释为什么ARMA(1,0)模型与maxlags=1的AR拟合不匹配吗?这些模型有什么不同之处?在
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])
^{pr2}$数组([6.08423432,0.97711525])
我的猜测是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-1}-(1-b)常数+u\t
请参见示例http://robjhyndman.com/hyndsight/arimax/和http://robjhyndman.com/hyndsight/arimaconstants/,了解两个可能的参数化。在
结果差异的其他来源,特别是在小样本中,可能是不同的默认初始化或不同的默认估计算法,在病态问题中,起始值也可能对最终结果产生影响。 一般而言,AR和ARMA都假设过程是平稳的,而结果表明根在1附近,可能不是平稳的。估计差分序列可能会产生更好的结果。在
(我不太熟悉statsmodels中的AR实现。)
相关问题 更多 >
编程相关推荐