【问题标题】:Simulating ar(2) model generates an error message模拟 ar(2) 模型会生成错误消息
【发布时间】:2022-01-08 18:20:00
【问题描述】:

我是模拟新手,尤其是在时间序列方面,所以如果这个问题看起来过于幼稚,我深表歉意。我试图理解为什么模拟这个 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

任何指针将不胜感激!

【问题讨论】:

    标签: r error-handling time-series autoregressive-models


    【解决方案1】:

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

    1 - phi_1 x - phi_2 x ...
    

    然后

    线性 AR(p) 过程是严格平稳和遍历的 当且仅当 |rj|>1 对于所有 j,其中 |rj|是模数 复数 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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2017-08-19
      • 1970-01-01
      • 2011-01-09
      • 1970-01-01
      • 2012-01-12
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多