不排除单位根的r-JAGS AR(1)估计



我正在使用JAGS为ARMA模型运行贝叶斯分析。我的数据是模拟数据,所以我知道结果。

到目前为止,如果我估计(例如)一个平稳的AR(1)过程,我对自回归参数得到了很好的结果。

现在,我有一个时间序列,在观察了一半之后,它有一个单位根。所以1:500平稳AR(1)(具有自回归参数0.3),500:1000单位根。我的目标是得到一个密度,它的质量在平稳自回归参数的值上(例如0.3),质量在单位根值上(大约为1)。我想证明一个单位根在时间序列的一部分。。。

我的期望是,如果我对像rho1~dunif(-10,10)这样的自回归参数使用非形成一致先验,我应该在这两个值上都得到质量。真正发生的是,我只得到介于0.6之间的质量

  • 我应该为自回归项使用不同的先验吗?我还有哪些非中心化的可能性
  • GIBBS采样器如何可能穿过平稳和非平稳部分,但直方图在0.3(平稳ar参数)和单位根周围没有绘制观测值

*编辑:

发布代码有点困难,因为它同时使用R和JAGS。以下是JAGS型号。我使用这个JAGS模型来估计以下具有1000个观测值的时间序列:1:500 AR(1)过程:y=α+rho1*y[I-1],其中rho1=0.2,α=0。对于501:1000,时间序列具有单位根(随机游动)。

    model  {
    for (i in 2:N)  
{   
y[i]~dnorm(f[i],tau)
f[i] <- alpha + rho1*y[i-1]
    }
rho1~dunif(-10,10)
tau~dgamma(0.001,0.001)
alpha~dnorm(0,0.001)
}

您定义了一个参数,但您希望它根据情况采用两个单独的值中的任何一个。参数不是这样工作的。吉布斯采样器不会分别"遍历"静止和非静止部分。它观察了整个模型,并意识到,给定非平稳部分,0.3的值极不可能,而给定平稳部分,1的值同样不可能。因此,它从后验分布中采样,给定所有数据,它能做的最好的事情是在0.3到1之间。

您需要两个单独的参数,一个用于静止部分,另一个用于非静止部分。由于您先验地知道哪些部分是哪个,因此这对于编码来说应该是微不足道的:

model  {
for (i in 2:500)  
{   
y[i]~dnorm(f[i],tau)
f[i] <- alpha + rho1*y[i-1]
}
for (i in 501:N)  
{   
y[i]~dnorm(f[i],tau)
f[i] <- alpha + rho2*y[i-1]
}
rho1~dunif(-10,10)
rho2~dunif(-10,10)
tau~dgamma(0.001,0.001)
alpha~dnorm(0,0.001)
}

最新更新