2014-03-31 2 views
0

JAGS를 사용하는 R에서 이분 산성을 고려한 베이지안 ANCOVA를 구현하려고합니다. 그러나 베이지안 회귀 분석과 분산 분석에 대한 여러 자습서를 거쳤음에도 불구하고 JAGS 파일을 준비하는 방법을 이해할 수 없습니다. 여기 내 코드는 지금까지 있습니다 :R에서의 베이지안 ANCOVA (jags를 통해)

y1  = rexp(57, rate=0.8) # dependent variable 
x1  = hist(rbeta(57, 6, 2)) # continuous factor 
x2  = rep(c(1, 2), 57/2) # categorical factor 
groups = 2 
n  = 57 
# list of variables 
lddados <- list(g=groups, n=length(x), y=y, x1=x1, x2=x2) 

sink('reglin.txt') # nome do arquivo aqui 
cat(' 
    # model 
    { 
     for(i in 1:n){ 
     mu[i] = a0 + a[i] 
     y[i] = a0 + x1*a[ x2[i] ] + ε[i] 
     } 

     priors 
     y ~ dgamma(0.001,0.01) 
     for(i in 1:n){ 
     inter[i] ~ dgamma(0.001,0.001) 
     coef[i] ~ dnorm(0.0,1.0E- 

     likelihood 
     got stuck... 
     } 
    }#------fim do modelo 
') 
sink() 
+1

R에서 JAGS를 실행하려고합니까? 이 경우 R2jags 또는 rjags 패키지를 살펴 보는 것이 도움이 될 수 있습니다. – andybega

+0

또한'runjags' 패키지를 제안 할 것입니다. 나에게 더 편리 해 보였고 더 중요하게는 병렬로 실행할 수 있습니다. –

+0

조언 해 주셔서 감사합니다. 그러나, 내 문제는 패키지를 사용하지 않고 베이지안 ancova 모델을 쓰는 것입니다. 나는 이미 R2jags에 대해 어느 정도 익숙했으며,이 패키지의 튜토리얼이나 인터넷의 다른 튜토리얼에서 ancova 모델을 코딩하는 방법을 찾을 수 없었다. –

답변

0

임 현재

나의 이해에서

, 나는이 (테스트되지 않은) 테스트 것입니다 ... rjags에게 자신을 사용하여 공변량 분석을 시도; 작동하는지

require(rjags) 
require(coda) 

model_string <- " 
    model { 
    for (i in 1:n){ 
     mu[i] <- a0 + a[x2[i]] + a3 * x1[i] # linear predictor 
     y[i] ~ dnorm(mu[i], prec) # y is norm. dist. 
    } 

# priors 
    a0 ~ dnorm(0, 1.0E-6) # intercept 
    a[1] ~ dnorm(0, 1.0E-6) # effect of x1 at x2 level 1 
    a[2] ~ dnorm(0, 1.0E-6) # effect of x1 at x2 level 2 
    a3 ~ dnorm(0, 1.0E-6) # regression coefficient for x1 (covariate) 
    prec ~ dgamma(0.001, 0.001) # precision (inverse of variance) 

} 
" 

# initial values for the mcmc 
inits_list <- list(a=0, b=c(0,0), prec=100) 
# model, initial values and data in right format 
jags_model <- jags.model(textConnection(model_string), data=data, inits=inits_list, n.adapt = 500, n.chains = 3, quiet = T) 
# burn-in 
update(jags_model, 10000) 
# run the mcmc chains using the coda package 
mcmc_samples <- coda.samples(jags_model, c("mu", "a", "a1", "a2", "prec"), n.iter = 100000) 

것은 ...

권장 도서를 말해; McCarthy M. Bayesian 생태학 방법과 Kruschke JK. 베이지안 데이터 분석 수행