jags와 rjags 패키지를 사용하여 계층 적 모델을 맞추려고합니다. 내 결과 변수는 y이며, 이는 베르누이 시험의 순서입니다. 저는 P와 M이라는 두 가지 범주로 수행되는 38 명의 인간 과목을 가지고 있습니다. 나의 분석에 따르면, 모든 화자는 P 범주에서 의 성공 확률과 M 범주에서 θ p × θ m 의 성공 확률 을가 집니다. 또한 P 및 M에 대한 일부 커뮤니티 수준 하이퍼 매개 변수가 있다고 가정합니다 .μ p 및 μ m .
따라서 모든 스피커에 대해 : 및 θ m ∼ b e t a ( μ m × κ m , ( 1 − μ m) ) × κ m ) 여기서 κ p 및 κ m분포의 피크가 약 및 μ m 인 방법을 제어합니다 .
또한 , μ m ~ b e t a ( A m , B m ) .
내 jags 모델은 다음과 같습니다.
model{
## y = N bernoulli trials
## Each speaker has a theta value for each category
for(i in 1:length(y)){
y[i] ~ dbern( theta[ speaker[i],category[i]])
}
## Category P has theta Ptheta
## Category M has theta Ptheta * Mtheta
## No observed data for pure Mtheta
##
## Kp and Km represent how similar speakers are to each other
## for Ptheta and Mtheta
for(j in 1:max(speaker)){
theta[j,1] ~ dbeta(Pmu*Kp, (1-Pmu)*Kp)
catM[j] ~ dbeta(Mmu*Km, (1-Mmu)*Km)
theta[j,2] <- theta[j,1] * catM[j]
}
## Priors for Pmu and Mmu
Pmu ~ dbeta(Ap,Bp)
Mmu ~ dbeta(Am,Bm)
## Priors for Kp and Km
Kp ~ dgamma(1,1/50)
Km ~ dgamma(1,1/50)
## Hyperpriors for Pmu and Mmu
Ap ~ dgamma(1,1/50)
Bp ~ dgamma(1,1/50)
Am ~ dgamma(1,1/50)
Bm ~ dgamma(1,1/50)
}
내가 가진 문제는 내가 적응을위한 5000 반복이 모델을 실행할 때, 다음 1000 개 샘플을 채취한다는 것입니다 Mmu
및 Km
하나의 값으로 수렴했다. 4 개의 체인으로 실행했으며 각 체인의 값이 같지 않지만 각 체인에는 단일 값이 있습니다.
MCMC 방법을 사용하여 계층 적 모델을 피팅하는 데 익숙하지 않아서 이것이 얼마나 나쁜지 궁금합니다. 이 모델이 적합하지 않다는 것을 표시로 삼아야합니까, 이전의 내용에 문제가 있거나 코스에 해당하는 것입니까?