Régression logistique Eugénie Dostie-Goulet

Preview:

DESCRIPTION

Régression logistique Eugénie Dostie-Goulet. Plan de la présentation Pourquoi une régression logistique? La régression logistique Les « odds ratio » ou rapports de probabilité La prédiction. Les probabilités. Pourquoi la régression logistique?. - PowerPoint PPT Presentation

Citation preview

+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

Recommended