Quelle est la stratégie appropriée pour décider quel modèle utiliser avec les données de comptage? J'ai des données de comptage que j'ai besoin de modéliser en tant que modèle à plusieurs niveaux et il m'a été recommandé (sur ce site) que la meilleure façon de le faire soit par le biais de bogues ou de MCMCglmm. Cependant, j'essaie toujours de me renseigner sur les statistiques bayésiennes, et j'ai pensé que je devrais d'abord essayer d'ajuster mes données en tant que modèles linéaires généralisés et ignorer la structure imbriquée des données (juste pour que je puisse avoir une vague idée de ce à quoi s'attendre).
Environ 70% des données sont égales à 0 et le rapport de variance à la moyenne est de 33. Les données sont donc assez dispersées.
Après avoir essayé un certain nombre d'options différentes (y compris le poisson, le modèle binomial négatif, le modèle gonflé quasi et zéro), je vois très peu de cohérence dans les résultats (varier de tout est significatif à rien est significatif).
Comment puis-je prendre une décision éclairée sur le type de modèle à choisir en fonction de l'inflation 0 et de la sur-dispersion? Par exemple, comment puis-je déduire que le quasi-poisson est plus approprié que le binôme négatif (ou vice versa) et comment puis-je savoir que l'utilisation de l'un ou l'autre a traité de manière adéquate (ou non) les zéros en excès? De même, comment puis-je évaluer qu'il n'y a plus de sur-dispersion si un modèle gonflé à zéro est utilisé? ou comment choisir entre un poisson gonflé zéro et un binôme négatif gonflé zéro?
la source
Quelques choses à ajouter à ce que B_Miner a dit:
1) Vous avez écrit que les modèles variaient de «tout significatif» à «rien de significatif» mais ce n'est pas un bon moyen de comparer les modèles. Regardez plutôt les valeurs prévues (comme l'a suggéré B_miner) et les tailles d'effet.
2) Si 70% des données sont 0, je ne peux pas imaginer qu'un modèle sans 0 inflation soit approprié.
3) Même si vous ne voulez pas devenir bayésien, vous pouvez utiliser des GLMM en SAS (PROC GLIMMIX ou NLMIXED) et en R (différents packages). Ignorer la nature imbriquée peut tout gâcher.
4) En général, décider quel modèle est le meilleur est un art, pas une science. Il y a des statistiques à utiliser, mais elles sont un guide de jugement. En regardant simplement ce que vous avez écrit, je dirais qu'un modèle ZINB a l'air bien
la source
D'après ce que je comprends, des distributions gonflées à zéro devraient être utilisées lorsqu'il existe une justification pour que certains éléments produisent des dénombrements de zéros par rapport à tout autre dénombrement. En d'autres termes, une distribution gonflée à zéro devrait être utilisée si les zéros sont produits par un processus distinct de celui produisant les autres dénombrements. Si vous n'avez aucune justification à cela, compte tenu de la surdispersion dans votre échantillon, je suggère d'utiliser une distribution binomiale négative car elle représente avec précision l'abondance des zéros et elle représente une hétérogénéité non observée en estimant librement ce paramètre. Comme mentionné ci-dessus, le livre de Scott Long est une excellente référence.
la source
absolument d'accord avec ce que Matt a dit, vous devez d'abord penser à l'arrière-plan des données ... Cela n'a aucun sens de s'adapter aux modèles ZI, lorsqu'il n'y a pas de déclencheurs générant zéro dans la population! L'avantage des modèles NB est qu'ils peuvent afficher une hétérogénéité non observée dans une variable aléatoire distribuée gamma. Techniquement: les principales raisons de la surdispersion sont l'hétérogénéité et l'inflation zéro. Je ne pense pas que votre ajustement soit mauvais. Pour obtenir la qualité de l'ajustement, vous devez toujours comparer la déviance avec les degrés de liberté de votre modèle. Si la déviance D est supérieure à n- (p + 1) (c'est df), vous devriez rechercher un meilleur modèle. Bien qu'il n'y ait généralement pas de meilleurs modèles que ZINB pour se débarrasser de la surdispersion.
si vous souhaitez adapter un ZINB avec R, récupérez le package
pscl
et essayez d'utiliser la commandezeroinfl(<model>, dist=negative)
. Pour plus d'informations, voir?zeroinfl
après le chargement du package requis!la source