Les posteurs les plus actifs de la semaine
Aucun utilisateur |
Sujets les plus vus
ACP et matrice corrélation
2 participants
Page 1 sur 1
ACP et matrice corrélation
Bonjour,
N'ayant pas de réponse à ma dernière question sur mon sujet précédent, je pense que c'est parce que c'est devenu le fouillis dans mon sujet.
Je me permets donc de poster deux questions ici, ce sera bien plus clair.
J'étudie donc les liens entre l'apparition de pollutions dans un lac avec des facteurs environnementaux comme le vent, la turbidité, la pluviométrie, etc.
J'ai donc 11 variables : 2 correspondant à la concentration en polluant le jour J et le jour d'après et 9 correspondant aux facteurs environnementaux. J'ai 120 données par variable.
J'ai fait une ACP là dessus (Rcmdr avec Factominer) pour établir des liens entre variables et j'ai fait aussi une matrice de corrélation. Je joins ci-dessous le résultat de mon ACP. On remarque les variables sont très mal représentées (43%) donc l'ACP est non interprétable. Donc faut-il s'arrêter là où faut-il effectuer d'autres traitements comme la suppression de variables ?
Autre question concernant la matrice de corrélation : est-il nécessaire que les données soient normées pour le test sur les corrélations de Pearson ?
Merci à vous et n'hésitez pas si quelque chose n'est pas clair.
Sandpiper.
N'ayant pas de réponse à ma dernière question sur mon sujet précédent, je pense que c'est parce que c'est devenu le fouillis dans mon sujet.
Je me permets donc de poster deux questions ici, ce sera bien plus clair.
J'étudie donc les liens entre l'apparition de pollutions dans un lac avec des facteurs environnementaux comme le vent, la turbidité, la pluviométrie, etc.
J'ai donc 11 variables : 2 correspondant à la concentration en polluant le jour J et le jour d'après et 9 correspondant aux facteurs environnementaux. J'ai 120 données par variable.
J'ai fait une ACP là dessus (Rcmdr avec Factominer) pour établir des liens entre variables et j'ai fait aussi une matrice de corrélation. Je joins ci-dessous le résultat de mon ACP. On remarque les variables sont très mal représentées (43%) donc l'ACP est non interprétable. Donc faut-il s'arrêter là où faut-il effectuer d'autres traitements comme la suppression de variables ?
Autre question concernant la matrice de corrélation : est-il nécessaire que les données soient normées pour le test sur les corrélations de Pearson ?
Merci à vous et n'hésitez pas si quelque chose n'est pas clair.
Sandpiper.
- Fichiers joints
Sandpiper- Nombre de messages : 46
Date d'inscription : 24/05/2013
Re: ACP et matrice corrélation
Plusieurs points, dans l'ordre:
1) Une ACP reste une analyse seulement descriptive. Ce n'est pas une méthode qui va donc permettre de savoir s'il existe des "liens entre l'apparition de pollutions dans un lac avec des facteurs environnementaux comme le vent, la turbidité, la pluviométrie, etc.". Il faudrait mieux s'orienter sur des méthodes de type régression.
2) 43% de représentation sur les deux premiers axes, c'est loin d'être négligeable sachant qu'il y a 11 axes (si j'ai bien compris). En aucune façon on ne peux conclure que les variables soient mal représentées. Et puis pourquoi ne pas aller voir sur les autres axes, si jamais l'ACP est la méthode qui convient?
3) Vous parlez ensuite de tests sur les corrélations. Non, les données n'ont pas la nécessité d'être normées, le test s'en charge pour vous. En revanche, il faut que les données suivent des lois normales.
HTH, Eric.
1) Une ACP reste une analyse seulement descriptive. Ce n'est pas une méthode qui va donc permettre de savoir s'il existe des "liens entre l'apparition de pollutions dans un lac avec des facteurs environnementaux comme le vent, la turbidité, la pluviométrie, etc.". Il faudrait mieux s'orienter sur des méthodes de type régression.
2) 43% de représentation sur les deux premiers axes, c'est loin d'être négligeable sachant qu'il y a 11 axes (si j'ai bien compris). En aucune façon on ne peux conclure que les variables soient mal représentées. Et puis pourquoi ne pas aller voir sur les autres axes, si jamais l'ACP est la méthode qui convient?
3) Vous parlez ensuite de tests sur les corrélations. Non, les données n'ont pas la nécessité d'être normées, le test s'en charge pour vous. En revanche, il faut que les données suivent des lois normales.
HTH, Eric.
Eric Wajnberg- Nombre de messages : 1238
Date d'inscription : 14/09/2012
Re: ACP et matrice corrélation
Bonjour et merci pour votre réponse. Je réponds point par point.
1. Oui j'ai prévu de faire des régressions entre les variables corrélées. Mais l'ACP permet quand même d'avoir une vue générale de la structure des données et donc des liens (au sens corrélation) entre variables.
2. Je suis étonné quand vous dites que ce n'est pas négligeable. Le modèle n'explique quand meme pas 55 % de la variabilité du jeu de données, je trouve ça énorme.
Il y a 11 variables donc oui (si j'ai bien compris l'ACP, je ne suis pas matheux du tout) il y a 11 axes. Justement, je ne sais pas comment aller voir sur d'autres axes et à quoi ça sert.
3. Désolé, je me suis trompé, je voulais bien entendu dire distribtion normale. J'ai vérifié avec un test de Shapiro-Wilk et malheureusement la distribution de la majorité des variables n'est pas normale. Elles suivent plutôt une loi de Poisson avec beaucoup de valeurs à 0 puis une décroissance des fréquences au fur et à mesure que les valeurs des concentrations augmentent.
Dans ce cadre, quel test de corrélation utiliser ? Le test de Spearman sur les rangs me semble non paramétrique. Qu'en pensez vous et quelles sont les conditions à respecter pour ce test ?
Merci encore une fois
Sandpiper.
1. Oui j'ai prévu de faire des régressions entre les variables corrélées. Mais l'ACP permet quand même d'avoir une vue générale de la structure des données et donc des liens (au sens corrélation) entre variables.
2. Je suis étonné quand vous dites que ce n'est pas négligeable. Le modèle n'explique quand meme pas 55 % de la variabilité du jeu de données, je trouve ça énorme.
Il y a 11 variables donc oui (si j'ai bien compris l'ACP, je ne suis pas matheux du tout) il y a 11 axes. Justement, je ne sais pas comment aller voir sur d'autres axes et à quoi ça sert.
3. Désolé, je me suis trompé, je voulais bien entendu dire distribtion normale. J'ai vérifié avec un test de Shapiro-Wilk et malheureusement la distribution de la majorité des variables n'est pas normale. Elles suivent plutôt une loi de Poisson avec beaucoup de valeurs à 0 puis une décroissance des fréquences au fur et à mesure que les valeurs des concentrations augmentent.
Dans ce cadre, quel test de corrélation utiliser ? Le test de Spearman sur les rangs me semble non paramétrique. Qu'en pensez vous et quelles sont les conditions à respecter pour ce test ?
Merci encore une fois
Sandpiper.
Sandpiper- Nombre de messages : 46
Date d'inscription : 24/05/2013
Re: ACP et matrice corrélation
L'ACP restitue 100% de l'information si on considère tout les axes. Par ailleurs, plus il y a de variables, et - à moins qu'elles soient fortement corrélées - l'information se distribuera sur de plus en plus d'axse, et l'information restituée par les deux premiers axes seulement sera mécaniquement de plus en plus faible. Je le répète donc, 11 axes et presque la moitié de l'info sur les deux premiers, c'est déjà beaucoup (sinon énorme), je pense.
Mais il ressort de cette discussion que l'ACP n'est pas la méthode qui répond à votre question. Du tout, je pense.
Pour les corrélations, effectivement si pas gaussien, travailler en non-paramétrique, notamment avec des corrélations de Spearman, semble être une solution possible.
HTH, Eric.
Mais il ressort de cette discussion que l'ACP n'est pas la méthode qui répond à votre question. Du tout, je pense.
Pour les corrélations, effectivement si pas gaussien, travailler en non-paramétrique, notamment avec des corrélations de Spearman, semble être une solution possible.
HTH, Eric.
Eric Wajnberg- Nombre de messages : 1238
Date d'inscription : 14/09/2012
Re: ACP et matrice corrélation
OK, j'avais pensé aussi au modèle linéaire généralisé, mais comme je le maîtrise encore moins bien que l'ACP, je n'avais pas tenté. J'ai fait un test rapide, et j’obtiens ceci :
Call:
glm(formula = Log_polluant_J1 ~ conc_nitrates + debit + ensoleillt +
hteur_eau + pluviom + pluviom96h + temp_eau + turbi + vit_vent,
family = poisson(identity), data = Dataset)
Deviance Residuals:
Min 1Q Median 3Q Max
-1.01080 -0.42798 -0.06491 0.33083 1.64584
Coefficients:
Estimate Std. Error z value Pr(>|z|)
(Intercept) 1.553e+00 1.053e+00 1.475 0.140
conc_nitrates 5.992e-02 8.440e-02 0.710 0.478
debit 8.103e-07 1.097e-05 0.074 0.941
ensoleillt 1.682e-03 3.451e-03 0.487 0.626
hteur_eau -2.821e-01 2.117e-01 -1.332 0.183
pluviom 2.999e-02 3.920e-02 0.765 0.444
pluviom96h 2.012e-02 2.490e-02 0.808 0.419
temp_eau 9.576e-03 3.471e-02 0.276 0.783
turbi -2.812e-03 6.227e-03 -0.452 0.652
vit_vent 2.349e-02 3.715e-02 0.632 0.527
(Dispersion parameter for poisson family taken to be 1)
Null deviance: 36.654 on 118 degrees of freedom
Residual deviance: 28.250 on 109 degrees of freedom
AIC: Inf
Number of Fisher Scoring iterations: 8
la variable à expliquer est le log de la concentration en polluant à J+1. Je ne savais pas quelle fonction de lien choisir, j'ai pris logit.
De ce que je comprends des résultats il n'y a pas de liaison entre mes caractères.
Je ne sais absolument pas ce que vaut ce modèle !?!
Call:
glm(formula = Log_polluant_J1 ~ conc_nitrates + debit + ensoleillt +
hteur_eau + pluviom + pluviom96h + temp_eau + turbi + vit_vent,
family = poisson(identity), data = Dataset)
Deviance Residuals:
Min 1Q Median 3Q Max
-1.01080 -0.42798 -0.06491 0.33083 1.64584
Coefficients:
Estimate Std. Error z value Pr(>|z|)
(Intercept) 1.553e+00 1.053e+00 1.475 0.140
conc_nitrates 5.992e-02 8.440e-02 0.710 0.478
debit 8.103e-07 1.097e-05 0.074 0.941
ensoleillt 1.682e-03 3.451e-03 0.487 0.626
hteur_eau -2.821e-01 2.117e-01 -1.332 0.183
pluviom 2.999e-02 3.920e-02 0.765 0.444
pluviom96h 2.012e-02 2.490e-02 0.808 0.419
temp_eau 9.576e-03 3.471e-02 0.276 0.783
turbi -2.812e-03 6.227e-03 -0.452 0.652
vit_vent 2.349e-02 3.715e-02 0.632 0.527
(Dispersion parameter for poisson family taken to be 1)
Null deviance: 36.654 on 118 degrees of freedom
Residual deviance: 28.250 on 109 degrees of freedom
AIC: Inf
Number of Fisher Scoring iterations: 8
la variable à expliquer est le log de la concentration en polluant à J+1. Je ne savais pas quelle fonction de lien choisir, j'ai pris logit.
De ce que je comprends des résultats il n'y a pas de liaison entre mes caractères.
Je ne sais absolument pas ce que vaut ce modèle !?!
Sandpiper- Nombre de messages : 46
Date d'inscription : 24/05/2013
Re: ACP et matrice corrélation
1) Un GLM est une régression. Ca renvoit à ce que je proposais.
2) Un modèle Poissonnien est pour un comptage. Le log de la concentration en polluant à J+1 n'en est pas un. Il y a une erreur ici.
3) Vous dites avoir pris un logit, mais vous indiquez dans votre ajustement un lien identité.
4) Pour connaitre la fonction de lien à choisir, il faut connaitre la distribution de la variable à modéliser. Si elle est gaussienne (pourquoi ne la serait-elle pas?), une régression multiple, avec un lien identité (sur variable gaussienne) devrait être le bon choix.
5) Je ne comprends pas la phrase "Je ne sais pas ce que vaut ce modèle". S'il s'agit de savoir s'il décrit bien les données ou non, il existe des critères statistiques pour ceci.
HTH, Eric.
2) Un modèle Poissonnien est pour un comptage. Le log de la concentration en polluant à J+1 n'en est pas un. Il y a une erreur ici.
3) Vous dites avoir pris un logit, mais vous indiquez dans votre ajustement un lien identité.
4) Pour connaitre la fonction de lien à choisir, il faut connaitre la distribution de la variable à modéliser. Si elle est gaussienne (pourquoi ne la serait-elle pas?), une régression multiple, avec un lien identité (sur variable gaussienne) devrait être le bon choix.
5) Je ne comprends pas la phrase "Je ne sais pas ce que vaut ce modèle". S'il s'agit de savoir s'il décrit bien les données ou non, il existe des critères statistiques pour ceci.
HTH, Eric.
Eric Wajnberg- Nombre de messages : 1238
Date d'inscription : 14/09/2012
Re: ACP et matrice corrélation
D'accord. ça avance, je comprends de mieux en mieux.
Oui j'ai opté pour un modèle Poissonnien car ma distribution y correspond quand je fais un histogramme des fréquences. Mes données de concentrations,non transformée en log sont pour moi des données de comptages car les chiffres sont issues de lectures d’abaques : c'est un nombre de cellules (plancton) dans 1 mL d'eau, donc des données discrètes.
C'est juste que j'ai énormément de classes : la fréquence est très forte pour la classe 0 cellules/mL puis décroit.
Existe -t-il un test d'adéquation à la loi de Poisson ?
Ce qui est sûr c'est que la distribution de la variable à expliquer n'est pas gaussienne, même en la passant en log (p<0.05 avec Shapiro-Wilk).
Mille mercis encore une fois !
Oui j'ai opté pour un modèle Poissonnien car ma distribution y correspond quand je fais un histogramme des fréquences. Mes données de concentrations,non transformée en log sont pour moi des données de comptages car les chiffres sont issues de lectures d’abaques : c'est un nombre de cellules (plancton) dans 1 mL d'eau, donc des données discrètes.
C'est juste que j'ai énormément de classes : la fréquence est très forte pour la classe 0 cellules/mL puis décroit.
Existe -t-il un test d'adéquation à la loi de Poisson ?
Ce qui est sûr c'est que la distribution de la variable à expliquer n'est pas gaussienne, même en la passant en log (p<0.05 avec Shapiro-Wilk).
Mille mercis encore une fois !
Sandpiper- Nombre de messages : 46
Date d'inscription : 24/05/2013
Re: ACP et matrice corrélation
Oui, tout ceci semble poissonien, et un GLM pour données de comptage (régression log-linéaire) semble être le bon choix. Mais la fonction de lien est la fonction log, pas la fonction identity comme vous le faites.
Pour l'adéquation à la loi de Poisson, vous pouvez ajuster votre modèle avec family=quasipoisson, plutot que family=poisson. Et regarder ensuite la valeur (cette fois-ci estimée) du paramètre de dispersion. S'il est proche de 1.0, alors vous êtes très probablement sur des lois de Poisson.
Mais on va pas pouvoir à ce point - je le crains - faire avancer cette discussion plus en avant, car une discussion sur un forum ne peux pas remplacer un cours sur le GLM. A ce stade, il conviendrait que vous lisiez un cours ou sur le GLM, je pense.
Mais, oui, vous avancez !
Eric.
Pour l'adéquation à la loi de Poisson, vous pouvez ajuster votre modèle avec family=quasipoisson, plutot que family=poisson. Et regarder ensuite la valeur (cette fois-ci estimée) du paramètre de dispersion. S'il est proche de 1.0, alors vous êtes très probablement sur des lois de Poisson.
Mais on va pas pouvoir à ce point - je le crains - faire avancer cette discussion plus en avant, car une discussion sur un forum ne peux pas remplacer un cours sur le GLM. A ce stade, il conviendrait que vous lisiez un cours ou sur le GLM, je pense.
Mais, oui, vous avancez !
Eric.
Eric Wajnberg- Nombre de messages : 1238
Date d'inscription : 14/09/2012
Sujets similaires
» matrice de covariance ou de corrélation ?
» matrice de transition
» Matrice d'information de Fisher
» Matrice de confusion et pourcentage
» Matrice d'information de Fisher et matrice de covariance
» matrice de transition
» Matrice d'information de Fisher
» Matrice de confusion et pourcentage
» Matrice d'information de Fisher et matrice de covariance
Page 1 sur 1
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum