10 votos

Los modelos jerárquicos para comparaciones múltiples de múltiples resultados de contexto

He sido (re)lectura de Gelman ¿por Qué nosotros (por lo general) no tiene que preocuparse acerca de las comparaciones múltiples. En particular, la sección "resultados Múltiples y otros desafíos" , menciona el uso de un modelo jerárquico para situaciones cuando hay varias medidas relacionadas con la misma persona/unidad en diferentes momentos y condiciones. Parece que tiene una serie de propiedades deseables.

Entiendo que esto no es necesariamente un Bayesiano cosa. Podía alguien me muestre cómo construir correctamente un multivariante multinivel modelo de uso de la rjags y/o lmer (regular ENTRECORTADO y los ERRORES deben ser muy bien también, así como otro modelo mixto de las bibliotecas por ejemplo, MCMCglmm) para que yo pueda jugar con ella para comparar y contrastar los resultados? El tipo de situación que me gustaría un modelo para que se refleja en el juguete de datos de abajo (multivariante, de medidas repetidas):

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?

3voto

Magnus Lindhe Puntos 2391

Creo que tengo una razonable solución parcial para el modelo jerárquico Bayesiano. rjags Código de abajo....

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")

De nuevo, la base de la Bayesiano de medidas repetidas de secuencia de comandos de Kruschke

3voto

Magnus Lindhe Puntos 2391

Finalmente encontré una literatura solución a mi problema Bayesiano de modelos para múltiples resultados anidados en los dominios por Thurston et al. 2009. Ellos proponen un modelo jerárquico para uno o varios dominios que refleja el dominio dependiente de la naturaleza de las variables. Incorpora efectos aleatorios para los individuos y los individuos a través de dominios (si hay varios dominios). También puede ser fácilmente extendido para incluir medidas repetidas o diseños longitudinales.
Nota: voy a publicar un ENTRECORTADO modelo aquí para completar la respuesta pronto

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X