Regression Example in JAGS

Summary 様々な確率分布を仮定した単回帰モデルのJAGSスクリプトの例。基本的には、リンク先のスクリプトのLiklihoodの箇所を変更し、各種パラメーターの事前分布を指定してやればよい。 Gaussian Yのとりうる値の範囲:実数 \[ y_i \sim Normal(\mu_i, \sigma^2)\\ \mu_i = \beta_1 + \beta_2x_i \] Y[i] ~ dnorm(mu[i], tau) # tau is precision mu[i] <- b[1] + b[2]*X[i] Poisson Yのとりうる値の範囲:0以上の整数 \[ y_i \sim Poisson(\lambda_i)\\ ln\lambda_i = \beta_1 + \beta_2x_i \] Y[i] ~ dpois(lambda[i]) log(lambda[i]) <- b[1] + b[2]*X[i] Binomial Yのとりうる値の範囲:0以上N以下の整数 \[ y_i \sim Binomial(N_i, p_i)\\ … Continue reading Regression Example in JAGS

How to use JAGS: Simple Linear Regression

Summary JAGSの基本的な使い方の備忘録。ここでは、もっとも単純な単回帰モデルをJAGSで実装する。実装の手順は大きく二つに分けられる。(1)JAGSモデルの記述:JAGS言語を使ってJAGSのモデルファイルを記述する。(2)Rによる実装:RからJAGSのモデルファイルを走らせる。 JAGSモデルの記述 サンプルデータ ここではもっとも単純な例として、(GLMでも分析できる)単回帰モデルの分析をJAGSでする。ここで使用するサンプルデータは次のようになっている。 head(dat1) ## Y X ## 1 11.859762 6.635249 ## 2 4.682198 2.290394 ## 3 14.809464 7.288998 ## 4 7.549894 3.507948 ## 5 8.841815 3.150085 ## 6 13.473219 8.793556 plot(Y ~ X, dat1) このデータに対し、応答変数\(y_i\)を説明変数\(x_i\)で説明する簡単な統計モデルを考える(添え字\(i\)はサンプルのID番号)。応答変数\(y_i\)の誤差は正規分布に従うと仮定し、以下の統計モデルを考える。 \[ y_i \sim Normal(\mu_i, \sigma^2)\\ \mu_i = \beta_1 + \beta_2 x_i \] ここで、\(\beta_1\)は切片(intercept)を、\(\beta_2\)は回帰係数(slope)を表しており、これらが推定対象となる主なパラメーターである。 JAGSの記法 上の統計モデルをJAGS言語で書き下すと以下のようになる。 # JAGS … Continue reading How to use JAGS: Simple Linear Regression