Hierarchische Modelle für mehrere Vergleiche - Kontext mit mehreren Ergebnissen


10

Ich habe gerade Gelman's (erneut) gelesen. Warum wir uns (normalerweise) nicht um mehrere Vergleiche kümmern müssen . Insbesondere wird im Abschnitt "Mehrere Ergebnisse und andere Herausforderungen" die Verwendung eines hierarchischen Modells für Situationen erwähnt, in denen mehrere verwandte Maßnahmen von derselben Person / Einheit zu unterschiedlichen Zeiten / Bedingungen vorliegen. Es scheint eine Reihe von wünschenswerten Eigenschaften zu haben.

Ich verstehe, dass dies nicht unbedingt eine Bayes'sche Sache ist. Könnte mir jemand zeigen, wie man ein multivariates Mehrebenenmodell mit rjags und / oder lmer richtig erstellt (reguläre JAGS und BUGS sollten ebenfalls in Ordnung sein, ebenso wie andere gemischte Modellbibliotheken, z. B. MCMCglmm), damit ich damit herumspielen kann, um und zu vergleichen Kontrastergebnisse? Die Art der Situation, für die ich ein Modell haben möchte, spiegelt sich in den folgenden Spielzeugdaten wider (multivariate, wiederholte Messungen):

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?

Für mich ist nicht klar, was Ihre Frage ist ... Ich vermisse dieses Fragezeichen :)
Rasmus Bååth

@ RasmusBååth Ich stimme zu, ich habe es bearbeitet, um hoffentlich klarer zu machen, was ich möchte. Vielen Dank.
Matt Albrecht

Antworten:


3

Ich denke, ich habe eine vernünftige Teillösung für das hierarchische Bayes'sche Modell. rjagsCode unten ....

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

Wieder Base Bayesian wiederholte Maßnahmen Skript von Kruschke


3

Ich fand schließlich eine Literaturlösung für mein Problem Bayes'sche Modelle für mehrere Ergebnisse, die in Domänen von Thurston et al. 2009. Sie schlagen ein hierarchisches Modell für einzelne oder mehrere Domänen vor, das die domänenabhängige Natur der Variablen widerspiegelt. Es enthält zufällige Effekte für Einzelpersonen und Einzelpersonen über Domänen hinweg (wenn mehrere Domänen vorhanden sind). Es kann auch leicht um wiederholte Messungen oder Längskonstruktionen erweitert werden.
Hinweis: Ich werde hier ein JAGS-Modell veröffentlichen, um die Antwort bald zu vervollständigen

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.