Les posteurs les plus actifs de la semaine
Aucun utilisateur |
Sujets les plus vus
Que conclure d'un glm en quasi-poisson?
2 participants
Page 1 sur 1
Que conclure d'un glm en quasi-poisson?
Bonjour,
Je débute en stats et je cherche à tester l'effet de l'abondance d'une espèce de poisson (PES) sur l'abondance d'une autre espèce (CCO). Les deux suivent des distributions de poisson, donc je fais un glm, mais je n'arrive pas à comprendre ce que je peux en conclure:
Donc si j'ai bien compris ça me dit que:
- La relation est négative
- Pseudo r² = 88.397/2017.2 = 0.0438 → l'abondance de PES explique 4% de l'abondance de CCO (c'est assez pathétique)
- 1928.8/1126 = 1.71 → sur-dispersion significative
Donc je fais un modèle avec une distribution quasi poisson :
Je n'ai plus d'AIC et seules les erreurs standard ont changé, ça je comprends pourquoi, mais je ne comprends pas ce que je peux conclure : la p-value est plus petite mais toujours significative, est ce que ça me permet de dire que mon modèle marche bien ? Est-ce que je peux affirmer que ma variable explicative n'explique qu'une infime partie de ma variable à expliquer et m'arrêter là, ou est-ce que ça veut dire que mon modèle est mauvais ?
Merci d'avance (et désolée si mes questions paraissent stupides...)
Je débute en stats et je cherche à tester l'effet de l'abondance d'une espèce de poisson (PES) sur l'abondance d'une autre espèce (CCO). Les deux suivent des distributions de poisson, donc je fais un glm, mais je n'arrive pas à comprendre ce que je peux en conclure:
- Code:
m1 = glm(CCO ~ PES, family = poisson)
> anova(m1, test="Chisq")
Analysis of Deviance Table
Model: poisson, link: log
Response: CCO
Terms added sequentially (first to last)
Df Deviance Resid. Df Resid. Dev Pr(>Chi)
NULL 1127 2017.2
PES 1 88.397 1126 1928.8 < 2.2e-16 ***
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
> summary(m1)
Call:
glm(formula = CCO ~ PES, family = poisson)
Deviance Residuals:
Min 1Q Median 3Q Max
-2.3039 -0.6615 -0.6615 -0.6615 24.4806
Coefficients:
Estimate Std. Error z value Pr(>|z|)
(Intercept) -1.519710 0.063667 -23.87 <2e-16 ***
PES 0.021142 0.001629 12.98 <2e-16 ***
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
(Dispersion parameter for poisson family taken to be 1)
Null deviance: 2017.2 on 1127 degrees of freedom
Residual deviance: 1928.8 on 1126 degrees of freedom
AIC: 2121.2
Number of Fisher Scoring iterations: 7
> 1-pchisq(1928.8,1126)
[1] 0
Donc si j'ai bien compris ça me dit que:
- La relation est négative
- Pseudo r² = 88.397/2017.2 = 0.0438 → l'abondance de PES explique 4% de l'abondance de CCO (c'est assez pathétique)
- 1928.8/1126 = 1.71 → sur-dispersion significative
Donc je fais un modèle avec une distribution quasi poisson :
- Code:
m2 = glm(CCO ~ PES, family = quasipoisson)
> anova(m2, test="F")
Analysis of Deviance Table
Model: quasipoisson, link: log
Response: CCO
Terms added sequentially (first to last)
Df Deviance Resid. Df Resid. Dev F Pr(>F)
NULL 1127 2017.2
PES 1 88.397 1126 1928.8 3.9305 0.04766 *
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
> summary(m2)
Call:
glm(formula = CCO ~ PES, family = quasipoisson)
Deviance Residuals:
Min 1Q Median 3Q Max
-2.3039 -0.6615 -0.6615 -0.6615 24.4806
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) -1.519710 0.301932 -5.033 5.61e-07 ***
PES 0.021142 0.007726 2.736 0.00631 **
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
(Dispersion parameter for quasipoisson family taken to be 22.4898)
Null deviance: 2017.2 on 1127 degrees of freedom
Residual deviance: 1928.8 on 1126 degrees of freedom
AIC: NA
Number of Fisher Scoring iterations: 7
Je n'ai plus d'AIC et seules les erreurs standard ont changé, ça je comprends pourquoi, mais je ne comprends pas ce que je peux conclure : la p-value est plus petite mais toujours significative, est ce que ça me permet de dire que mon modèle marche bien ? Est-ce que je peux affirmer que ma variable explicative n'explique qu'une infime partie de ma variable à expliquer et m'arrêter là, ou est-ce que ça veut dire que mon modèle est mauvais ?
Merci d'avance (et désolée si mes questions paraissent stupides...)
Elisa7- Nombre de messages : 3
Date d'inscription : 06/12/2017
Re: Que conclure d'un glm en quasi-poisson?
Vous trouvez un coefficient de régression de 0.021142. La relation est donc positive, non négative.
Par ailleurs, j'ai toujours des problèmes avec des R2 dans le cas du glm, et les auteurs ne sont pas tous d'accord pour résoudre les problèmes correspondants (voir par exemple ici). Tout ceci dépend du nombre de points dans la regression, etc. Dans votre, cas, ce qui compte, est que vous avez un très (très!) fort effet de la variable PES.
Oui, vous avez de la surdispersion, mais je ne sais pas ce que vous voulez dire par "surdispersion significative" (il n'existe pas que je sache de procédure de test pour ceci, et de toute façon, ça ne servirait à rien). Le fait est, votre coefficient de dispersion estimé est de 22.48, largement plus fort que 1.0 ! Un modèle avec surdispersion est juste le même qu'un modèle sans surdispersion, et il est donc normal (et rassurant) que vous trouviez les même paramètres de régression. Il y a juste un paramètre de plus qui est estimé sur vos données (ici 22.48), ce qui fait changer effectivement les SE et donc, par voie de conséquence, la puissance des tests (et donc les p-values). Mais vous aviez déjà des tests très significatifs sans surdispersion..
En bref, vous avez un très fort effet de la variable PES. Cet effet est positif (dans l'espace log). Il y a beaucoup de surdispersion, et vous avez donc très probablement une source de variation non identifiée dans vos données (vos données suivent des loi des Poisson dont la variance est globalement 22.48 fois plus forte que celle attendue sur de véritables lois de Poisson). A ce stade, vous devriez représenter ceci graphiquement, avec le nuage de points, et la régression rajoutée.
C'est tout ce qu'on peut dire, je pense.
HTH, Eric.
Par ailleurs, j'ai toujours des problèmes avec des R2 dans le cas du glm, et les auteurs ne sont pas tous d'accord pour résoudre les problèmes correspondants (voir par exemple ici). Tout ceci dépend du nombre de points dans la regression, etc. Dans votre, cas, ce qui compte, est que vous avez un très (très!) fort effet de la variable PES.
Oui, vous avez de la surdispersion, mais je ne sais pas ce que vous voulez dire par "surdispersion significative" (il n'existe pas que je sache de procédure de test pour ceci, et de toute façon, ça ne servirait à rien). Le fait est, votre coefficient de dispersion estimé est de 22.48, largement plus fort que 1.0 ! Un modèle avec surdispersion est juste le même qu'un modèle sans surdispersion, et il est donc normal (et rassurant) que vous trouviez les même paramètres de régression. Il y a juste un paramètre de plus qui est estimé sur vos données (ici 22.48), ce qui fait changer effectivement les SE et donc, par voie de conséquence, la puissance des tests (et donc les p-values). Mais vous aviez déjà des tests très significatifs sans surdispersion..
En bref, vous avez un très fort effet de la variable PES. Cet effet est positif (dans l'espace log). Il y a beaucoup de surdispersion, et vous avez donc très probablement une source de variation non identifiée dans vos données (vos données suivent des loi des Poisson dont la variance est globalement 22.48 fois plus forte que celle attendue sur de véritables lois de Poisson). A ce stade, vous devriez représenter ceci graphiquement, avec le nuage de points, et la régression rajoutée.
C'est tout ce qu'on peut dire, je pense.
HTH, Eric.
Eric Wajnberg- Nombre de messages : 1238
Date d'inscription : 14/09/2012
Re: Que conclure d'un glm en quasi-poisson?
Merci beaucoup pour votre réponse.
D'après ce que j'ai vu en cours, on teste la significativité de la sur-dispersion sur R en faisant:
Du coup si j'ai bien compris je ne peux pas utiliser la p-value de mon anova pour le modèle en poisson, c'est pour ça que je fais celui avec quasi-poisson, et la p-value, bien que toujours significative, est beaucoup plus faible. Donc je ne peux pas vraiment dire qu'il y a un "très (très!) fort effet de la variable PES", si?
Et je ne comprends comment vous avez trouvé le coefficient de dispersion estimé de 22.48?
Merci,
Elisa
D'après ce que j'ai vu en cours, on teste la significativité de la sur-dispersion sur R en faisant:
- Code:
> 1-pchisq(1928.8,1126)
[1] 0
Du coup si j'ai bien compris je ne peux pas utiliser la p-value de mon anova pour le modèle en poisson, c'est pour ça que je fais celui avec quasi-poisson, et la p-value, bien que toujours significative, est beaucoup plus faible. Donc je ne peux pas vraiment dire qu'il y a un "très (très!) fort effet de la variable PES", si?
Et je ne comprends comment vous avez trouvé le coefficient de dispersion estimé de 22.48?
Merci,
Elisa
Elisa7- Nombre de messages : 3
Date d'inscription : 06/12/2017
Re: Que conclure d'un glm en quasi-poisson?
Plusieurs points :
1) Une déviance suit effectivement une loi de Chi2 et peut être testée. Donc effectivement une surdispersion devrait pouvoir être testée (et il y a des packages qui font ca, voir par exemple ici). Mais je n'en comprends pas l'intéret, comme je l'ai dit, car :
2) Qu'il y ait surdispersion ou pas, rien ne vous empêche de tester la significativité de vos variables explicatives dans le modèle (dans votre cas, l'effet de la variable PES).
3) Si vous utilisez un modèle avec quasipoisson, alors que vos données suivent bellement des lois de Poisson, le coefficient de dispersion estimé sera exactement de 1.0 et vous pouvez faire les tests qui vous conviennent. Dit autrement, le cas "poisson" est donc un cas particulier du cas "quasipoisson", et - du coup - que je sache personne n'ajuste un modèle avec "poisson". Il suffit d'utiliser "quasipoisson" et "ca marche" dans tous les cas, y compris si vous êtes parfaitement sur des lois de Poisson.
3) Je sais bien que vous utiliser la fonction anova() pour ce faire (et vous avez raison), mais (et c'est une ambiguïté de R, je trouve), cette fonction ne fait pas une anova (comme vous le dites), mais calcule ce qu'on appelle un test de rapport de vraisemblance (ce qui peut être pris comme une généralisation de l'anova, il est vrai).
4) Avoir une p-value plus faible veut dire que votre test est encore plus significatif. En quasipoisson, puisque vos SE diminuent, votre procédure de test devient plus puissante, et vous êtes plus à même de détecter un effet, et donc votre p-value diminue. Donc, si, vous avez un "très (très!) fort effet de la variable PES".
5) Dans les sorties de la fonction summary(), juste en-dessous du tableau donnant les paramètres de régression estimés, R vous dit soit "(Dispersion parameter for poisson family taken to be 1)" si vous utilisez "poisson" (car ce paramètre n'est pas estimé), soit "(Dispersion parameter for quasipoisson family taken to be 22.4898)" si vous utilisez "quasipoisson" (car ce paramètre est estimé). C'est là que j'ai trouvé la valeur de 22.48.
HTH, Eric.
1) Une déviance suit effectivement une loi de Chi2 et peut être testée. Donc effectivement une surdispersion devrait pouvoir être testée (et il y a des packages qui font ca, voir par exemple ici). Mais je n'en comprends pas l'intéret, comme je l'ai dit, car :
2) Qu'il y ait surdispersion ou pas, rien ne vous empêche de tester la significativité de vos variables explicatives dans le modèle (dans votre cas, l'effet de la variable PES).
3) Si vous utilisez un modèle avec quasipoisson, alors que vos données suivent bellement des lois de Poisson, le coefficient de dispersion estimé sera exactement de 1.0 et vous pouvez faire les tests qui vous conviennent. Dit autrement, le cas "poisson" est donc un cas particulier du cas "quasipoisson", et - du coup - que je sache personne n'ajuste un modèle avec "poisson". Il suffit d'utiliser "quasipoisson" et "ca marche" dans tous les cas, y compris si vous êtes parfaitement sur des lois de Poisson.
3) Je sais bien que vous utiliser la fonction anova() pour ce faire (et vous avez raison), mais (et c'est une ambiguïté de R, je trouve), cette fonction ne fait pas une anova (comme vous le dites), mais calcule ce qu'on appelle un test de rapport de vraisemblance (ce qui peut être pris comme une généralisation de l'anova, il est vrai).
4) Avoir une p-value plus faible veut dire que votre test est encore plus significatif. En quasipoisson, puisque vos SE diminuent, votre procédure de test devient plus puissante, et vous êtes plus à même de détecter un effet, et donc votre p-value diminue. Donc, si, vous avez un "très (très!) fort effet de la variable PES".
5) Dans les sorties de la fonction summary(), juste en-dessous du tableau donnant les paramètres de régression estimés, R vous dit soit "(Dispersion parameter for poisson family taken to be 1)" si vous utilisez "poisson" (car ce paramètre n'est pas estimé), soit "(Dispersion parameter for quasipoisson family taken to be 22.4898)" si vous utilisez "quasipoisson" (car ce paramètre est estimé). C'est là que j'ai trouvé la valeur de 22.48.
HTH, Eric.
Dernière édition par Eric Wajnberg le Ven 8 Déc 2017 - 13:58, édité 1 fois
Eric Wajnberg- Nombre de messages : 1238
Date d'inscription : 14/09/2012
Re: Que conclure d'un glm en quasi-poisson?
Merci beaucoup!
Elisa7- Nombre de messages : 3
Date d'inscription : 06/12/2017
Page 1 sur 1
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum