38
STT-4400 / STT-6210 Analyse de tableaux de fréquences Exemple de régression logistique avec les données des limules Sophie Baillargeon Hiver 2013 1

Exemple de régression logistique avec les données des limules

  • Upload
    others

  • View
    9

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Exemple de régression logistique avec les données des limules

STT-4400 / STT-6210

Analyse de tableaux de fréquences

Exemple de régression logistique avec lesdonnées des limules

Sophie Baillargeon

Hiver 20131

Page 2: Exemple de régression logistique avec les données des limules

Variable réponse Y : présence ou non d’au moins un mâle satelliteVariables explicatives potentielles :

– x1 : largeur de la carapace de la limule (cm)– x2 : couleur de la carapace (1=pâle, 2=médium, 3=foncé moyen,4=foncé)

– x3 : poids de la limule (kg)– x4 : état des épines de la limule (1=les deux en bon état, 2=une seule en mauvais état, 3=les deux en mauvais état)

data limules;infile "C:\Users\Sophie Baillargeon\Dropbox\MesDossiers\Tableaux de frequences\Hiver2013\Programmes

SAS\limule.dat";input couleur epine largeur satellites poids;if satellites > 0 then y=1;else if satellites = 0 then y=0;else y=.;

run;

2

Page 3: Exemple de régression logistique avec les données des limules

Étape 1 : Exploration des données

On veut d’abord comprendre les variables et avoir une idée desvaleurs qu’elles prennent.

proc freq data=limules;table y couleur epine;run;

The FREQ Procedure

Cumulative Cumulativey Frequency Percent Frequency Percent------------------------------------------------------0 62 35.84 62 35.841 111 64.16 173 100.00

Frequency Missing = 1

Cumulative Cumulativecouleur Frequency Percent Frequency Percent------------------------------------------------------------

1 12 6.90 12 6.902 95 54.60 107 61.49

3

Page 4: Exemple de régression logistique avec les données des limules

3 45 25.86 152 87.364 22 12.64 174 100.00

Cumulative Cumulativeepine Frequency Percent Frequency Percent----------------------------------------------------------

1 37 21.26 37 21.262 16 9.20 53 30.463 121 69.54 174 100.00

proc corr data=limules;var largeur poids;run;

The CORR Procedure

2 Variables: largeur poids

Simple Statistics

Variable N Mean Std Dev Sum Minimum Maximum

largeur 174 26.28391 2.11217 4573 21.00000 33.50000poids 174 2.44043 0.57693 424.63400 1.20000 5.20000

4

Page 5: Exemple de régression logistique avec les données des limules

Pearson Correlation Coefficients, N = 174Prob > |r| under H0: Rho=0

largeur poids

largeur 1.00000 0.87369<.0001

poids 0.87369 1.00000<.0001

5

Page 6: Exemple de régression logistique avec les données des limules

Étape 2 : Détermination de la composante aléatoire

Variable réponse binaire ⇒ distribution Bernouilli

Étape 3 : Détermination de la fonction de lien

On va d’abord choisir la fonction de lien canonique, soit le logit.Si on décèle des problèmes lors de la validation, on pourra envisagerde changer cette fonction de lien.

Étape 4 : Détermination de la composante systématique

On fait cette étape avec les données non regroupées car le regrou-pement dépend de la composante systématique et on tente justementici de choisir cette composante.

6

Page 7: Exemple de régression logistique avec les données des limules

Processus de sélection des variables explicatives

On débute à l’étape (b) car on a seulement 4 variables explica-tives potentielles.

ods select type3;proc genmod data=limules descending;class couleur epine;model y = largeur couleur poids epine / dist=bin link=logit type3;run; quit;

The GENMOD Procedure

LR Statistics For Type 3 Analysis

Chi-Source DF Square Pr > ChiSq

largeur 1 1.80 0.1801couleur 3 7.60 0.0551poids 1 1.41 0.2351epine 2 1.01 0.6038

7

Page 8: Exemple de régression logistique avec les données des limules

On enlève epine.

ods select type3;proc genmod data=limules descending;class couleur;model y = largeur couleur poids / dist=bin link=logit type3;run; quit;

The GENMOD Procedure

LR Statistics For Type 3 Analysis

Chi-Source DF Square Pr > ChiSq

largeur 1 2.33 0.1268couleur 3 6.68 0.0828poids 1 1.25 0.2643

On enlève poids.

ods select type3;proc genmod data=limules descending;

8

Page 9: Exemple de régression logistique avec les données des limules

class couleur;model y = largeur couleur / dist=bin link=logit type3;run; quit;

The GENMOD Procedure

LR Statistics For Type 3 Analysis

Chi-Source DF Square Pr > ChiSq

largeur 1 24.60 <.0001couleur 3 7.00 0.0720

On va conserver largeur et couleur. La variable couleurn’est pas significative au seuil de 5%, mais elle est très près de l’être.

Étape (c) : On tente de mettre une interaction.

ods select type3;proc genmod data=limules descending;class couleur;

9

Page 10: Exemple de régression logistique avec les données des limules

model y = largeur couleur largeur*couleur/ dist=bin link=logit type3;run; quit;

The GENMOD Procedure

LR Statistics For Type 3 Analysis

Chi-Source DF Square Pr > ChiSq

largeur 1 7.76 0.0053couleur 3 4.18 0.2422largeur*couleur 3 4.38 0.2236

L’interaction n’est pas significative, on l’enlève.

On arrive donc au modèle avec largeur et couleur sans interaction :

ods exclude ModelInfo NObs ResponseProfile ParmInfo;proc genmod data=limules descending;class couleur;model y = largeur couleur / dist=bin link=logit type3;

10

Page 11: Exemple de régression logistique avec les données des limules

lsmeans couleur / ilink;run; quit;

The GENMOD Procedure

Class Level Information

Class Levels Values

couleur 4 1 2 3 4

PROC GENMOD is modeling the probability that y='1'.

Criteria For Assessing Goodness Of Fit

Criterion DF Value Value/DF

Log Likelihood -93.7285Full Log Likelihood -93.7285AIC (smaller is better) 197.4570AICC (smaller is better) 197.8163BIC (smaller is better) 213.2235

Algorithm converged.

Analysis Of Maximum Likelihood Parameter Estimates

11

Page 12: Exemple de régression logistique avec les données des limules

Standard Wald 95% WaldParameter DF Estimate Error Confidence Limits Chi-Square Pr > ChiSq

Intercept 1 -12.7151 2.7618 -18.1281 -7.3021 21.20 <.0001largeur 1 0.4680 0.1055 0.2611 0.6748 19.66 <.0001couleur 1 1 1.3299 0.8525 -0.3410 3.0008 2.43 0.1188couleur 2 1 1.4023 0.5484 0.3274 2.4773 6.54 0.0106couleur 3 1 1.1061 0.5921 -0.0543 2.2666 3.49 0.0617couleur 4 0 0.0000 0.0000 0.0000 0.0000 . .Scale 0 1.0000 0.0000 1.0000 1.0000

NOTE: The scale parameter was held fixed.

LR Statistics For Type 3 Analysis

Chi-Source DF Square Pr > ChiSq

largeur 1 24.60 <.0001couleur 3 7.00 0.0720

The GENMOD Procedure

couleur Least Squares Means

StandardStandard Error of

12

Page 13: Exemple de régression logistique avec les données des limules

couleur Estimate Error z Value Pr > |z| Mean Mean

1 0.9215 0.6950 1.33 0.1849 0.7153 0.14152 0.9939 0.2516 3.95 <.0001 0.7299 0.049613 0.6977 0.3443 2.03 0.0427 0.6677 0.076404 -0.4084 0.4922 -0.83 0.4067 0.3993 0.1181

