다중 비교를위한 계층 적 모델-다중 결과 컨텍스트


10

나는 방금 Gelman의 이유를 읽었습니다 (우리는 일반적으로) 다중 비교에 대해 걱정할 필요가 없습니다 . 특히 "여러 결과 및 기타 과제" 섹션에서는 동일한 시간에 다른 사람 / 단위의 여러 관련 측정이있는 상황에 대해 계층 적 모델을 사용하는 방법에 대해 언급합니다. 바람직한 특성이 여러 개있는 것 같습니다.

나는 이것이 반드시 베이지안 일 필요는 없다는 것을 이해합니다. rjags 및 / 또는 lmer (일반적인 JAGS 및 BUGS뿐만 아니라 MCMCglmm과 같은 다른 혼합 모델 라이브러리)를 사용하여 다변량 다단계 모델을 올바르게 구성하는 방법을 누군가에게 보여 줄 수 있습니까? 대조적 인 결과? 내가 모델로 만들고 싶은 상황의 유형은 아래 장난감 데이터에 반영됩니다 (다변량, 반복 측정).

set.seed(69)
id     <- factor(rep(1:20, 2))                # subject identifier
dv1    <- c(rnorm(20), rnorm(20,  0.8, 0.3))  # dependent variable 1 data for 2 conditions
dv2    <- c(rnorm(20), rnorm(20,  0.3, 0.6))
dv3    <- c(rnorm(20), rnorm(20, -0.3, 0.8))
dv4    <- c(rnorm(20), rnorm(20,  0.2, 1  ))
dv5    <- c(rnorm(20), rnorm(20,  0.5, 4  ))
rmFac  <- factor(rep(c(1, 2), each=20))       # repeated measures factor
dvFac  <- factor(rep(1:5, each=40))           # dependent variable indicator

dfwide <- data.frame(id, dv1, dv2, dv3, dv4, dv5, rmFac)
dflong <- data.frame(id, dv = c(dv1, dv2, dv3, dv4, dv5), rmFac, dvFac) # just in case it's easier?

나에게 그것은 당신의 질문이 무엇인지 명확하지 않습니다 ... 나는 그 물음표가 없습니다 :)
Rasmus Bååth

@ RasmusBååth 동의합니다. 바라는 바를 명확하게하기 위해 편집했습니다. 감사.
매트 알브레히트

답변:


3

나는 계층 적 베이지안 모델에 대한 합리적인 부분 솔루션을 가지고 있다고 생각합니다. rjags아래 코드 ....

dflong$dv <- scale(dflong$dv)[,1]
dataList = list(  
    y = dflong$dv, 
    rmFac  = dflong$rmFac ,
    dvFac  = dflong$dvFac ,
    id     = dflong$id ,
    Ntotal = length(dflong$dv) ,
    NrmLvl = length(unique(dflong$rmFac)),
    Ndep   = length(unique(dflong$dvFac)),
    NsLvl  = length(unique(dflong$id))
)

modelstring = "
model {
for( i in 1:Ntotal ) {
    y[i] ~ dnorm( mu[i] , tau[rmFac[i], dvFac[i]])
    mu[i] <- a0[ dvFac[i] ] + aS[id[i], dvFac[i]] + a1[rmFac[i] , dvFac[i]]
}
for (k in 1:Ndep){
    for ( j in 1:NrmLvl ) { 
        tau[j, k] <- 1 / pow( sigma[j, k] , 2 )
        sigma[j, k] ~  dgamma(1.01005,0.1005)
    }
}
for (k in 1:Ndep) {
    a0[k] ~ dnorm(0, 0.001)
    for (s in 1:NsLvl){
        aS[s, k] ~ dnorm(0.0, sTau[k])
    }
    for (j in 1:NrmLvl) {
        a1[j, k] ~ dnorm(0, a1Tau[k])
    }
    a1Tau[k] <- 1/ pow( a1SD[k] , 2)
    a1SD[k]  ~ dgamma(1.01005,0.1005)

    sTau[k] <- 1/ pow( sSD[k] , 2)
    sSD[k]  ~ dgamma(1.01005,0.1005)
}
}
" # close quote for modelstring
writeLines(modelstring,con="model.txt")

다시 기본 베이지안은 Kruschke의 측정 스크립트를 반복


3

마침내 Thurston et al.에 의해 도메인중첩 된 여러 결과에 대한 문제 베이지안 모델에 대한 문헌 솔루션을 찾았습니다 . 이들은 변수의 도메인 의존적 특성을 반영하는 단일 또는 다중 도메인에 대한 계층 적 모델을 제안합니다. 도메인 전체에 걸쳐 개인 및 개인에게 무작위 효과를 통합합니다 (여러 도메인이있는 경우). 또한 반복 측정 또는 종단 설계를 포함하도록 쉽게 확장 할 수 있습니다.
참고 : 여기에 JAGS 모델을 게시하여 곧 답변을 완성하겠습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.