Les posteurs les plus actifs de la semaine


Quelle distribution pour ma variable ?

Aller en bas

Quelle distribution pour ma variable ? Empty Quelle distribution pour ma variable ?

Message par Zeehfir le Mer 6 Mar 2019 - 14:03

Bonjour !

J'étudie une variable Y dépendante qui a une distribution un peu particulière : elle est composée de 307 observations, dont les valeurs s'étendent de -0.05 à 0.25 (donc aussi bien dans les positifs que les négatifs), elle ressemble à s'y méprendre à une distribution gaussienne entre -0.05 et 0.05, mais elle a une longue queue au-delà de 0.1, que je ne peux pas me permettre de retirer par souci de pertinence (ces 30 valeurs extrêmes ont une forte signification dans mon étude, aussi rares soient-elles).

Mon problème est le suivant : mes données ne suivent pas une loi gaussienne (Shapiro-Wilk est formel), et quelle que soit la transformation que je leur fait subir (log, log+1, sqrt, carré, boxCox, boxCox spécial valeurs négatives, etc...), rien n'y fait : je n'ai pas normalité.

J'ai donc décidé de passer à une analyse non-paramétrique, mais pour mon glm, j'ai besoin de spécifier la famille de distribution dont ma variable se rapproche le plus (si je ne dis pas de bêtise).

Vu que je viens à peine de rejoindre ce forum, il ne m'est pas encore autorisé de poster de lien externe, donc je n'ai pas de graphique à vous montrer hélas... Mais si vous avez une idée du type de distribution qui peut globalement coller à une distribution quasi-gaussienne, qui a une longue queue positive, et qui a des valeurs négatives (sans lesquelles j'aurais pu utiliser du Gamma par exemple), je suis preneuse !

Merci d'avance !

Zeehfir

Zeehfir

Nombre de messages : 3
Date d'inscription : 06/03/2019

Voir le profil de l'utilisateur

Revenir en haut Aller en bas

Quelle distribution pour ma variable ? Empty Re: Quelle distribution pour ma variable ?

Message par zezima le Mer 6 Mar 2019 - 16:43

Bonjour,

Utiliser un test (e.g. Shapiro) ne sera pas forcément le meilleurs moyen d'estimer une distribution pour une variable.
Tu parles également de Box-Cox, il va se baser sur la vraisemblance de ta distribution à correspondre à une distribution spécifique, pour l'avoir utilisé sur beaucoup de variables, il n'a pas forcément des résultats optimums.

Tu parles de transformation mais est-ce que tu as essayé de supprimer les bruit qui peut avoir un impact sur ta variable ?
Par exemple, il est connu que le poids est une variable normale.
Si tu voulais analyser le poids des hommes, en sélectionnant des individus qui viennent des Etats-unis, de Norvège et du Tchad, tu pourrais tomber sur une distribution qui ne ressemble pas à une distribution normale, ce phénomène pourrait potentiellement être expliqué par le fait que tu as du "bruit" sur ta variable à analyser "le poids".
L'astuce serait d'analyser les résidus d'un modèle où tu essaies de supprimer le bruit qui a pu avoir un impact sur ta variable "poids".
Tu analyserais les résidus du modèle Poids ~ Pays.
Potentiellement tu aurais des résidus distribués de manière normale et tu pourrais donc évaluer ta variable comme étant normale.
Tu peux faire la même chose et tester la normalité sur tes résidus ou sur une transformation de tes résidus.

A quoi correspond ta variable dépendante ?
Est-ce que certaines variables pourraient avoir un impact sur la distribution de ta variable ?

Peut-être que tes 30 valeurs extrêmes correspondent à un groupe spécifique (hommes/femmes/patients atteints d'une maladie/pathologie).
zezima
zezima

Nombre de messages : 899
Date d'inscription : 26/02/2013

Voir le profil de l'utilisateur

Revenir en haut Aller en bas

Quelle distribution pour ma variable ? Empty Re: Quelle distribution pour ma variable ?

Message par Eric Wajnberg le Dim 10 Mar 2019 - 6:31

Pour compléter la réponse de zezima, il serait bien que vous nous expliquiez la question posée.

Si la question est "à quoi ressemble la distribution de mes données ?", alors vous avez déjà la réponse, avec votre histogramme.

J'imagine que vous voulez tester/comparer des effets, etc. Merci de nous expliquer ceci.

Plus généralement, le modèle linéaire général (ANOVA, etc.) est connu depuis très longtemps pour être robuste à la non-normalité. Peut-être qu'après tout, une bonne veille ANOVA conviendrait très bien..

HTH, Eric.
Eric Wajnberg
Eric Wajnberg

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

Voir le profil de l'utilisateur

Revenir en haut Aller en bas

Quelle distribution pour ma variable ? Empty Re: Quelle distribution pour ma variable ?

Message par Zeehfir le Lun 11 Mar 2019 - 14:18

Bonjour, et merci pour vos réponses ! Voici des précisions :

Je travaille sur l'effet d'un indice de consanguinité sur diverses variables de survie/reproduction/fitness en général chez une espèce sauvage.

Ici, il était question de savoir si le taux de consanguinité (qui est ma variable entre -0.05 et 0.25) varie avec la classe d'âge (un facteur à deux modalités : jeune ou adulte), le type d'habitat (ouvert, mixte ou fermé) et le sexe de l'individu.

Or, les valeurs extrêmes de la variable de consanguinité ont une lourde signification biologique : les individus très consanguins ne peuvent et ne doivent pas être retirés de mon jeu de données, leur présence dans mes données doit être interprétée ! et ces valeurs extrêmes correspondent a priori à des jeunes très consanguins n'ayant pas (encore) succombé, et aux adultes ayant survécu malgré les désavantages que peut impliquer un fort taux de consanguinité.

Je dois donc faire avec cette queue positive, et l'enlever serait - à mon sens - une erreur...

Merci encore de votre aide, d'ici la semaine prochaine je devrais être autorisée à illustrer mon problème avec des images et graphiques, ce devrait être plus clair pour vous !

Zeehfir

Nombre de messages : 3
Date d'inscription : 06/03/2019

Voir le profil de l'utilisateur

Revenir en haut Aller en bas

Quelle distribution pour ma variable ? Empty Re: Quelle distribution pour ma variable ?

Message par zezima le Lun 11 Mar 2019 - 15:27

Bonjour,

Il n'y a pas besoin de supprimer tes individus avec des valeurs extrêmes afin d'étudier la distribution.

Tu peux faire le modèle indice~âge+autres variables qui peuvent avoir un impact sur la distribution de l'indice (toutes les variables explicatives qui ont du sens que tu n'utiliseras pas dans ton analyse finale).

Tu obtiendras alors des résidus et pourra évaluer si oui ou non ta variable est théoriquement normale.

Ps: si tu veux étudier les résidus de variables transformées, il faut d'abord transformer ta variable puis étudier les résidus et pas l'inverse.

Voici un petit exemple R où les données n'ont pas l'air normales mais au final sont normale après avoir enlevé du bruit :
Code:
##### Distribution analysis #####
install.packages(fBasics)
library(fBasics)
set.seed=1
indice_data=data.frame(indice=c(rnorm(200,5.5,1),rnorm(200,2,1)),age=c(rep("Old",200),rep("Young",200)))
par(mfrow=c(2,1))
summary(indice_data$indice)
hist(indice_data$indice[which(indice_data$indice>0)],xlab="Indice",breaks=50,col="red3",main="Indice (Raw data)")
qqnorm(indice_data$indice[which(indice_data$indice>0)],col="red4");qqline(indice_data$indice)
shapiro.test(indice_data$indice)
skewness(indice_data$indice);kurtosis(indice_data$indice)

res=lm(indice~age,data=indice_data)

summary(res$residuals)
par(mfrow=c(2,1))
hist(res$residuals,col="cyan3",main="Indice (residuals)",xlab="Residuals")
qqnorm(res$residuals,col="cyan4");qqline(res$residuals)
shapiro.test(res$residuals)
skewness(res$residuals);kurtosis(res$residuals)

par(mfrow=c(2,2))
plot(res)


Dernière édition par zezima le Mar 12 Mar 2019 - 8:57, édité 1 fois
zezima
zezima

Nombre de messages : 899
Date d'inscription : 26/02/2013

Voir le profil de l'utilisateur

Revenir en haut Aller en bas

Quelle distribution pour ma variable ? Empty Re: Quelle distribution pour ma variable ?

Message par Eric Wajnberg le Mar 12 Mar 2019 - 5:00

Et juste une (autre) question : Comment on peut avoir un indice de consanguinité négatif ? A quoi ceci correspond ?

Cordialement, Eric.
Eric Wajnberg
Eric Wajnberg

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

Voir le profil de l'utilisateur

Revenir en haut Aller en bas

Quelle distribution pour ma variable ? Empty Re: Quelle distribution pour ma variable ?

Message par Zeehfir le Mar 12 Mar 2019 - 9:22

Merci pour vos réponses, je vais y réfléchir et je reviendrai vers vous si j'ai encore des problèmes.

Et Eric Wajnberg, pour répondre à votre question concernant l'indice de consanguinité (Fgrm) je ne peux que vous conseiller de lire l'article sur lequel mon étude se base :

Huisman et. al., "Inbreeding depression across the lifespan in a wild mammal population", 2016, PNAS

Je vous en ai tout de même extrait un passage :

"Our genomic inbreeding estimator (Fgrm, for Genomic Relatedness Matrix) [...] by Yang et al. estimates how similar the gametes were that made up an individual’s genome, relative to a random draw from a reference population (here: a random-mating population with the same allele frequencies as among our sampled individuals), and can take negative values. The distribution of Fgrm is more convenient statistically than Fped (un autre indice, basé sur le pédigree), as the high, narrow peak at Fped = 0 becomes an approximately normal distribution centered at Fgrm = 0"

En espérant que cela réponde à vos questions !

Zeehfir

Nombre de messages : 3
Date d'inscription : 06/03/2019

Voir le profil de l'utilisateur

Revenir en haut Aller en bas

Quelle distribution pour ma variable ? Empty Re: Quelle distribution pour ma variable ?

Message par Eric Wajnberg le Mar 12 Mar 2019 - 14:37

ok merci. Ca reste contre-intuitif pour moi, mais bon.

Eric.
Eric Wajnberg
Eric Wajnberg

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

Voir le profil de l'utilisateur

Revenir en haut Aller en bas

Quelle distribution pour ma variable ? Empty Re: Quelle distribution pour ma variable ?

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