Ce modèle peut être vu comme quatre régressions linéaires simplesde Y en fonction de la largeur des limules, une pour chaque modalitéde la variable couleur.

13

Page 14: Exemple de régression logistique avec les données des limules

On voit bien que la couleur foncée semble se distinguer des 3autres modalités de la variable couleur.

14

Page 15: Exemple de régression logistique avec les données des limules

Modélisation de la variable couleur

La variable couleur peut être modélisée de différentes façons.Quelle est la meilleure ?

Façon 1 : nominale à 4 modalitésC’est ce qu’on vient de faire.

Façon 2 : dichotomique foncé vs autres ;data limules;set limules;if couleur=4 then fonce=1;else fonce=0;run;ods exclude ModelInfo NObs ResponseProfile;proc genmod data=limules descending;model y = largeur fonce / dist=bin link=logit type3;run; quit;

15

Page 16: Exemple de régression logistique avec les données des limules

The GENMOD Procedure

PROC GENMOD is modeling the probability that y='1'.

Criteria For Assessing Goodness Of Fit

Criterion DF Value Value/DF

Log Likelihood -93.9789Full Log Likelihood -93.9789AIC (smaller is better) 193.9579AICC (smaller is better) 194.0999BIC (smaller is better) 203.4178

Algorithm converged.

Analysis Of Maximum Likelihood Parameter Estimates

Standard Wald 95% WaldParameter DF Estimate Error Confidence Limits Chi-Square Pr > ChiSq

Intercept 1 -11.6790 2.6925 -16.9563 -6.4017 18.81 <.0001largeur 1 0.4782 0.1041 0.2741 0.6823 21.08 <.0001fonce 1 -1.3005 0.5259 -2.3312 -0.2698 6.12 0.0134Scale 0 1.0000 0.0000 1.0000 1.0000

16

Page 17: Exemple de régression logistique avec les données des limules

NOTE: The scale parameter was held fixed.

LR Statistics For Type 3 Analysis

Chi-Source DF Square Pr > ChiSq

largeur 1 26.84 <.0001fonce 1 6.49 0.0108

Façon 3 : ordinale → score numérique ;

ods exclude ModelInfo NObs ResponseProfile;proc genmod data=limules descending;model y = largeur couleur / dist=bin link=logit type3;run; quit;

The GENMOD Procedure

PROC GENMOD is modeling the probability that y='1'.

17

Page 18: Exemple de régression logistique avec les données des limules

Criteria For Assessing Goodness Of Fit

Criterion DF Value Value/DF

Log Likelihood -94.5606Full Log Likelihood -94.5606AIC (smaller is better) 195.1212AICC (smaller is better) 195.2632BIC (smaller is better) 204.5811

Algorithm converged.

Analysis Of Maximum Likelihood Parameter Estimates

Standard Wald 95% WaldParameter DF Estimate Error Confidence Limits Chi-Square Pr > ChiSq

Intercept 1 -10.0708 2.8069 -15.5722 -4.5695 12.87 0.0003largeur 1 0.4583 0.1040 0.2544 0.6622 19.41 <.0001couleur 1 -0.5090 0.2237 -0.9475 -0.0706 5.18 0.0229Scale 0 1.0000 0.0000 1.0000 1.0000

NOTE: The scale parameter was held fixed.

LR Statistics For Type 3 Analysis

Chi-

18

Page 19: Exemple de régression logistique avec les données des limules

Source DF Square Pr > ChiSq

largeur 1 24.18 <.0001couleur 1 5.33 0.0209

Si on omettait complètement la variable couleur du modèle, on ob-tiendrait :

ods exclude ModelInfo NObs ResponseProfile;proc genmod data=limules descending;model y = largeur / dist=bin link=logit ;run; quit;

The GENMOD Procedure

PROC GENMOD is modeling the probability that y='1'.

Criteria For Assessing Goodness Of Fit

Criterion DF Value Value/DF

Log Likelihood -97.2263Full Log Likelihood -97.2263

19

Page 20: Exemple de régression logistique avec les données des limules

AIC (smaller is better) 198.4527AICC (smaller is better) 198.5233BIC (smaller is better) 204.7592

Algorithm converged.

Analysis Of Maximum Likelihood Parameter Estimates

Standard Wald 95% WaldParameter DF Estimate Error Confidence Limits Chi-Square Pr > ChiSq

Intercept 1 -12.3508 2.6287 -17.5030 -7.1986 22.07 <.0001largeur 1 0.4972 0.1017 0.2978 0.6966 23.89 <.0001Scale 0 1.0000 0.0000 1.0000 1.0000

NOTE: The scale parameter was held fixed.

20

Page 21: Exemple de régression logistique avec les données des limules

Tableaux comparatifs des modélisations de la couleur :Comparaison avec (4) Comparaison à (1)

Modélisation couleur max lnL AIC Wrv seuil obs. Wrv seuil obs.(1) nominale à 4 modalités -93.7285 197.4570 7.00 (dl = 3) 0.0720 - -(2) dichotomique foncé vs autres -93.9789 193.9579 6.49 (dl = 1) 0.0108 0.5008 (dl = 2) 0.7785(3) ordinale (score numérique) -94.5606 195.1212 5.33 (dl = 1) 0.0209 1.6642 (dl = 2) 0.4351(4) sans couleur -97.2263 198.4527 - - - -

On choisit le modèle avec variable dichotomique foncé vs autres car :– il a le plus petit AIC ;– il est plus similaire au modèle avec la couleur nominale à 4modalités que le modèle avec couleur ordinale ;

– c’est avec ce modèle que l’effet de la variable couleur est leplus significatif.

21

Page 22: Exemple de régression logistique avec les données des limules

Étape 5 : Validation du modèle

On doit maitenant travailler sur les données regroupées pourvalider le modèle.proc sort data=limules;by largeur fonce;proc means data=limules noprint;by largeur fonce;var y;output out=limules_rgr sum=ys n=n;run;

ods select ModelFit;proc genmod data=limules_rgr;model ys/n = largeur fonce / dist=bin link=logit type3;output out=out pred=pred stdreschi=sr;run; quit;

The GENMOD Procedure

22

Page 23: Exemple de régression logistique avec les données des limules

Criteria For Assessing Goodness Of Fit

Criterion DF Value Value/DF

Deviance 76 90.8409 1.1953Scaled Deviance 76 90.8409 1.1953Pearson Chi-Square 76 77.4315 1.0188Scaled Pearson X2 76 77.4315 1.0188Log Likelihood -93.9789Full Log Likelihood -64.9051AIC (smaller is better) 135.8102AICC (smaller is better) 136.1302BIC (smaller is better) 142.9185

Les statistiques de validation du modèle χ2 et G2 = Déviancedivisées par leurs degrés de liberté prennent une valeur très prochede 1. C’est un premier signe que le modèle s’ajuste bien aux données.On ne va pas jusqu’à faire un test avec une statistique de validationici, car la justesse de la loi asymptotique est très douteuse puisque ily a un très petit nombre d’observations pour plusieurs configurationsdes variables explicatives.

23

Page 24: Exemple de régression logistique avec les données des limules

ods select Moments TestsForNormality Plots;proc univariate data=out plot normal;var sr;run; quit;

The UNIVARIATE ProcedureVariable: sr (Standardized Pearson Residual)

Moments

N 79 Sum Weights 79Mean 0.04241302 Sum Observations 3.35062846Std Deviation 1.01844167 Variance 1.03722343Skewness -0.0880057 Kurtosis 0.84826481Uncorrected SS 81.0455377 Corrected SS 80.9034274Coeff Variation 2401.24778 Std Error Mean 0.11458364

Tests for Normality

Test --Statistic--- -----p Value------

