2016-11-28 9 views
2

JAGSで次のネストされたランダム効果モデルのフィッティングに興味があります。JAGS/WinBUGSの入れ子ランダム効果

SASコード

proc nlmixed data=data1 qpoints=20; 

    parms beta0=2 beta1=1 ; 
    bounds vara >=0, varb_a >=0; 
    eta = beta0+ beta1*t+ b2+b3; 
    p = exp(eta)/(1+exp(eta)); 
    model TestResult ~ binary(p); 
    random b2 ~ normal(0,vara) subject = HHcode; 
    random b3 ~ normal(0,varb_a) subject = IDNo_N(HHcode); 
    run; 

私の質問:ランダムな効果の一部を指定する方法は?

私は個体について繰り返し測定しました。これらの個人はさらに家庭に入れ子になっています。注:1世帯あたりの人数はさまざまです!あなたからの聴取を楽しみにしてい

答えて

1

は、我々はその個人がデータ点が(これらは、あなたが作成する必要がありますものですRにあなたがすることで、これらを作ることができるために属する家と示す二つのベクトルを持っていると仮定しましょうas.numericを介して係数を数値に変更します)。したがって、2つの住宅と5つの個人から10のデータポイントがある場合、このようになります。

house_vec = c(1,1,1,1,1,1,2,2,2,2)#家のための家の1、4のための6ポイント2

ind_vec = c(1,1,2,2,3,3,4,4,5,5)#誰もがデータポイントので

の2つの観測

N = 10#番号を持っている、上記のベクトルがあることを教えて最初の家の3人(house_vecの最初の6つの要素は1であり、最初の6つの要素はind_vecの範囲は1から3です)、2番目の家には2人の個人(最後の4つの要素はhouse_vecは2であり、ind_vecの最後の4つの要素は4と5です)。これらのベクトルを使用して、JAGSでネストされた索引付けを行い、ランダムな効果構造を作成できます。これのようなもので十分です。これらのベクターは、あなたがそれをmu_houseで通知されるようあなたは、線形予測の範囲内mu_indを含めるのみ必要があるだろうTestResult

for(i in 1:N){ 
mu_house[house_vec[i]] ~ dnorm(0, taua) 
mu_ind[ind_vec[i]] ~ dnorm(mu_house[house_vec[i]], taub_a) 
} 

# priors 
taua ~ dgamma(0.01, 0.01) # precision 
sda <- 1/sqrt(taua) # derived standard deviation 
taub_a ~ dgamma(0.01, 0.01) # precision 
sdb_a <- 1/sqrt(taub_a) # derived standard deviation 

に含める必要がありdata.listに供給されることでしょう。残りのモデルはそうです。

for(i in 1:N){ 
logit(p[i]) <- beta0 + beta1 * t + mu_ind[ind_vec[i]] 
TestResult[i] ~ dbern(p[i]) 
} 

あなたは、私はあなたのサポートのために最も感謝していbeta0beta1

+0

のための事前分布を設定する必要があります。私を助ける時間をとってくれてありがとう、本当に感謝しています – belaya

関連する問題