+Régression logistique
Eugénie Dostie-Goulet
Plan de la présentationPourquoi une régression logistique?La régression logistiqueLes « odds ratio » ou rapports de probabilitéLa prédiction
+Les probabilités
+Pourquoi la régression logistique?
Les cas qu’on étudie ne sont pas toujours linéaires (en fait, rarement)• Déclarer la guerre ou non?• Financer un programme ou non?• Voter ou non?
La régression logistique s’applique aux situations où la variable dépendante se limite à deux choix.
Ce qui nous intéresse, c’est de savoir si les variables indépendantes X peuvent prédire l’appartenance de Y à l’une ou l’autre des deux catégories. Et si oui, selon quelle probabilité.
+Pourquoi la régression logistique?
Mais pourquoi ne pas utiliser la régression MCO? • Parce que celle-ci n’est pas contrainte à prendre des valeurs entre 0 et 1.• Effet estimé souvent sous-estimé ou exagéré• L’erreur est très élevée
On préfère donc utiliser une régression logistique
y = p = exp(a + β1*x1 + ... + βk*xk)/(1+exp(a + β1*x1 + ... + βk*xk))
y = toujours entre 0 et 1 (probabilité)
+Notre étude
Les données• L’étude électorale canadienne 2008
L’hypothèse• Les Canadiens qui croient que l’obéissance est plus importante que
l’autonomie chez les enfants sont plus susceptibles d’être en faveur de la peine de mort
Les attentes• Nous nous attendons à une relation forte entre nos deux variables
+La régression logistique
Variable dépendante: • 1 = en faveur de la peine de mort• 0 = contre la peine de mort
Variables indépendantes• Obéissance : dichotomique où 1 = obéissance pour les enfants et 0
= autonomie pour les enfants (32% sont d’accord avec l’obéissance)
• Âge : continue de 18 à 97 (moyenne = 51,7)• Éducation: trois dichotomiques (élevée, moyenne, faible), avec
environ le tiers des répondants dans chaque catégorie
+Tableau croisé
CrossTable(mort,obeissance, prop.c=T, prop.r=F, prop.t=F, prop.chisq=F, chisq=T, format="SPSS")
R
+La régression logistique
> logit=glm(mort ~ obeissance + age + edufaible + edumoyen, family=binomial("logit"))> summary(logit)
R
+Qualité du modèle
-
> logit$null.deviance - logit$deviance[1] 85.73607
> logit$df.null - logit$df.residual[1] 4
> dchisq(logit$null.deviance-logit$deviance, logit$df.null-logit$df.residual)[1] 5.173114e-18
+La régression logistique
> logit=glm(mort ~ obeissance + age + edufaible + edumoyen, family=binomial("logit"))> summary(logit)
R
+« Odds Ratio » ouRapports de probabilité
OR = eb = e0.452647 = 1,572470
R
+Comment lire les rapports de probabilité?
P = 0,60: diminue la probabilité de 40%
P = 0,80: diminue la probabilité de 20%
P = 1: 0%. Le changement dans la variable indépendante n'affecte pas la variable dépendante
P = 1,40: augmente la probabilité de 40%
P = 2: augmente la probabilité de 100% (c'est un rapport de 2 contre 1)
P = 4,20: augmente la probabilité de 320%
+Coefficients et probabilité
Coefficients Rapports de probabilité
Constante -.47 (0.17)*
Obeissance .45 (0.11)* 1.57
Age -.00 (.00) .99
Edufaible .88 (.13)* 2.42
Edumoyen .43 (.12)* 1.54
+Prédictions
> obeissance=c(1)> age=c(mean(df$age, na.rm=T))> edufort=c(1)> edumoyen=c(0)> edufaible=c(0)> newdata1=data.frame(obeissance, age, edufort, edumoyen, edufaible)> newdata1
> newdata1$predict=predict(logit, newdata=newdata1, type="response")> newdata1
R
+Prédictions
> obeissance=c(1)> age=c(mean(df$age, na.rm=T))> edufort=c(1)> edumoyen=c(0)> edufaible=c(0)> newdata1=data.frame(obeissance, age, edufort, edumoyen, edufaible)> newdata1
> newdata1$predict=predict(logit, newdata=newdata1, type="response")> newdata1
R
obeissance age edufort edumoyen edufaible predict1 0 51.69948 1 0 0 0.33229111 0 51.69948 0 1 0 0.43317971 0 51.69948 0 0 1 0.54664261 1 51.69948 1 0 0 0.43900691 1 51.69948 0 1 0 0.54581061 1 51.69948 0 0 1 0.6546996
+Prédictions
> newdata2=data.frame(obeissance=1, age=seq(18,98,10), edufort=1, edumoyen=0, edufaible=0)> > newdata2$predict2=predict(logit, newdata=newdata2, type="response")> newdata2
R
Top Related