Shapiro-Wilk W 0.979607 Pr < W 0.2377Kolmogorov-Smirnov D 0.089879 Pr > D 0.1141Cramer-von Mises W-Sq 0.104357 Pr > W-Sq 0.0977Anderson-Darling A-Sq 0.599477 Pr > A-Sq 0.1183

24

Page 25: Exemple de régression logistique avec les données des limules

Stem Leaf # Boxplot3 1 1 022 01 2 |1 77 2 |1 00124 5 |0 555556666777788889999 21 +-----+0 0111122222333333 16 *--+--*

-0 4444322 7 | |-0 999988887665 12 +-----+-1 433321000 9 |-1 777 3 |-2-2-3 2 1 0

----+----+----+----+-

The UNIVARIATE ProcedureVariable: sr (Standardized Pearson Residual)

Normal Probability Plot3.25+ *

| +| * *++++| +**++| +++***| *********| *******

25

Page 26: Exemple de régression logistique avec les données des limules

| ***++| ******| ******| *+**+| ++++|+

-3.25+ *+----+----+----+----+----+----+----+----+----+----+

-2 -1 0 +1 +2

Les résidus de Pearson standardisés semblent suivre une loi nor-male standard. C’est encore un signe que le modèle s’ajuste bienaux données.

proc gplot data=out;plot sr*pred;run;

26

Page 27: Exemple de régression logistique avec les données des limules

Le graphique des résidus en fonction des valeurs prédites ne pré-sente pas de forme d’entonoire. À part deux données légèrement ex-trême, le graphique présente des points répartis de façon homogène.On peut donc croire en l’homogénéité de la variance des résidus. Cequi indique que le modèle s’ajuste bien aux données.

27

Page 28: Exemple de régression logistique avec les données des limules

data out;set out;y = ys/n;run;* Graphique des valeurs observées en fonction des valeurs prédites;proc gplot data=out;plot y*pred;run; quit;

28

Page 29: Exemple de régression logistique avec les données des limules

Dans le jeu de données regroupées, il y a un très petit nombred’observations pour plusieurs configurations des variables explica-tives. Ainsi, y∗ prend souvent les valeurs 0 ou 1. Ces valeurs rendentce graphique non pertient.

29

Page 30: Exemple de régression logistique avec les données des limules

* Graphique des valeurs observées et prédites en fonction de la largeur;legend position =(bottom right inside) mode = share across=1

label=none value=("valeurs prédites" "valeurs observées");axis label=none;proc gplot data=out;plot pred*largeur="star" y*largeur /

overlay legend=legend vaxis=axis;run; quit;goptions reset=all;

30

Page 31: Exemple de régression logistique avec les données des limules

Encore une fois, à cause des valeurs observées souvent à 0 ou à 1,il est difficile de juger de l’ajustement du modèle à partir de ce gra-phique ici. Mais pour les y∗ différents de 0 ou 1, l’ajustement semblepas si mal car les valeurs prédites sont proches des valeurs observées.

31

Page 32: Exemple de régression logistique avec les données des limules

Malgré toutes les limites de notre validation de données, on peutconlure ici que l’ajustement du modèle est acceptable. On peut doncconsidérer que le modèle décrit bien les liens entre les variables.

32

Page 33: Exemple de régression logistique avec les données des limules

Étape 6 : Inférence et/ou prédictionods select ParameterEstimates Type3 LSMeans;proc genmod data=limules descending;class fonce (descending);model y = largeur fonce / dist=bin link=logit type3;lsmeans fonce /ilink;run; quit;

The GENMOD Procedure

Analysis Of Maximum Likelihood Parameter Estimates

Standard Wald 95% WaldParameter DF Estimate Error Confidence Limits Chi-Square Pr > ChiSq

Intercept 1 -11.6790 2.6925 -16.9563 -6.4017 18.81 <.0001largeur 1 0.4782 0.1041 0.2741 0.6823 21.08 <.0001fonce 1 1 -1.3005 0.5259 -2.3312 -0.2698 6.12 0.0134fonce 0 0 0.0000 0.0000 0.0000 0.0000 . .Scale 0 1.0000 0.0000 1.0000 1.0000

NOTE: The scale parameter was held fixed.

LR Statistics For Type 3 Analysis

33

Page 34: Exemple de régression logistique avec les données des limules

Chi-Source DF Square Pr > ChiSq

largeur 1 26.84 <.0001fonce 1 6.49 0.0108

fonce Least Squares Means

StandardStandard Error of

fonce Estimate Error z Value Pr > |z| Mean Mean

1 -0.4028 0.4932 -0.82 0.4141 0.4006 0.11840 0.8977 0.1980 4.53 <.0001 0.7105 0.04074

34

Page 35: Exemple de régression logistique avec les données des limules

On modélise Y , la présence ou non d’au moins un mâle satellite,avec le modèle linéaire généralisé suivant :

Yi ∼ Bernoulli(πi) indépendantesavec logit(πi) = β0 + β1 ∗ largeuri + β2 ∗ foncei

pour i = 1, . . . , 173

où πi = P (Yi = 1 | largeur = largeuri et fonce = foncei).

La variable explicative potentielle x4 = état des épine n’est pasdans le modèle car elle n’est pas associée à Y .

La variable explicative potentielle x3 = poids n’est pas dans lemodèle bien qu’elle soit associée à Y . Le problème est que cettevariable est fortement corrélée à la variable x1 = largeur. Ces deuxvariables représentent la même information. Il s’agit de deux me-sures de la dimension des limules. Une seule des deux variables peutêtre dans le modèle car la présence des deux variables simultané-

35

Page 36: Exemple de régression logistique avec les données des limules

ment cause de la multicolinéarité. La largeur a été conservée dansle modèle plutôt que le poids.

Les estimations de maximum de vraisemblance des paramètres,et des tests de Wald (H0 : βj = 0) sur ces paramètres, sont lessuivants :

paramètre Estimation Erreur-type Stat test Wald seuil obs.β0 -11.6790 2.6925 18.81 <.0001β1 0.4782 0.1041 21.08 <.0001β2 -1.3005 0.5259 6.12 0.0134

La couleur de la limule influence faiblement la présence de sa-tellites. En effet, les limules de couleur foncée ont moins souventau moins un mâle satelitte que celles de couleur pâle, médium oumédium foncé :proportion de limules de couleur foncée ayant au moins un mâle

36

Page 37: Exemple de régression logistique avec les données des limules

satellite (pour des limules de largeur moyenne)

0.40 = exp(−11.6790 + 26.3× 0.4782 +−1.3005)1 + exp(−11.6790 + 26.3× 0.4782 +−1.3005)

proportion des autres limules ayant au moins un mâle satellite (pourdes limules de largeur moyenne)

0.71 = exp(−11.6790 + 26.3× 0.4782)1 + exp(−11.6790 + 26.3× 0.4782)

.

Avec ces proportions (calculées par l’énoncé lsmeans), on peut direque le risque d’avoir au mois un mâle satellite est

(1− 0.4/0.71)× 100% = (1− 0.56)× 100% ≈ 43%

plus petit pour les limules de couleur foncée que pour les autres li-mules. Remarquez ici que l’estimation du risque relatif (0.56) n’estpas approximativement égale à celle du rapport de cote (exp(−1.3) =0.27) puisque la probabilité d’avoir au moins un mâle satellite est

37

Page 38: Exemple de régression logistique avec les données des limules

grande.

La variable la plus fortement associée à la présence de mâlessatellites est la largeur de la carapace de la limule. Plus une femelleest large, plus elle a de chance d’avoir un ou des mâles satellites(paramètre de signe positif, significativement différent de zéro). Uneaugmentation de 1 cm de la largeur de la carapace d’une limule apour effet de faire multiplier par exp(0.4782) = 1.61 la cote de saprobabilité d’avoir au moins un mâle satellite.

38