2

JAGS で GARCH(1,1) モデルを構築しようとしています。簡単にするために、平均方程式が AR(1) プロセスに従うと仮定します。AR(1) および GARCH(1,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)
  }
"

依存している 2 つのプロセスを結合するにはどうすればよいですか?

4

0 に答える 0