Log transform ou lien log ?

Aller en bas

Log transform ou lien log ? Empty Log transform ou lien log ?

Message par Nik le Mer 8 Juin 2011 - 15:18

Une fois n'est pas coutume, c'est moi qui pose une question à laquelle je n'ai pas de réponse certaine.

Je me demande si dans le cadre d'une modélisation où par habitude on transforme les données par un log (quelle que soit la base) pour "normaliser" comme on dit et on analyse via un modèle Gaussien classique, il ne serait pas plus judicieux d'analyser les données brutes avec un lien log (en utilisant un GLM). Il me semble avoir lu quelques chose là dessus mais je ne sais plus du tout où.

Des différence entre les deux approches selon vous ?

Merci d'avance

Nik


Nik

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

Revenir en haut Aller en bas

Log transform ou lien log ? Empty Re: Log transform ou lien log ?

Message par droopy le Dim 12 Juin 2011 - 19:57

Peut-être un élément de réponse ici :
http://pj.freefaculty.org/stat/GLM/GammaGLM-01.pdf
droopy
droopy

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

Revenir en haut Aller en bas

Log transform ou lien log ? Empty Re: Log transform ou lien log ?

Message par Nik le Lun 20 Juin 2011 - 6:55

Ok Merci pour le lien.
Un truc sur la "conclusion" finale me parait bizarre :
The residual deviance for the GLM-Gamma model in section 8.1 was 599.09 on 798 degrees of freedom
with an AIC of 2479.4. The GLM-Normal model has deviance of 2156.6 and the AIC was 3069.6.

On est donc sensé en conclure qu'un glm Gaussien avec lien inverse est un "moins bon" modèle que le glm gamma. Mais bien que des modèles de familles différentes puissent être comparés, il y a quand même un ajustement à faire dans le calcul de la log-vraisemblance, et là rien n'est dit.

Mon avis perso est qu'il vaut sans doute mieux utiliser un lien adapté dans le modèle plutôt que de modéliser une variable transformée (à priori c'set confirmé par l'auteur du pdf).

Si vous avez un avis n'hésitez pas Very Happy

Nik

Nik

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

Revenir en haut Aller en bas

Log transform ou lien log ? Empty Re: Log transform ou lien log ?

Message par droopy le Lun 20 Juin 2011 - 7:59

J'avoue ne pas trop savoir ... J'ai beau réfléchir à la question je ne vois pas trop quelles peuvent être les différences majeures entre ces deux approches ... Je n'y ai peut-être pas assez réfléchi.
Pour se faire une idée :
Code:
x <- rnorm(100)
y <- rlnorm(100, 0.75*x-2,0.5)
glm1 <- glm(I(log(y))~x)
glm2 <- glm(y~x, family=gaussian(link="log"))

plot(log(y)~x)
preds1 <- predict(glm1)
preds2 <- predict(glm2, type="link")

preds1 <- preds1[order(x)]
preds2 <- preds2[order(x)]

plot(log(y)~x)
lines(sort(x), preds1, col="black")
lines(sort(x), preds2, col="red")
Il semble que l'AIC du premier modèle soit bien plus petite que celle du deuxème modèle, ce qui tendrait à dire qu'il vaut mieux modéliser sur la transfo log directement qu'en utilisant le lien log ...
Après le pourquoi du comment ... c'est une autre histoire.

Edit : ça dépend peut-être du lien que tu supposes entre la variable log et les variables indépendantes. Ici on suppose que le log(y) varie linéairement avec x ce qui se voit bien sur le graph. Le modèle 1 semble bien mieux adapté que le modèle 2 mais les hypothèses derrières ces deux modèles sont surement différentes.
droopy
droopy

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

Revenir en haut Aller en bas

Log transform ou lien log ? Empty Re: Log transform ou lien log ?

Message par Nik le Lun 20 Juin 2011 - 10:37

droopy a écrit:
Edit : ça dépend peut-être du lien que tu supposes entre la variable log et les variables indépendantes. Ici on suppose que le log(y) varie linéairement avec x ce qui se voit bien sur le graph. Le modèle 1 semble bien mieux adapté que le modèle 2 mais les hypothèses derrières ces deux modèles sont surement différentes.

