Forum de Statistiques
Vous souhaitez réagir à ce message ? Créez un compte en quelques clics ou connectez-vous pour continuer.
Les posteurs les plus actifs de la semaine
Aucun utilisateur

Le Deal du moment : -23%
EVGA SuperNOVA 650 G6 – Alimentation PC 100% ...
Voir le deal
77.91 €

glmer

2 participants

Aller en bas

glmer Empty glmer

Message par leab Lun 26 Fév 2018 - 12:08

Bonjour,

Je cherche à analyser d'influence de différents paramètres (variables qualitatives) sur la croissance (variable quantitative) de différents individus (plantes). La croissance est obtenue par la différence entre le nombre de feuilles à T1 et à T0, ce qui me donne finalement un nombre de feuilles gagnées (nombre positif ou nul).

Mon jeu de données est constitué de la façon suivante :
Individu
Substrat (= substrat de culture des plantes) : terreau/naturel
Site (= site d'origine des populations) : SA/B/V
Génération (= date de récolte des graines) : 1950/2000
Nombre de feuilles gagnées pour chaque plant

J'ai au total six populations de plantes (trois sites d'origine X deux générations à chaque fois) et ces six populations sont cultivées à la fois en terreau et en sol naturel.
Les résidus sont non normaux (vérification pour chaque groupe). Grâce aux réponses à ma question précédente un peu similaire, je me suis dirigée vers glm avec "individu" en effet aléatoire :

glm2<-glmer(feuilles~site+substrat+generation+(1|individu), family=poisson("log"), data=F_gap)

Première question : par défaut le glmer fait un "Laplace approximation" mais j'aimerais faire un test de Wald car le nombre moyen de mes observations est >5 (choix d'après Bolker et al., 2008 : generalized linear mixed models: a pratical guide for ecology and evolution).
Je ne connais pas ce test et j'ai du mal à comprendre que signifie l'argument "Terms". J'ai essayé plusieurs chiffres (dont la taille de la matrice vcov) et j'obtiens l'erreur suivante : Error in `[<-`(`*tmp*`, i, Terms[i], value = 1) : subscript out of bounds. Pouvez-vous m'éclairer sur cet argument ?

Deuxième question : les résidus du glm ne suivent pas une loi normale, mais sont compris entre -2 et 2. Doivent-ils suivre une loi normale pour valider le modèle ?

Et une dernière : j'ai également testé un modèle avec interaction des effets :

glm1<-glmer(feuilles~site*substrat*generation*(1|individu), family=poisson("log"), data=F_gap).

Et là, le drame... Wink Le modèle "échoue à converger" : Model failed to converge with max|grad| = 0.0158484 (tol = 0.001, component 1). Que signifie cette erreur ? Le modèle est-il non valide ? Y a-t-il d'autres vérifications à faire pour s'en assurer ?

Merci pour votre aide !

leab

Nombre de messages : 4
Date d'inscription : 01/02/2018

Revenir en haut Aller en bas

glmer Empty Re: glmer

Message par Eric Wajnberg Lun 26 Fév 2018 - 13:24

Je ne suis pas sûr de bien comprendre. Pour chaque individu, vous faites une mesure (variation entre T0 et T1). Vous n'avez donc qu'une seule valeur par individu. Comment alors le facteur "individu" peut-il être entré dans le modèle comme facteur aléatoire ? Il y a quelque chose qui m'échappe ici.

Par ailleurs, un test de Wald fonctionne "paramètre par paramètre" et n'est ni très puissant, ni recommandé. Vous devriez partir sur des tests de rapport de vraisemblance, et la fonction anova() de R fait ca très bien, et très facilement.

Enfin, vous ajustez une régression log-linéaire (sur données de comptage, Poisson). On n'est plus dans le monde gaussien ici, et les résidus ne doivent pas (et ne peuvent pas) suivre des lois normales.

Résoudre déjà ces quelques points devrait faire progresser les choses, je pense.

HTH, Eric.
Eric Wajnberg
Eric Wajnberg

Nombre de messages : 1237
Date d'inscription : 14/09/2012

Revenir en haut Aller en bas

Revenir en haut


 
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum