Les posteurs les plus actifs de la semaine
Aucun utilisateur |
Sujets les plus vus
Linéarité: variables quantitatives avec valeurs nulles?
3 participants
Page 1 sur 1
Linéarité: variables quantitatives avec valeurs nulles?
Bonjour à tous,
Je souhaite faire une régression logistique pour tester la relation entre une variable Y dichotomique et une variable X quantitative discrète (min=0 et max=5) sous STATA.
Dans le cas de X quantitatif, il faut faire attention à ce que la relation avec Y soit linéaire avant de conserver X sous sa forme originale. Si ce n'est pas le cas, on procède à une transformation ou alors on utilise des polynômes fractionnaires ou des splines par exemple. Du moins, c'est ce que j'ai compris mais cela peut être faux. A vous de me le dire ;-)
Pour tester la linéarité, j'utilise la fonction mfp sous STATA qui permet de tester différentes fonctions de X. Quand la réponse est la fonction linéaire, tout est bien et facile ;-) Par contre, quand la relation n'est pas linéaire, je rechigne à utiliser la transformation proposée par la fonction mfp car l'interprétation peut être vraiment compliquée et difficilement "communicable". Dans ces cas, j'utilise une transformation log et cela passe très souvent.
Mon problème aujourd'hui est que j'ai une variable qui peut prendre des valeurs nulles (et il y en a un certain nombre!), la transformation log ne fonctionne donc pas.
Est-ce qu'il est possible d'ajouter une constante à mon X (>1?) pour ne plus avoir de valeurs nulles avant de procéder à une transformation par log?
Merci pour votre aide,
Candemum.
Je souhaite faire une régression logistique pour tester la relation entre une variable Y dichotomique et une variable X quantitative discrète (min=0 et max=5) sous STATA.
Dans le cas de X quantitatif, il faut faire attention à ce que la relation avec Y soit linéaire avant de conserver X sous sa forme originale. Si ce n'est pas le cas, on procède à une transformation ou alors on utilise des polynômes fractionnaires ou des splines par exemple. Du moins, c'est ce que j'ai compris mais cela peut être faux. A vous de me le dire ;-)
Pour tester la linéarité, j'utilise la fonction mfp sous STATA qui permet de tester différentes fonctions de X. Quand la réponse est la fonction linéaire, tout est bien et facile ;-) Par contre, quand la relation n'est pas linéaire, je rechigne à utiliser la transformation proposée par la fonction mfp car l'interprétation peut être vraiment compliquée et difficilement "communicable". Dans ces cas, j'utilise une transformation log et cela passe très souvent.
Mon problème aujourd'hui est que j'ai une variable qui peut prendre des valeurs nulles (et il y en a un certain nombre!), la transformation log ne fonctionne donc pas.
Est-ce qu'il est possible d'ajouter une constante à mon X (>1?) pour ne plus avoir de valeurs nulles avant de procéder à une transformation par log?
Merci pour votre aide,
Candemum.
Candemum- Nombre de messages : 22
Date d'inscription : 09/06/2011
Re: Linéarité: variables quantitatives avec valeurs nulles?
Attention, je vois une confusion ici. La régression logistique est une régression linéaire dans un espace probit. Il n'y a rien de linéaire dans l'espace d'origine des variables, et c'est heureux. Vérifier une relation linéaire ici ne rime à rien, je pense, et n'est même d'aucune utilité, à mon avis.Candemum a écrit:Dans le cas de X quantitatif, il faut faire attention à ce que la relation avec Y soit linéaire avant de conserver X sous sa forme originale. Si ce n'est pas le cas, on procède à une transformation ou alors on utilise des polynômes fractionnaires ou des splines par exemple. Du moins, c'est ce que j'ai compris mais cela peut être faux. A vous de me le dire ;-).
Notamment, c'est bien Y qui est transformé (en logit) et X n'a aucun besoin de l'être, a priori.
HTH, Eric.
Eric Wajnberg- Nombre de messages : 1238
Date d'inscription : 14/09/2012
Re: Linéarité: variables quantitatives avec valeurs nulles?
Bonjour Eric,
Merci pour ta réponse.
Peut-être dois-je préciser (si tant est que ce ne soit pas évident ;-) ) que je ne suis pas statisticienne mais une simple épidémiologiste qui essaie tant bien que mal à faire de bonnes stat's ;-)
Je me suis peut-être mal exprimée.
Je souhaite modéliser Logit Y = beta0 + beta1X1 où X1 est une variable quantitative. Je dois choisir la meilleure forme de relation qui lie logit Y et X1. Dans mon cas, la forme linéaire ne convient pas en gardant ma variable X1 telle qu'elle. Il faudrait dans l'idéal que je passe par une polynôme fractionnaire (du type Logit Y= beta0 + beta1(X^-2-.1657048509) + beta2(X^-2*ln(X)-.1489311354)) mais ce n'est pas interprétable facilement voire pas du tout (les ORs que l'on en déduit ne veulent rien dire comme cela!).
En bref, sans même parler de polynôme, comment je peux transformer une variable quantitative contenant des valeurs nulles !
Candémum.
Merci pour ta réponse.
Peut-être dois-je préciser (si tant est que ce ne soit pas évident ;-) ) que je ne suis pas statisticienne mais une simple épidémiologiste qui essaie tant bien que mal à faire de bonnes stat's ;-)
Je me suis peut-être mal exprimée.
Je souhaite modéliser Logit Y = beta0 + beta1X1 où X1 est une variable quantitative. Je dois choisir la meilleure forme de relation qui lie logit Y et X1. Dans mon cas, la forme linéaire ne convient pas en gardant ma variable X1 telle qu'elle. Il faudrait dans l'idéal que je passe par une polynôme fractionnaire (du type Logit Y= beta0 + beta1(X^-2-.1657048509) + beta2(X^-2*ln(X)-.1489311354)) mais ce n'est pas interprétable facilement voire pas du tout (les ORs que l'on en déduit ne veulent rien dire comme cela!).
En bref, sans même parler de polynôme, comment je peux transformer une variable quantitative contenant des valeurs nulles !
Candémum.
Candemum- Nombre de messages : 22
Date d'inscription : 09/06/2011
Re: Linéarité: variables quantitatives avec valeurs nulles?
Je ne suis (toujours) pas sûr de bien comprendre. La relation est supposée linéaire dans l'espace probit, mais l'idée est d'ajuster une régression logistique. Les coefficients de cette équation, d'où viennent-ils ? J'espère qu'ils ne viennent pas d'un ajustement fait par des moindres carrés, car nous sommes ici dans le cas binomial et il s'agit de maximiser plutôt une vraisemblance binomiale ce qui ne correspond pas à du moindre carré. En clair, je continues à douter du bien-fondé d'absolument chercher à transformer X avant l'ajustement.
Ce qui peut être fait, en revanche, c'est d'ajuster une régression logistique avec un terme linéaire, un terme quadratique, un terme cubique, etc. Et de trier ensuite, par des tests de rapport de vraisemblance, lesquels de ces termes sont statistiquement significatifs. Ca a le mérite de ne pas rechercher avant absolument une linéarité, et ca a à la fois plus de sens, et ca reste interprétable ensuite.
HTH, Eric.
Ce qui peut être fait, en revanche, c'est d'ajuster une régression logistique avec un terme linéaire, un terme quadratique, un terme cubique, etc. Et de trier ensuite, par des tests de rapport de vraisemblance, lesquels de ces termes sont statistiquement significatifs. Ca a le mérite de ne pas rechercher avant absolument une linéarité, et ca a à la fois plus de sens, et ca reste interprétable ensuite.
HTH, Eric.
Eric Wajnberg- Nombre de messages : 1238
Date d'inscription : 14/09/2012
Re: Linéarité: variables quantitatives avec valeurs nulles?
Merci encore Eric.
En fait, le problème vient du langage. Je n'ai pas le langage stat' et je ne suis peut-être pas en mesure d'exprimer correctement ce que je souhaite comme je ne suis pas forcément en mesure de comprendre ce que vous me dites :-(
Les coefficients viennent de la fonction mfp de stata.
Voilà ce que dit l'aide de la fonction :
mfp selects the multivariable fractional polynomial (MFP) model that best predicts the outcome variable from the right-hand-side variables in xvarlist.
For univariate fractional polynomials, fp can be used to fit a wider range of models than mfp.
(dispo à http://www.stata.com/manuals13/rmfp.pdf).
Par ailleurs, j'ai lu le document écrit par Jean Bouyer qui traite de la transformation des variables quantitatives dans le cas de la régression logistique : https://cel.archives-ouvertes.fr/cel-00794996/document.
Ce sera certainement plus clair comme cela ;-)
Merci encore de l'aide que vous m'apportez !
Candémum
En fait, le problème vient du langage. Je n'ai pas le langage stat' et je ne suis peut-être pas en mesure d'exprimer correctement ce que je souhaite comme je ne suis pas forcément en mesure de comprendre ce que vous me dites :-(
Les coefficients viennent de la fonction mfp de stata.
Voilà ce que dit l'aide de la fonction :
mfp selects the multivariable fractional polynomial (MFP) model that best predicts the outcome variable from the right-hand-side variables in xvarlist.
For univariate fractional polynomials, fp can be used to fit a wider range of models than mfp.
(dispo à http://www.stata.com/manuals13/rmfp.pdf).
Par ailleurs, j'ai lu le document écrit par Jean Bouyer qui traite de la transformation des variables quantitatives dans le cas de la régression logistique : https://cel.archives-ouvertes.fr/cel-00794996/document.
Ce sera certainement plus clair comme cela ;-)
Merci encore de l'aide que vous m'apportez !
Candémum
Candemum- Nombre de messages : 22
Date d'inscription : 09/06/2011
Re: Linéarité: variables quantitatives avec valeurs nulles?
Bonjour,
Ta question n'est pas une question de stat en tant que telle même si les choix que tu dois faire peuvent avir une incidence sur l'analyse.
Il serait en effet dangereux de te répondre sans savoir ce qu'est ton X. l'échelle de mesure d'une variable est grandement liée au sens de cette variable et donc à l'interprétabiltié du modèle qui est défini.
Donc c'est au praticien de dire quelle est l'échelle la plus adaptée et l'éventuelle transformation à y apporter selon les contraintes relevées par le statisticien.
Laisser faire le statisticien risque fort de conduire à un modèle statistiquement valide mais biologiquement non fondé donc faux et inutilisable.
Nik
Ta question n'est pas une question de stat en tant que telle même si les choix que tu dois faire peuvent avir une incidence sur l'analyse.
Il serait en effet dangereux de te répondre sans savoir ce qu'est ton X. l'échelle de mesure d'une variable est grandement liée au sens de cette variable et donc à l'interprétabiltié du modèle qui est défini.
Donc c'est au praticien de dire quelle est l'échelle la plus adaptée et l'éventuelle transformation à y apporter selon les contraintes relevées par le statisticien.
Laisser faire le statisticien risque fort de conduire à un modèle statistiquement valide mais biologiquement non fondé donc faux et inutilisable.
Nik
Nik- Nombre de messages : 1606
Date d'inscription : 23/05/2008
Re: Linéarité: variables quantitatives avec valeurs nulles?
En plus de la remarque de Nik, ce que je dis reste valide. Je le répète donc ici (ayant l'impression de ne pas avoir été lu) :
HTH, Eric.
Je continues à penser que c'est la bonne stratégie, plutôt que de chercher coûte que coûte une transformation phénoménologique de la variable X qui ne pourra pas être interprétée.Eric Wajnberg a écrit:En clair, je continues à douter du bien-fondé d'absolument chercher à transformer X avant l'ajustement.
Ce qui peut être fait, en revanche, c'est d'ajuster une régression logistique avec un terme linéaire, un terme quadratique, un terme cubique, etc. Et de trier ensuite, par des tests de rapport de vraisemblance, lesquels de ces termes sont statistiquement significatifs. Ca a le mérite de ne pas rechercher avant absolument une linéarité, et ca a à la fois plus de sens, et ca reste interprétable ensuite.
HTH, Eric.
Eric Wajnberg- Nombre de messages : 1238
Date d'inscription : 14/09/2012
Re: Linéarité: variables quantitatives avec valeurs nulles?
Merci Nik et Eric,
Après avoir supprimé ma réponse, je recommence ;-)
Je souhaite analyser la probabilité d'être hypertendu selon le nombre d'évènements stressants survenus pendant l'enfance (variable discrète; min-max=0-5). Au total, 19.3% de mon échantillon ne déclarent pas d'évènements pendant cette période, d'où mon problème !
Est-ce que cela aide?
@Eric: j'avais vu cette partie de votre réponse mais comme je l'ai écrit, je ne suis pas sûre de bien comprendre (terme cubique à peu près, mais quadratique pas trop ;-( ).
Bon, après avoir fouiné un peu sur le net, je cerne un peu mieux la chose sans toutefois la maîtriser totalement.
Si je comprends, l'idée est de "tester" différents modèles par ex: Logit Y= a + bX3 contre Logit Y= a +bX +cX2 ou autre forme par des tests de vraisemblance.
Est-ce cela?
Si oui, il faut maintenant que je trouve comment le faire pratiquement.
Candémum.
Après avoir supprimé ma réponse, je recommence ;-)
Je souhaite analyser la probabilité d'être hypertendu selon le nombre d'évènements stressants survenus pendant l'enfance (variable discrète; min-max=0-5). Au total, 19.3% de mon échantillon ne déclarent pas d'évènements pendant cette période, d'où mon problème !
Est-ce que cela aide?
@Eric: j'avais vu cette partie de votre réponse mais comme je l'ai écrit, je ne suis pas sûre de bien comprendre (terme cubique à peu près, mais quadratique pas trop ;-( ).
Bon, après avoir fouiné un peu sur le net, je cerne un peu mieux la chose sans toutefois la maîtriser totalement.
Si je comprends, l'idée est de "tester" différents modèles par ex: Logit Y= a + bX3 contre Logit Y= a +bX +cX2 ou autre forme par des tests de vraisemblance.
Est-ce cela?
Si oui, il faut maintenant que je trouve comment le faire pratiquement.
Candémum.
Candemum- Nombre de messages : 22
Date d'inscription : 09/06/2011
Re: Linéarité: variables quantitatives avec valeurs nulles?
Après avoir regardé encore l'aide de la fonction mfp de stata, il existe une option zero qui permet de prendre en compte la particularité de mon prédicteur qui contient beaucoup de valeurs nulles:
zero(varlist) treat nonpositive values of specified predictors as zero when FP transformed
mais je ne suis pas sûre de ce que cela fait. Est-ce que cela ne prend pas du tout en compte mes valeurs nulles et modèlise seulement en utilisant les valeurs positives? Avez-vous une idée?
Sophie.
zero(varlist) treat nonpositive values of specified predictors as zero when FP transformed
mais je ne suis pas sûre de ce que cela fait. Est-ce que cela ne prend pas du tout en compte mes valeurs nulles et modèlise seulement en utilisant les valeurs positives? Avez-vous une idée?
Sophie.
Candemum- Nombre de messages : 22
Date d'inscription : 09/06/2011
Re: Linéarité: variables quantitatives avec valeurs nulles?
Le fait qu'il y ait 19.3 % des individus qui ne déclarent pas d’événements ne pose pas de problème à priori.
Un terme linéaire est en X; un terme quadratique est en X^2; un terme cubique est en X^3; et ainsi de suite.
Il faut donc effectivement, et empiriquement, ajuster un modèle du type :
logit(y)= a1*X + a2*X*X + a3 X*X*X, etc.
Et tester ensuite - au besoin séparément - la significativité des coefficient a1, a2, a3, etc. Et des tests de rapport de vraisemblance permettent de faire ceci facilement.
Tout ceci est bien plus simple (et je pense plus pertinent) que de vouloir absolument linéariser la variable X.
HTH, Eric.
Un terme linéaire est en X; un terme quadratique est en X^2; un terme cubique est en X^3; et ainsi de suite.
Il faut donc effectivement, et empiriquement, ajuster un modèle du type :
logit(y)= a1*X + a2*X*X + a3 X*X*X, etc.
Et tester ensuite - au besoin séparément - la significativité des coefficient a1, a2, a3, etc. Et des tests de rapport de vraisemblance permettent de faire ceci facilement.
Tout ceci est bien plus simple (et je pense plus pertinent) que de vouloir absolument linéariser la variable X.
HTH, Eric.
Eric Wajnberg- Nombre de messages : 1238
Date d'inscription : 14/09/2012
Re: Linéarité: variables quantitatives avec valeurs nulles?
Merci encore Eric du temps que vous passez sur ma question.
Je ne suis pas sûre de vouloir linéariser la relation à tout prix mais trouver une fonction quelle qu'elle soit qui prenne en compte au mieux la relation que X entretient avec Logit(Y) tout en étant interprétable (ce que ne me permet pas de faire la fonction proposée par mfp).
En ajoutant un terme cubique ou quadratique ou autre, n'est-ce pas trouver une meilleur façon de modéliser la relation de X avec Logit(Y)?
Je vais essayer la méthode proposée. Mais je dois comparer les modèles entre eux pour savoir celui qui est le meilleur, n'est-ce pas? Ou alors comment savoir qu'un modèle est mieux que l'autre?
Candemum.
Je ne suis pas sûre de vouloir linéariser la relation à tout prix mais trouver une fonction quelle qu'elle soit qui prenne en compte au mieux la relation que X entretient avec Logit(Y) tout en étant interprétable (ce que ne me permet pas de faire la fonction proposée par mfp).
En ajoutant un terme cubique ou quadratique ou autre, n'est-ce pas trouver une meilleur façon de modéliser la relation de X avec Logit(Y)?
Je vais essayer la méthode proposée. Mais je dois comparer les modèles entre eux pour savoir celui qui est le meilleur, n'est-ce pas? Ou alors comment savoir qu'un modèle est mieux que l'autre?
Candemum.
Candemum- Nombre de messages : 22
Date d'inscription : 09/06/2011
Re: Linéarité: variables quantitatives avec valeurs nulles?
Si, vous aurez un moyen de modéliser au mieux la relation entre X et Y (compte-tenu du fait que Y est un trait binomial).
Oui, des tests de rapport de vraisemblance comparent les modèles entre eux, effectivement. Par exemple, comparer le modèle avec et sans a1 (pour reprendre ma notation) permettra de savoir si a1 (le terme linéaire) à un effet, etc.
HTH, Eric.
Oui, des tests de rapport de vraisemblance comparent les modèles entre eux, effectivement. Par exemple, comparer le modèle avec et sans a1 (pour reprendre ma notation) permettra de savoir si a1 (le terme linéaire) à un effet, etc.
HTH, Eric.
Eric Wajnberg- Nombre de messages : 1238
Date d'inscription : 14/09/2012
Re: Linéarité: variables quantitatives avec valeurs nulles?
Merci Eric pour ces précisions.
Je vais me lancer dans cette aventure ;-)
Merci encore.
Candémum
Je vais me lancer dans cette aventure ;-)
Merci encore.
Candémum
Candemum- Nombre de messages : 22
Date d'inscription : 09/06/2011
Re: Linéarité: variables quantitatives avec valeurs nulles?
J'ai donc fait tourner les 3 modèles suivants:
(a) Logit(Y)= a1*X
(b) Logit(Y)= a1*X + a2*X*X
(c) Logit(Y)= a1*X + a2*X*X + a3 X*X*X
J'ai comparé par des tests de rapport de vraisemblance:
a b --> p=0.559
a c --> p=0.01
b c --> p=0.003 (plus par curiosité ;-) )
Comme le modèle c semble amélioré significativement la vraisemblance, je vais donc choisir le modèle c.
Après la question est comment présenter ces résultats? Je ne peux pas présenter seulement l'OR de X mais il faut que je présente l'OR pour chacun des termes, n'est-ce pas? Si oui, cela ne facilite pas l'interprétation!
Candemum
(a) Logit(Y)= a1*X
(b) Logit(Y)= a1*X + a2*X*X
(c) Logit(Y)= a1*X + a2*X*X + a3 X*X*X
J'ai comparé par des tests de rapport de vraisemblance:
a b --> p=0.559
a c --> p=0.01
b c --> p=0.003 (plus par curiosité ;-) )
Comme le modèle c semble amélioré significativement la vraisemblance, je vais donc choisir le modèle c.
Après la question est comment présenter ces résultats? Je ne peux pas présenter seulement l'OR de X mais il faut que je présente l'OR pour chacun des termes, n'est-ce pas? Si oui, cela ne facilite pas l'interprétation!
Candemum
Candemum- Nombre de messages : 22
Date d'inscription : 09/06/2011
Re: Linéarité: variables quantitatives avec valeurs nulles?
On reste dans un schéma de régression (multiple). Les résultats ne sont pas plus compliqués à présenter que pour n'importe quelle régression multiple, pour chaque terme éventuellement, oui. Et puis, on peut toujours faire un graphique X-Y avec les données observés et la courbe ajustée du modèle, etc.
Eric.
Eric.
Eric Wajnberg- Nombre de messages : 1238
Date d'inscription : 14/09/2012
Page 1 sur 1
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum