Vous pouvez adapter GLMM multiniveau avec une distribution de Poisson (avec sur-dispersion) en utilisant R de plusieurs manières. Peu de Rpaquets sont: lme4, MCMCglmm, arm, etc. Une bonne référence pour voir est Gelman et Hill (2007)
Je vais vous donner un exemple de cela en utilisant rjagspackage in R. C'est une interface entre Ret JAGS(comme OpenBUGSou WinBUGS).
log θ i j = β 0 + β 1 T r e a t m e n t i + δ i j δ i j ~ N ( 0 , σ 2 ϵ ) i = 1 … I ,
nje j∼ P o i s s o n ( θje j)
bûcheθje j= β0+ β1 T r e a t me n tje+ δje j
δje j∼ N( 0 , σ2ε)
i = 1 … I,j = 1 … J
T r e a t me n tje= 0 ou 1 , … , J- 1 si le it h l'observation appartient au groupe de traitement 1 , ou, 2,…,J
δje jrate modelsJAGS
data{
for (i in 1:I){
ncount[i,1] <- obsTrt1[i]
ncount[i,2] <- obsTrt2[i]
## notice I have only 2 treatments and I individuals
}
}
model{
for (i in 1:I){
nCount[i, 1] ~ dpois( means[i, 1] )
nCount[i, 2] ~ dpois( means[i, 2] )
log( means[i, 1] ) <- mu + b * trt1[i] + disp[i, 1]
log( means[i, 2] ) <- mu + b * trt2[i] + disp[i, 2]
disp[i, 1] ~ dnorm( 0, tau)
disp[i, 2] ~ dnorm( 0, tau)
}
mu ~ dnorm( 0, 0.001)
b ~ dnorm(0, 0.001)
tau ~ dgamma( 0.001, 0.001)
}
Voici le Rcode pour mettre en œuvre l' utiliser (dire qu'il est nommé: overdisp.bug)
dataFixedEffect <- list("I" = 10,
"obsTrt1" = obsTrt1 , #vector of n_i1
"obsTrt2" = obsTrt2, #vector of n_i2
"trt1" = trt1, #vector of 0
"trt2" = trt2, #vector of 1
)
initFixedEffect <- list(mu = 0.0 , b = 0.0, tau = 0.01)
simFixedEffect <- jags.model(file = "overdisp.bug",
data = dataFixedEffect,
inits = initFixedEffect,
n.chains = 4,
n.adapt = 1000)
sampleFixedEffect <- coda.samples(model = simFixedEffect,
variable.names = c("mu", "b", "means"),
n.iter = 1000)
meansTrt1 <- as.matrix(sampleFixedEffect[ , 2:11])
meansTrt2 <- as.matrix(sampleFixedEffect[ , 12:21])
Vous pouvez jouer avec les postérieurs de vos paramètres et vous pouvez introduire plus de paramètres pour vous rendre la modélisation plus précise ( nous aimons penser cela ). Fondamentalement, vous avez l'idée.
Pour plus de détails sur l'utilisation de rjagset JAGS, veuillez consulter la page de John Myles White