模拟 ar(2) 模型产生错误信息

Simulating ar(2) model generates an error message

我是模拟的新手,尤其是在时间序列方面,所以如果这个问题看起来太幼稚,我深表歉意。我试图理解为什么模拟这个 ar(2) 模型会产生错误:

arima.sim(list(order = c(2, 0, 0), ar = c(0.7, 0.3)), n = time_n, sd=0.2) 
Error in arima.sim(list(order = c(2, 0, 0), ar = c(0.7, 0.3)), n = time_n,  : 
  'ar' part of model is not stationary

任何指针将不胜感激!

根据理论(例如参见here),为了使自回归模型平稳,如果r是自回归多项式

的根
1 - phi_1 x - phi_2 x ...

然后

The linear AR(p) process is strictly stationary and ergodic if and only if |rj|>1 for all j, where |rj| is the modulus of the complex number rj.

你的情况

polyroot(c(1, -0.7, -0.3))

给出 (1,-3.333)

事实上,这是arima.sim中的实际代码:

  minroots <- min(Mod(polyroot(c(1, -model$ar))))
    if (minroots <= 1) 
        stop("'ar' part of model is not stationary")

查看模式并懒得计算数学,我怀疑 AR2 的标准转换为 (ph1 + phi2 < 1)。