कई तुलनाओं के लिए पदानुक्रमित मॉडल - एकाधिक परिणाम संदर्भ


10

मैं सिर्फ (पुनः) पढ़ रहा हूं, गेलमैन की व्हाई हम (आमतौर पर) को कई तुलनाओं के बारे में चिंता करने की आवश्यकता नहीं है । विशेष रूप से अनुभाग "एकाधिक परिणामों और अन्य चुनौतियों" में परिस्थितियों के लिए एक पदानुक्रमित मॉडल का उपयोग करने का उल्लेख है जब एक ही व्यक्ति / इकाई से अलग-अलग समय / स्थितियों में कई संबंधित उपाय होते हैं। यह वांछनीय गुणों की एक संख्या है प्रतीत होता है।

मैं समझता हूं कि यह जरूरी नहीं कि बायेसियन चीज हो। क्या कोई मुझे दिखा सकता है कि मैं 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?

मेरे लिए यह स्पष्ट नहीं है कि आपका प्रश्न क्या है ... मुझे वह प्रश्न चिह्न याद आ रहा है :)
रासमुस बस्त

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

फिर, बेस बेयसियन ने क्रूसके से स्क्रिप्ट को दोहराया


3

अंत में मुझे अपनी समस्या के लिए एक साहित्य समाधान मिला है बेयर्सियन मॉडल ने थुरस्टोन एट अल द्वारा डोमेन में नेस्टेड कई परिणामों के लिए । 2009. वे एकल या एकाधिक डोमेन के लिए एक श्रेणीबद्ध मॉडल का प्रस्ताव करते हैं जो चर के डोमेन निर्भर प्रकृति को दर्शाता है। यह डोमेन में व्यक्तियों और व्यक्तियों के लिए यादृच्छिक प्रभाव शामिल करता है (यदि कई डोमेन हैं)। दोहराया उपायों या अनुदैर्ध्य डिजाइनों को शामिल करने के लिए इसे आसानी से बढ़ाया जा सकता है।
नोट: मैं जल्द ही जवाब पूरा करने के लिए यहां JAGS मॉडल पोस्ट करूंगा

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.