Pourquoi Anova () et drop1 () ont-ils fourni des réponses différentes pour les GLMM?

10

J'ai un GLMM du formulaire:

lmer(present? ~ factor1 + factor2 + continuous + factor1*continuous + 
                (1 | factor3), family=binomial)

Lorsque j'utilise drop1(model, test="Chi"), j'obtiens des résultats différents de ceux que j'utilise à Anova(model, type="III")partir du package de voiture ou summary(model). Ces deux derniers donnent les mêmes réponses.

En utilisant un tas de données fabriquées, j'ai trouvé que ces deux méthodes ne diffèrent normalement pas. Ils donnent la même réponse pour les modèles linéaires équilibrés, les modèles linéaires non équilibrés (où n inégaux dans différents groupes) et pour les modèles linéaires généralisés équilibrés, mais pas pour les modèles mixtes linéaires généralisés équilibrés. Il apparaît donc que ce n'est que dans les cas où des facteurs aléatoires sont inclus que cette discorde se manifeste.

  • Pourquoi existe-t-il un écart entre ces deux méthodes?
  • Lorsque vous utilisez GLMM doit Anova()ou doit drop1()être utilisé?
  • La différence entre ces deux est assez légère, du moins pour mes données. Est-il même important de savoir qui est utilisé?
tim.farkas
la source

Réponses:

7

Je pense que c'est la différence dont les tests sont calculés. car::Anovautilise des tests de Wald, tandis que drop1le modèle retombe en supprimant des termes uniques. John Fox m'a écrit une fois que les tests de Wald et les tests de modèles réaménagés utilisant des tests de rapport de vraisemblance (c'est-à-dire la stratégie de drop1) conviennent pour les modèles linéaires mais pas nécessairement non linéaires. Malheureusement, ce courrier était hors liste et ne contenait aucune référence. Mais je sais que son livre contient un chapitre sur les tests Wald, qui pourrait contenir les informations souhaitées.

L'aide à car::Anovadit:

Les tests de type II sont calculés selon le principe de la marginalité, testant chaque terme après tous les autres, sauf en ignorant les parents d'ordre supérieur du terme; les tests dits de type III violent la marginalité, testant chaque terme du modèle après tous les autres. Cette définition des tests de type II correspond aux tests produits par SAS pour les modèles d'analyse de variance, où tous les prédicteurs sont des facteurs, mais pas plus généralement (c'est-à-dire lorsqu'il existe des prédicteurs quantitatifs). Soyez très prudent dans la formulation du modèle pour les tests de type III, sinon les hypothèses testées n'auront aucun sens.

Malheureusement, je ne peux pas répondre à votre deuxième ou troisième question car j'aimerais également le savoir.


Mettre à jour le commentaire de recomposition :

Il n'y a pas de tests Wald, LR et F pour les modèles mixtes généralisés. Anovaautorise "chisq"et "F"teste simplement les modèles mixtes (c'est-à-dire les "mer"objets renvoyés par lmer). La section d'utilisation indique:

## S3 method for class 'mer'
Anova(mod, type=c("II","III", 2, 3), 
    test.statistic=c("chisq", "F"), vcov.=vcov(mod), singular.ok, ...)

Mais comme les tests F pour les merobjets sont calculés par pbkrtest, ce qui, à ma connaissance, ne fonctionne que pour les modèles mixtes linéaires, les AnovaGLMM devraient toujours revenir chisq(d'où vous ne voyez aucune différence).

Mise à jour concernant la question:

Ma réponse précédente a juste essayé de répondre à votre question principale, la différence entre Anova()et drop1(). Mais maintenant je comprends que vous voulez tester si certains effets fixes sont importants ou non. La FAQ de modélisation R-sig-mixed indique ce qui suit à ce sujet:

Tests de paramètres uniques

Du pire au meilleur:

  • Wald Z-tests
  • Pour les LMM équilibrés et imbriqués où df peut être calculé: tests t de Wald
  • Test de rapport de vraisemblance, soit en configurant le modèle de sorte que le paramètre puisse être isolé / supprimé (via anova ou drop1), soit via le calcul des profils de vraisemblance
  • MCMC ou intervalles de confiance bootstrap paramétriques

Tests d'effets (c'est-à-dire tester que plusieurs paramètres sont simultanément nuls)

Du pire au meilleur:

  • Tests du chi carré de Wald (par exemple voiture :: Anova)
  • Test de rapport de vraisemblance (via anova ou drop1)
  • Pour les LMM équilibrés et imbriqués où df peut être calculé: tests F conditionnels
  • Pour les LMM: tests F conditionnels avec correction df (par exemple Kenward-Roger dans le paquet pbkrtest)
  • Comparaisons de bootstrap MCMC ou paramétriques ou non paramétriques (le bootstrap non paramétrique doit être mis en œuvre avec soin pour tenir compte des facteurs de regroupement)

(pas d'italique dans l'original)

Cela indique que votre approche d'utilisation car::Anova()des GLMM n'est généralement pas recommandée, mais une approche utilisant MCMC ou bootstrap doit être utilisée. Je ne sais pas si pvals.fncdu languageRpaquet woks avec GLMM, mais ça vaut le coup d'essayer.

Henrik
la source
1
Merci, Henrik. Anova () peut calculer trois tests différents: Wald, LR et F. J'ai essayé les trois, mais cela ne fait aucune différence, ce que je trouve étrange. J'ai le sentiment que la fonction refusera d'utiliser les tests qu'elle juge inappropriés pour les données ...
tim.farkas