Oui je suis bien d'accord avec toi. Si tu prends directement des données en log, ça va se conformer à peu près toujours à un modèle gaussien. Par contre prendre le log doit avoir une raison profonde car le gros soucis c'est que tu n'as pas modélisé y mais bien log(y) qui a une variance sans commune mesure avec celle de y. J'ai lu que si tu prends le log c'est que tu supposes un processus multiplicatif et que tu veux le repasser en additif pour plus de simplicité. Mais j'avoue que les processus multiplicatifs, je ne vois pas à quoi ça correspond réellement ?

Et puis la distribution de base choisie doit sans doute changer la donne.

Nik

Nik

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

Revenir en haut Aller en bas

Log transform ou lien log ? Empty Re: Log transform ou lien log ?

Message par droopy le Lun 20 Juin 2011 - 11:52

Par contre prendre le log doit avoir une raison profonde car le gros
soucis c'est que tu n'as pas modélisé y mais bien log(y) qui a une
variance sans commune mesure avec celle de y
Tout a fait ! D'ailleurs si tu fais le même graph mais que tu repasses dans l'espace de la variable tu t'aperçois que le modèle avec le lien log semble mieux s'ajuster aux données que le modèle avec le log de y.
J'ai lu que si tu prends le log c'est que tu supposes un processus
multiplicatif et que tu veux le repasser en additif pour plus de
simplicité. Mais j'avoue que les processus multiplicatifs, je ne vois
pas à quoi ça correspond réellement ?
La je ne vois pas trop non plus, est-ce que tu as la ref pour que je jette un oeil ?
Et puis la distribution de base choisie doit sans doute changer la donne.
Certainement, mais ici on est dans le cas "idéal" puisque la la distribution de y est log normale.
droopy
droopy

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

Revenir en haut Aller en bas

Log transform ou lien log ? Empty Re: Log transform ou lien log ?

Message par Nik le Lun 20 Juin 2011 - 11:57

La je ne vois pas trop non plus, est-ce que tu as la ref pour que je jette un oeil ?

Bah non...et je ne me souviens plus si c'est sur un forum ou une publi ou encore au cours d'une discussion avec quelqu'un...
Tout ce que je me rappelle c'est que c'était à propos de morpho (relation taille-poids peut-être...)


Nik

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

Revenir en haut Aller en bas

Log transform ou lien log ? Empty Re: Log transform ou lien log ?

Message par Nik le Lun 20 Juin 2011 - 14:03

Un article à parcourir qui aborde la question :
http://www.sciencedirect.com/science/article/pii/S0167629601000868

J'ai retrouvé pour la multiplicativité, c'était là:
http://groups.google.com/group/MedStats/browse_thread/thread/4a2b8f39416447d7


Nik

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

Revenir en haut Aller en bas

Log transform ou lien log ? Empty Re: Log transform ou lien log ?

Message par droopy le Mar 21 Juin 2011 - 9:31

Il y a un très bon passage expliquant la différence entre les deux modèles dans le livre :



"Generalized, linear and mixed
models" de C. E. Mcculloch & S. R. Searle en 2001

http://books.google.fr/books?id=XpL38GzFqL0C&lpg=PP1&dq=inauthor%3A%22Shayle%20R.%20Searle%22&pg=PA79#v=onepage&q&f=false
Tout est une question de variance !
droopy
droopy

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

Revenir en haut Aller en bas

Log transform ou lien log ? Empty Re: Log transform ou lien log ?

Message par Nik le Mar 21 Juin 2011 - 10:12

Yes !
Merci Droopy. Effectivement dit comme ça, ça a l'air évident. J'en conclus, si je ne me trompe pas, que transformer des données de comptage en log avant de passer à la moulinette des analyses n'a que très peu de sens (une ACP sur une matrice floro-faunistique par exemple... Rolling Eyes)

Nik

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

Revenir en haut Aller en bas

Log transform ou lien log ? Empty Re: Log transform ou lien log ?

Message par droopy le Mar 21 Juin 2011 - 12:15

Pour ce qui est des modèles, tout dépend donc si tu considères que l'homoscédasticité est sur l'espace de la variable Y ou du de log(y).
Code:
set.seed(100)
x <- rnorm(100)
y <- rnorm(100, exp(-x+6), 1)
# ici homoscédasticité sur la variable donc utilise le lien log
glm(y~x, family=gaussian(link="log"))

y <- rlnorm(100, -0.75*x+2,1)
# ici homogénéité de la variance sur le log
# régression linéaire en log :
lm(log(y)~x)
Après il faut avoir une bonne connaissance des proccessus qui génère y pour savoir ou se situe l'homoscédasticité ...

