我正在尝试在JAGS中构建GARCH(1,1)模型,为简单起见,我们假设均方程遵循AR(1)过程。我正在尝试构建一个允许加入AR(1)和GARCH(1,1)进程的JAGS模型。
目前我只能通过构建2个独立的JAGS模型来实现结果(为简化演示而简化它们)。 第一个JAGS模型估计AR(1)过程的参数:
modelstring="
model {
for (i in 2:n) {
y[i]~dnorm(alpha0+alpha1*y[i-1],1)
}
alpha0 ~ dnorm(alpha0.mean,alpha0.prec)
alpha1 ~ dunif(-1,1)
}
使用参数估计我生成AR(1)过程的数据,获取残差和方差(假设某个窗口):
ALPHA0=summary(output1)$statistics[1]
ALPHA1=summary(output1)$statistics[2]
y_hat=ALPHA0+ALPHA1*y[1:(dim(DATA)[1])]
eps=y-y_hat
window=30
VAR=rep(NA, dim(DATA)[1]-window)
for (i in 1:length(VAR)){
VAR[i]=var(eps[i:(i+window)])
}
下一个块是JAGS中的GARCH(1,1)散文:
modelstring="
model {
for (i in 2:n) {
Var[i]~dnorm(beta0+beta1*Var[i-1]*+beta2*eps[i-1]^2,1)
}
beta0 ~ dnorm(beta0.mean,beta0.prec)
beta1 ~ dunif(0,1)
beta2 ~ dnorm(0,1-beta1)
}
"
如何加入两个依赖的进程?