problème de variables pour régression logistique

Postez ici vos questions, réponses, commentaires ou suggestions - Les sujets seront ultérieurement répartis dans les archives par les modérateurs

Modérateur : Groupe des modérateurs

Claire Reinhardt
Messages : 3
Enregistré le : 22 Mai 2008, 05:30

problème de variables pour régression logistique

Messagepar Claire Reinhardt » 22 Mai 2008, 09:01

Bonjour,

Je souhaite effectuer une régression logistique binaire avec R. Je souhaite expliquer la variable X (présence ou absence d'un évènement modélisé par 1 ou 0) en fonction des variables A, B, C (qui sont binaires) et en fonction de la variable DISTANCE qui a 3 modalités (faible, moyenne, forte que j'ai codé en 0, 1 et 2).

J'utilise la fonction glm avec l'option family=binomial.

J'ai transformé ma variable DISTANCE en variables binaires D1 et D2 avec le codage :
(D1,D2)=(1,0) qui correspond à 0 pour DISTANCE
(D1,D2)=(0,1) qui correspont à 1 pour DISTANCE
(D1,D2)=(0,0) qui correspond à 2 pour DISTANCE

Dans le fichier que j'utilise pour la régression il y a les valeurs des variables X, A, B, C, DISTANCE, D1 et D2.

Cependant, je ne sais pas comment faire pour que R considère que la variable DISTANCE est représentée par D1 et D2. De plus, je ne sais pas comment faire pour que R considère D1 et D2 comme allant ensemble et non comme deux variables explicatives différentes.

J'espère avoir été assez claire.
Merci.

Logez Maxime
Messages : 2282
Enregistré le : 26 Sep 2006, 11:35

Messagepar Logez Maxime » 22 Mai 2008, 09:05

Bonjour,

c'est pas clair pour moi ton affaire. Pourquoi ne pas avoir garder la variable distance en facteur ?

Maxime

Vincent Boulanger
Messages : 76
Enregistré le : 25 Avr 2006, 11:59

Messagepar Vincent Boulanger » 22 Mai 2008, 09:15

Bonjour,
pour moi, il n'est pas possible avec tes données de faire de la régression logistique.
Une régression logistique cherche à modéliser une variable binaire en fonction d'une ou plusieurs variables continues.
Or ici, il semblerait que tu cherches un lien entre un variable binaire (X) en fonction de variables factorielles (A,B,C binaires et Distance à 3 facteurs).

Bref, comme suggéré par maxime, si tu gardes la distance en continu (supposé que tu aie la donnée sous cette forme),
tu peux alors utiliser un modèle logistique : glm(X~dist, data=..., family="binomial")

Sinon, il te faut faire des tables de contingence que tu analyseras avec des tests type chi2 (approché) ou fisher (exact)
de manière à connaître le lien entre deux variables.

VB
Vincent Boulanger
Ingénieur Forestier
Doctorant Cemagref/INRA/ONCFS

Logez Maxime
Messages : 2282
Enregistré le : 26 Sep 2006, 11:35

Messagepar Logez Maxime » 22 Mai 2008, 09:22

Bonjour,
pour moi, il n'est pas possible avec tes données de faire de la régression logistique.
Une régression logistique cherche à modéliser une variable binaire en fonction d'une ou plusieurs variables continues.


Pas d'accord. Tu peux très bien intégrer des variables qualitatives. Je n'ai jamais vu de limitation dans des bouquins de stats ni dans mes cours disant que la régression logistique ne se fait qu'avec des variables continues.

Maxime

Vincent Boulanger
Messages : 76
Enregistré le : 25 Avr 2006, 11:59

Messagepar Vincent Boulanger » 22 Mai 2008, 09:41

oui, c'est tout à fait juste, je me méprend, mes excuses,
ne pas tenir compte de ce que j'ai dit concernant les logistiques...que j'utilise dans des cas très particuliers qui biaisent mon raisonnement...
Vincent Boulanger

Ingénieur Forestier

Doctorant Cemagref/INRA/ONCFS

Claire Reinhardt
Messages : 3
Enregistré le : 22 Mai 2008, 05:30

Messagepar Claire Reinhardt » 22 Mai 2008, 09:47

Logez Maxime a écrit :Bonjour,

c'est pas clair pour moi ton affaire. Pourquoi ne pas avoir garder la variable distance en facteur ?

Maxime


Je n'ai pas gardé la variable DISTANCE en facteur car dans le cours que j'ai regardé, il était dit de faire une transfomation similaire à celle que j'ai faite. Mais si cela ne pose pas de problème de garder la variable DISTANCE telle quel, la question est règlée.

Merci pour vos réponses.

Logez Maxime
Messages : 2282
Enregistré le : 26 Sep 2006, 11:35

Messagepar Logez Maxime » 22 Mai 2008, 09:54

Re,

R va gérer ça tout seul et transformer lui même cette variable avec trois facteurs en deux indicatrices. Par contre si tu veux que la modalité "2" de Distance soit le '0,0' de tes indicatrices il te faudra modifier les contrastes de ce facteur :

Code : Tout sélectionner

distance <- gl(3,3,label=c(0:2))
contrasts(distance)
  1 2
0 0 0
1 1 0
2 0 1
contr.treatment(levels(distance),3)
  0 1
0 1 0
1 0 1
2 0 0
contrasts(distance) <- contr.treatment(levels(distance),3)


Maxime[/quote]

Nicolas Péru
Messages : 1372
Enregistré le : 07 Aoû 2006, 08:13

Messagepar Nicolas Péru » 22 Mai 2008, 09:55

Bonjour,

Comme l'a dit maxime, il n'y a aucun intéret à recoder distance. Il suffit de voir ton problème comme une regression logistique sur variable catégorielle. Que les variables aient 2 ou 3 niveau ne change rien.

Une très bonne ref sur les variables catégorielles :

Agresti's Categorical Data Analysis 2nd edition (2002)

et l'incontournable travail de Laura Thompson en guise de compagnon au livre d'Agresti le tout en langage S avec beaucoup d'exemple et les codes associés.:
https://home.comcast.net/~lthompson221/ ... crete2.pdf

Nicolas

Claire Reinhardt
Messages : 3
Enregistré le : 22 Mai 2008, 05:30

Messagepar Claire Reinhardt » 22 Mai 2008, 11:00

Merci beaucoup pour vos réponses.


Retourner vers « Questions en cours »

Qui est en ligne

Utilisateurs parcourant ce forum : Aucun utilisateur enregistré et 1 invité