Pour ce qui est du comptage c'est moins sur que le log n'est pas de sens, parce qu'il n'y a pas de raison de croire qu'ils sont homoscédastique. D'ailleurs, si tes données suivent une loi de poisson alors la variance augmente avec la moyenne. Le log a donc peut-être un sens.
droopy
droopy

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

Revenir en haut Aller en bas

Log transform ou lien log ? Empty Re: Log transform ou lien log ?

Message par Nik le Mar 21 Juin 2011 - 14:20

Si j'ai bien compris :

-on modélise log(y) s'il n'y a pas de lien entre variance et moyenne de y (typiquement une variable morpho)
-on modélise y avec un lien log si un lien moyenne-variance existe comme dans un modèle de Poisson.

Dans le cas des données de comptage, on a bien un lien entre moyenne et variance puisque µ = sd = lambda. Donc il faut faire un lien log et pas transformer avant.

J'ai l'impression d'avoir compris l'inverse de toi ?? geek

je vais relire Very Happy

Nik

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

Revenir en haut Aller en bas

Log transform ou lien log ? Empty Re: Log transform ou lien log ?

Message par droopy le Mar 21 Juin 2011 - 15:34

Tu modélises avec le lien log, quand la variance de y est constante, qu'elle ne varie pas avec la moyenne (comme dans un modèle linéaire classique et à l'inverse de données suivant un processus poissonien) et que la moyenne de y varie de façon exponentielle avec x --> y ~ N(exp(ax+b), s²)
A l'inverse tu modélises log(y) quand la variance de y n'est pas constante avec x (effet entonnoir). C'est par exemple le cas d'une loi log normale ou la variance sera constante que sur le log mais pas dans l'espace de la variabl --> log(y)~N(ax+b, s²)
Yep je crois bien que tu as compris l'inverse aussi ...
droopy
droopy

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

Revenir en haut Aller en bas

Log transform ou lien log ? Empty Re: Log transform ou lien log ?

Message par popotam le Jeu 23 Juin 2011 - 6:46

Nik a écrit:Une fois n'est pas coutume, c'est moi qui pose une question à laquelle je n'ai pas de réponse certaine.

Je me demande si dans le cadre d'une modélisation où par habitude on transforme les données par un log (quelle que soit la base) pour "normaliser" comme on dit et on analyse via un modèle Gaussien classique, il ne serait pas plus judicieux d'analyser les données brutes avec un lien log (en utilisant un GLM). Il me semble avoir lu quelques chose là dessus mais je ne sais plus du tout où.

Des différence entre les deux approches selon vous ?

# Le 1er modèle, en supposant la régression linéaire simple : log(y) ~ N(ax+b, sigma)
En moyenne, lorsque x augmente de 1, alors log(y) augmente de a, autrement dit y est multiplié par exp(a).
C'est pourquoi on parle d'effet multiplicatif de x sur y.

# Le 2ème modèle, à supposer que tu parles de la famille gaussienne dans le GLM : y ~ N(exp(ax + b), sigma)
De même, lorsque x augmente de 1, alors y est multiplié par exp(a).

La différence essentielle est que l'homogénéité des variances porte sur log(y) ou y.

# Ta question dans le cas de données de comptage est fonciérement différente. D'abord, on ne peut pas modéliser log(y) par une v.a. de Poisson lorsque les y sont des comptages (des nombres entiers)

popotam

Nombre de messages : 371
Date d'inscription : 27/09/2006

Revenir en haut Aller en bas

Log transform ou lien log ? Empty Re: Log transform ou lien log ?

Message par Nik le Ven 24 Juin 2011 - 9:22

Salut

En moyenne, lorsque x augmente de 1, alors log(y) augmente de a, autrement dit y est multiplié par exp(a).
C'est pourquoi on parle d'effet multiplicatif de x sur y.
Oui ok pour la définition maths de l'effet multiplicatif mais je parlais lorsqu'on aborde un sujet quelconque savoir si une variable agit de manière additive ou multiplicative n'est pas toujours évident quand on a pas énormément d'info sur la dite variable.

@Droopy
Yes c'est ok pour moi...j'avais bien compris le texte et fais un léger mélange par la suite Very Happy

Nik

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

Revenir en haut Aller en bas

Log transform ou lien log ? Empty Re: Log transform ou lien log ?

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