Pour le modèle de régression logistique ci-dessous, je veux pouvoir échantillonner à partir de la loi a posteriori en utilisant des valeurs non entières pour n (et y). Cela peut se produire dans ce type de modèle lorsque des données partielles sont disponibles ou qu'il est souhaitable de réduire le poids.Modèles de régression logistique JAGS avec poids non entiers
model <- function() {
## Specify likelihood
for (i in 1:N1) {
y[i] ~ dbin(p[i], n[i])
logit(p[i]) <- log.alpha[1] + alpha[2] * d[i]
}
## Specify priors
alpha[1] <- exp(log.alpha[1])
alpha[2] <- exp(log.alpha[2])
Omega[1:2, 1:2] <- inverse(p2[, ])
log.alpha[1:2] ~ dmnorm(p1[], Omega[, ])
}
DBin exige des valeurs entières de n et renvoie donc une erreur dans le cas de n non entier.
J'ai lu qu'il devrait être possible de le faire avec les as de tour, mais n'ont pas réussi à le faire fonctionner correctement. Aide appréciée.
Cela fonctionne très bien! Merci beaucoup. Ai-je raison de penser que le bin_co est inutile puisqu'il s'agit d'une constante en alpha? –
Non, 'bin_co' est très nécessaire car il change avec chaque point de données (c'est le coefficient binomial). Comme 'n' et' y' changent avec chaque point de données, il en va de même pour 'bin_co'. La deuxième raison pour laquelle cela est nécessaire est que le coefficient binomial fait partie de la vraisemblance binomiale. Si vous le supprimez, vous n'utilisez plus de probabilité binomiale dans votre analyse. –