Forum de Statistiques
Vous souhaitez réagir à ce message ? Créez un compte en quelques clics ou connectez-vous pour continuer.
Le Deal du moment : -67%
Carte Fnac+ à 4,99€ au lieu de 14,99€ ...
Voir le deal
4.99 €

GLM et séries temporelles en écologie

4 participants

Aller en bas

GLM et séries temporelles en écologie Empty GLM et séries temporelles en écologie

Message par heloise38 Lun 16 Mai 2016 - 15:13

Bonjour,

Etudiante en écologie, je travaille en stage sur des données de comptages d'oiseaux sur une assez grande échelle de temps (20-30 ans selon les espèces). J'ai donc des séries temporelles pour par exemple la période d'hivernage avec (plus ou moins) plusieurs valeurs par an.

Je travaille sous R mais mes cours de stats s'étant limités aux tests univariés, aux régressions linéaires, aux ANOVA (modèle linéaire général) et aux analyses multivariées (ACP, AFC...), je ne suis pas du tout armée pour analyser ces séries temporelles. L'objectif de ces analyses sont :
- calculer les tendances (augmentation, stabilité, baisse au cours du temps)
- prendre en compte plusieurs facteurs explicatifs (quantitatifs et qualitatifs)


En dehors des problèmes liés aux données (plusieurs observateurs, pas de protocoles définis, pas d'infos sur l'effort d'échantillonnage, fréquence d'échantillonnage variable, variabilité de la détection...), je cherche des informations sur les analyses que je peux faire.

Je ne peux pas faire de régression linéaire simple ou multiple car la distribution de la variable "comptage" ne suit pas une loi normale mais suit plutôt une loi de Poisson.

Je m'intéresse donc aux modèles linéaires généralisés, pour faire une régression log-linéaire de Poisson (fonction glm sous R, family = poisson, link = log).

Mais je vais être confrontée au problème de surdispersion, une loi de Poisson contraignant la variance de la variable (y) : var(y) = moyenne(y) =  lambda sous une loi de Poisson, ce qui risque de ne pas être vérifié. Je peux cependant prendre en compte ce phénomène de surdispersion sous R (family = quasipoisson), le modèle prenant alors en compte un paramètre de dispersion Phi (qui peut être estimé avec la statistique de Pearson) : var(y) = Phi x moyenne(y). Il y a ainsi surdispersion lorsque Phi>1. Les paramètres ne sont plus estimés avec la méthode du maximum de vraisemblance, donc le calcul de l'AIC ne sera pas possible.

Première question au sujet de ce GLM : est-ce que j'ai bien compris jusqu'ici ? peut-on alors calculer un paramètre type AIC pour juger de la qualité et de la complexité du modèle ? et quelles sont les hypothèses inhérentes à ce genre de modèle ?

Cependant, autre problème que je vois : l'autocorrélation. Je suis dans le cas de série temporelle, la variable est corrélée avec les mesures précédentes (t-1, t-2, t-k, k le décalage, le lag). En biologie, cela correspond au fait que l'effectif de la population à l'année t dépend des années précédentes. Comment prendre en compte l'autocorrélation dans mes données ? Est-ce que je peux commencer par faire un GLM et vérifier a posteriori si les résidus sont effectivement autocorrélés via la fonction d'autocorrélation (acf sous R) ?

Je me suis donc penchée sur d'autres modèles qui sont utilisés pour calculer les tendances des séries temporelles (mais pas de prise en compte de variables explicatives) : les modèles ARMA, ARIMA, qui prennent en compte des processus "stationnaires" ou non, "autorégressifs" et de "moyenne mobile". Mais je ne comprends pas ces modèles, je n'ai pas trouvé de document clair à ce sujet, je tombe sur des cours pour des étudiants en maths de M1-M2 et je ne vois pas ce qui se cache derrière les formules mathématiques sensées définir un progressus "stationnaire", "autorégressif"... Je suis aussi tombée sur des modèles "GEE" (équations d'estimations généralisées). Mais je n'arrive pas à faire la part des choses entre ces différents modèles, je viens de passer plusieurs après-midi à essayer de trouver des explications sur internet et je n'ai pas d'interlocuteurs pour m'éclairer.

D'une part, quelqu'un pourrait-il m'aider sur ces questions :
- qu'est-ce que c'est un processus stationnaire ?
- qu'est-ce que c'est les paramètres autorégressifs d'ordre 1 et d'ordre supérieur (AR(1), AR(2)...) ?
- qu'est-ce que le phénomène de moyenne mobile ?
- qu'est-ce que les équations d'estimations généralisés ?


Deuxièmement, pour le choix/l'application du modèle :
- est-il possible de faire un GLM en prenant en compte l'autocorrélation ?
- sinon, est-ce que je peux faire un GLM et vérifier a posteriori s'il y a un phénomène d'autocorrélation dans les résidus via la fonction acf sous R (ou des tests d'hypothèses Durbin et Watson... ?) ?
- est-ce que je dois me pencher sur les modèles avec des paramètres autorégressifs (ARMA...) et faire d'une part ce genre de modèle pour l'analyse des tendances d'autre part un GLM pour modéliser les différentes variables explicatives ?


Merci à ceux qui ont eu le courage de lire.

Bonne journée

Héloïse

heloise38

Nombre de messages : 8
Date d'inscription : 16/05/2016

Revenir en haut Aller en bas

GLM et séries temporelles en écologie Empty Re: GLM et séries temporelles en écologie

Message par Eric Wajnberg Mar 24 Mai 2016 - 16:11

Et bien, de nombreuses questions en un seul post!

Rapidement, votre problème n'est pas tant sur le GLM, mais sur les fait qu'effectivement vos données sont autocorrélées (disons non-indépendantes) et il faut prendre ceci en compte. Il y a plusieurs solutions, celle d'un GEE me semble la bonne ici. Il s'agit d'un GLM (par exemple sur Poisson) mais où on estime la corrélation entre les données qui se répètent. Chercher dans ce sens. Sous R il y a un package qui fait ça très bien: geepack.

Maintenant:

- qu'est-ce que c'est un processus stationnaire ?
C'est un processus qui ne change pas au cours du temps.

- qu'est-ce que c'est les paramètres autorégressifs d'ordre 1 et d'ordre supérieur (AR(1), AR(2)...) ?
Dans un AR(1) on ajuste une régression entre les données mesurées au temps t et celles mesurées au temps t-1. Le paramètre autorégressif est le pente de cette régression. Dans un AR(2), etc, on rajoute les données au temps t-2, etc. dans la régression.

- qu'est-ce que le phénomène de moyenne mobile ?
C'est un processus dit de lissage. On replace la valeur au temps t par la moyenne de la valeur au temps t-2, t-1, t, t+1 et t+2, pour une fenêtre de taille 5. On peut faire varier la taille de la fenetre. Plus elle est grande plus il y aura de "lissage".

- qu'est-ce que les équations d'estimations généralisés ?
C'est le GEE dont je parle ci-dessous.

- est-il possible de faire un GLM en prenant en compte l'autocorrélation ?
Oui, un GEE (par exemple) fait ça (de plusieurs manières possibles, par exemple avec un AR(1)).

Tenez-nous au courant.

HTH, Eric.
Eric Wajnberg
Eric Wajnberg

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

Revenir en haut Aller en bas

GLM et séries temporelles en écologie Empty Re: GLM et séries temporelles en écologie

Message par heloise38 Mer 25 Mai 2016 - 15:16

Merci beaucoup pour votre réponse.

Je suis en train de creuser. Je vais aussi regarder les modèles ARMA, ARIMA de plus près (qui semblent adapter pour décrire les tendances des séries temporelles) et aussi les GLMM (GLM mixtes, avec effets aléatoires pour les années, et effets fixes pour les variables explicatives, dans l'optique d'expliquer les tendances). Effectivement les GEE c'est ce que fait le logiciel TRIM, un logiciel conçu pour ce genre d'analyses mais limité pour certaines raisons dans mon cas : ce logiciel fait un GLM et peut prendre en compte un paramètre de dispersion et/ou un paramètre d'autocorrélation, auquel cas les paramètres du modèles sont estimées par les GEE. C'est ce que vous me conseillez ici. J'ai donc 3 pistes à explorer (pas forcément pertinentes, le but est d'en comprendre l'intérêt, de faire un choix éclairé et de savoir le mettre en application !) :
- GLM avec GEE
- GLMM
- ARMA/ARIMA

Je vous tiens au courant.

Merci
Héloïse

heloise38

Nombre de messages : 8
Date d'inscription : 16/05/2016

Revenir en haut Aller en bas

GLM et séries temporelles en écologie Empty Re: GLM et séries temporelles en écologie

Message par Nik Jeu 26 Mai 2016 - 6:13

Bonjour,

La réponse d'Eric est suffisamment complète donc je n'ajoute rien hormis le fait que ton message initial est, certes long, mais très bien tourné et suffisamment clair.

C'est assez rare pour être souligné.
Donc merci pour cet effort de clarté et de concision.

Nik

Nik

Nombre de messages : 1606
Date d'inscription : 23/05/2008

Revenir en haut Aller en bas

GLM et séries temporelles en écologie Empty Re: GLM et séries temporelles en écologie

Message par Eric Wajnberg Jeu 26 Mai 2016 - 6:15

Vous avez bien compris. En fait, vous êtes effectivement confrontée à présent - comme tout le monde dans ce cas - à la nécessité de choisir entre un GEE et un GLMM. Il y a des sites web pédagogiques qui expliquent les pros et cons de ces deux possibilités.

Notez pour finir que la processus AR(1) est inclu comme une option du GEE, et que ces deux approches - dans R en tout cas - savent estimer le modèle en prenant en compte la surdispersion, en tout cas dans le cas binomial ou poisson.

HTH, Eric.
Eric Wajnberg
Eric Wajnberg

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

Revenir en haut Aller en bas

GLM et séries temporelles en écologie Empty Re: GLM et séries temporelles en écologie

Message par droopy Jeu 26 Mai 2016 - 8:16

Bonjour,
L'autocorrélation temporelle peut aussi être intégrée dans un GLMM, soit avec des AR(1), etc, soit avec des fonctions exponentielles, puissance, gaussienne etc. Tu dois pouvoir faire ça avec le package nlme en spécifiant une matrice de corrélation avec les fonctions corExp, etc. Le livre Mixed Effects Models
and Extensions in Ecology with R est top pour ça. Si tu n'arrives pas à le consulter envoi un mp. Après il y a pas mal de littérature aussi qui compare les approches de type GEE et GLMM.

cdlt
droopy
droopy

Nombre de messages : 1156
Date d'inscription : 04/09/2009

Revenir en haut Aller en bas

GLM et séries temporelles en écologie Empty Re: GLM et séries temporelles en écologie

Message par heloise38 Jeu 26 Mai 2016 - 13:13

Merci pour vos retours !

Je construis un code R pour un premier GLM avec GEE et le calcul de tendances associé. C'est le modèle qui est actuellement utilisé par les gestionnaires avec qui je travaille (je suis en stage pro).

Questions cependant :
1. Je me rends compte que la méthode pour calculer l'intervalle de confiance ne fonctionne pas (fonction confint()) alors que j'en ai besoin pour déduire les tendances. J'ai trouvé cette fonction : confint.geeglm() (voir ici). Ce calcul d'intervalle de confiance vous paraît-il correct ? (pour un modèle de Poisson)

2. Comment estimer la validité et la pertinence de ce modèle GEE (sous R) ? Puisque manifestement, on ne peut pas ni faire les tests d'adéquation classiques (Khi2 de Pearson, "rapport de vraisemblance" que je traduis de "likelikood ratio") ni un calcul d'AIC.

Pour le reste, je continue d'explorer les différentes pistes.

Merci.
Cordialement
Héloïse

heloise38

Nombre de messages : 8
Date d'inscription : 16/05/2016

Revenir en haut Aller en bas

GLM et séries temporelles en écologie Empty Re: GLM et séries temporelles en écologie

Message par Eric Wajnberg Jeu 26 Mai 2016 - 18:54

Je ne connaissais pas confint.geeglm(). En regardant la doc, c'est juste fondé sur une approximation normale des paramètres qui sont effectivement asymptotiquement gaussiens, donc ca devrait être correct.

La validité et la pertinence d'un GEE revient plus généralement à la validité et la pertinence d'un GLM (un GEE est un GLM muni d'une structure de corrélation, c'est tout). Il n'y a pas beaucoup d'outils pour ça. Déjà, si vous êtes dans le cas binomial ou poisson, estimez le paramètre de surdispersion par family=quasibinomial ou family=quasipoisson et s'il est proche de 1.0 c'est vous déjà pas mal dans les clous. C'est déjà un grand début.

Oui, la traduction de "likelihood ratio" en français, c'est "rapport de vraisemblance" et on peut calculer des rapports de vraisemblance avec un GEE.

HTH, Eric.
Eric Wajnberg
Eric Wajnberg

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

Revenir en haut Aller en bas

GLM et séries temporelles en écologie Empty Re: GLM et séries temporelles en écologie

Message par heloise38 Jeu 26 Mai 2016 - 19:18

Merci pour votre réponse ! Et oui j'ai déjà une idée de ce paramètre de dispersion (j'avais trouvé qu'on peut l'estimer avec la statistique de Pearson, et j'avais trouvé le code R associé) et il est très élevé... Mais je ne vois pas quoi faire, autrement qu'avec une (quasi) loi de Poisson...

J'ai aussi trouvé un équivalent de l'AIC, le "QIC" et je vais voir pour les rapports de vraisemblance.

heloise38

Nombre de messages : 8
Date d'inscription : 16/05/2016

Revenir en haut Aller en bas

GLM et séries temporelles en écologie Empty Re: GLM et séries temporelles en écologie

Message par droopy Ven 27 Mai 2016 - 8:43

Bonjour,

j'ai dit une bêtise, avec nlme tu ne peux pas estimer un glmm. Pour tes problèmes de dispersion tu peux t'orienter vers des glmm avec une loi négative binomiale par exemple. Il y a des packages qui font ça dans R.

cdlt
droopy
droopy

Nombre de messages : 1156
Date d'inscription : 04/09/2009

Revenir en haut Aller en bas

GLM et séries temporelles en écologie Empty Re: GLM et séries temporelles en écologie

Message par heloise38 Ven 27 Mai 2016 - 18:13

Merci droopy pour ta participation ! Je crois que pour le GLMM il y a la fonction glmer() du package lmer. A propos du livre sur les GLMM, je ne sais pas si j'aurais le temps de le lire, j'ai déjà beaucoup de mal à construire un code pour les GEE : je construis un modèle et j'en déduis la tendance associée (classification en stable, incertaine ou augmentation forte etc) mais je n'arrive pas à savoir si déjà on peut valider et retenir le modèle obtenu (quel test ? et comment le faire sous R ?), et je n'arrive pas à faire une représentation graphique avec les intervalles de confiance. Je n'ai pas non plus trouvé d'arguments satisfaisants pour choisir entre le GEE et le GLMM et j'ai souvent l'impression de ne pas m'en sortir à propos de ces considérations statistiques Neutral  

Je vous recontacte quand j'aurais avancé. Je vais aussi me pencher sur cette loi binomiale négative. De toute façon avant tout choix de modèle je pensais : regarder la corrélation entre les variables environnementales (corrélation Spearman a priori, mais le choix des variables est encore en discussions avec les partenaires !) et vérifier la distribution de la variable explicative (graphiquement + test du Khi² et de Kolmogorov-Smirnov de mémoire), bref construire une méthodologie que je pourrais appliquer à toutes les espèces.

N'hésitez pas si vous avez des conseils ou des liens intéressants sur le sujet.

Merci
Héloïse

heloise38

Nombre de messages : 8
Date d'inscription : 16/05/2016

Revenir en haut Aller en bas

GLM et séries temporelles en écologie Empty Re: GLM et séries temporelles en écologie

Message par Contenu sponsorisé


Contenu sponsorisé


Revenir en haut Aller en bas

Revenir en haut

- Sujets similaires

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