Vous êtes sur la page 1sur 71

Anne Universitaire 2008-2009

Rgression sur variables catgorielles


Laurent Rouvire

Universit Rennes 2
Place du Recteur H. le Moal
CS 24307 - 35043 Rennes
Tel : 02 99 14 18 21
Mel : laurent.rouviere@univ-rennes2.fr

Table des matires


1 Introduction
1.1 Rappels sur le modle linaire . . . . . . . . . . . . . . . . . . . . . . .
1.2 Le modle linaire gnralis : GLM . . . . . . . . . . . . . . . . . . . .
1.2.1 La rgression logistique . . . . . . . . . . . . . . . . . . . . . . .
1.2.2 La rgression log-linaire . . . . . . . . . . . . . . . . . . . . . .
1.2.3 Gnralisation : GLM . . . . . . . . . . . . . . . . . . . . . . .
1.3 Exemples de fonctions de liens pour la rgression dune variable binaire

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

5
5
6
6
10
11
12

2 Analyse discriminante logistique


2.1 Estimation des paramtres . . . . . . . . . . . . . .
2.1.1 Equations du score . . . . . . . . . . . . . .
2.1.2 Rappel sur lalgorithme de Newton-Raphson
2.1.3 Calcul des estimateurs . . . . . . . . . . . .
2.2 Dimensions explicatives, variables explicatives . . .
2.2.1 Variable explicative continue . . . . . . . . .
2.2.2 Variable explicative qualitative . . . . . . .
2.2.3 Interactions . . . . . . . . . . . . . . . . . .
2.3 Interprtation des coefficients . . . . . . . . . . .
2.4 Prcision des estimations et tests . . . . . . . . . .
2.4.1 Loi asymptotique . . . . . . . . . . . . . . .
2.4.2 Intervalles de confiance . . . . . . . . . . . .
2.4.3 Tests de nullit de q coefficients libres . . . .
2.5 Un exemple avec R . . . . . . . . . . . . . . . . . .
2.5.1 Modles simples . . . . . . . . . . . . . . .
2.5.2 Encore dautres modles... . . . . . . . . . .

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

15
15
15
18
18
19
19
19
21
21
23
23
24
24
25
26
27

.
.
.
.
.
.
.
.
.
.
.

31
31
31
34
35
36
38
39
42
42
43
44

3 Slection et validation de modles


3.1 Slection ou choix de modle . . . . . . . . . . . .
3.1.1 Un outil spcifique : la dviance . . . . . .
3.1.2 Test de dviance entre 2 modles embots
3.1.3 Critre de choix de modles . . . . . . . .
3.1.4 Apprentissage/validation . . . . . . . . . .
3.1.5 Validation croise . . . . . . . . . . . . . .
3.1.6 Slection automatique . . . . . . . . . . .
3.2 Validation du modle . . . . . . . . . . . . . . . .
3.2.1 Test dadquation par la dviance . . . . .
3.2.2 Test dHosmer Lemeshow . . . . . . . . .
3.2.3 Analyse des rsidus . . . . . . . . . . . . .

Rgression sur variables catgorielles

.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.

Laurent Rouvire

Table des matires


3.2.4

Points leviers et points influents . . . . . . . . . . . . . . . . . . . . . . . . . 47

4 Modle logistique multi-classes


4.1 Modle polytomique ordonn . . . . . .
4.1.1 Cas binaire . . . . . . . . . . .
4.1.2 Gnralisation . . . . . . . . . .
4.1.3 Lgalit des pentes . . . . . . .
4.2 Modle multinomial . . . . . . . . . . .
4.2.1 Le modle . . . . . . . . . . . .
4.2.2 Estimation et interprtation des

. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
paramtres

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

Annexes
A.1
A.2
A.3
A.4

Rappels sur la mthode du maximum


Echantillonnage Rtrospectif . . . . .
Exercices . . . . . . . . . . . . . . . .
Correction . . . . . . . . . . . . . . .

Bibliographie

Laurent Rouvire

51
51
51
52
54
56
56
56

59
de vraisemblance
. . . . . . . . . .
. . . . . . . . . .
. . . . . . . . . .

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

59
61
63
67
71

Rgression sur variables catgorielles

Chapitre 1
Introduction
Notations :
X = (1, X1 , . . . , Xp ) : variable alatoire explicative de dimension p + 1, x = (1, x1 , . . . , xp ) une
ralisation de X ;
Y variable (univarie) expliquer.
(X1 , Y1 ), . . . , (Xn , Yn ) : un n-chantillon alatoire (iid et de mme loi que le couple (X, Y )), tel
que Xi = (Xi1 , . . . , Xip ) ;
(x1 , y1 ), . . . , (xn , yn ) une ralisation de (X1 , Y1 ), . . . , (Xn , Yn ).
X : la matrice des observations :

1 x11 . . . x1p

..
.. .
X = ... ...
.
.
1 xn1 . . . xnp

1.1

Rappels sur le modle linaire

Le contexte
Nous cherchons expliquer une variable Y par p variables X = (1, X1 , . . . , Xp ) . Pour ce faire,
on dispose de n ralisations (x1 , y1 ), . . . , (xn , yn ) du couple (X, Y ). Le but est de modliser la
dpendance de la variable rponse Y sur les variables explicatives X1 , . . . , Xp . Plusieurs raisons
peuvent motiver cette modlisation :
la description : on veut un modle qui permette de dcrire la relation entre Y et X ;
lvaluation des contributions relatives de chaque prdicteur pour expliquer Y ;
la prdiction : prvoir la valeur de Y pour des nouvelles valeurs des variables explicatives.
Le modle linaire classique scrit :
Y = X + = 0 + 1 X1 + . . . + p Xp + ,
avec = (0 , 1 , . . . , p ) Rp+1 et N (0, 2 ). On distingue alors deux cas :
Les variables Xi sont dterministes (non-alatoires) :
Y N (X , 2 ),

E(Y ) = X ;

Les variables Xi sont alatoires :


(Y |X) N (X , 2 ),

Rgression sur variables catgorielles

E(Y |X) = X .

Laurent Rouvire

Introduction

Plaons nous maintenant dans le cas o la variable expliquer Y est qualitative ou de type facteur
(sexe, couleur, prsence ou absence dune maladie...). Cette variable possde un nombre fini de
modalits g1 , . . . , gm . Le problme consiste expliquer lappartenance dun individu un groupe
partir des p variables explicatives, on parlera alors de discrimination au lieu de rgression.
Il est bien entendu impossible de modliser directement la variable Y par une relation linaire
(imaginons que Y soit le sexe dune personne ou la couleur de ces cheveux).
Afin de pallier cette difficult, on va sintresser aux probabilits P(Y = gk |X = x). Supposons
pour simplifier que la variable Y prenne uniquement deux valeurs : 0 (groupe 0) ou 1 (groupe 1).
La connaissance de P(Y = 1|X = x) implique celle de P(Y = 0|X = x) : il suffit par consquent
de modliser la probabilit p(x) = P(Y = 1|X = x). On peut par exemple envisager une relation
de la forme
p(x) = 0 + 1 x1 + . . . + p xp = x .
Cette approche possde plusieurs inconvnients :
Remarquons tout dabord que la variance de Y |X = x vaut p(x)(1 p(x)). Contrairement au
modle linaire traditionnel, cette variance nest pas constante et par consquent lhypothse
classique dhomoscdasticit des rsidus ne sera pas vrifie.
Le fait quaucune restriction ne soit effectue sur les implique que x peut prendre nimporte
quelle valeur sur R. Ce qui peut tre gnant pour lestimation dune probabilit (imaginez une
estimation du genre P(Y = 1|X = x) = 1297.56 ! ! !).
Pour ces raisons, nous devons tendre le modle linaire classique aux cas o :
Y peut tre une variable qualitative (prsence ou absence dune maladie, appartenance une
catgorie...) ;
les erreurs peuvent ne pas avoir la mme variance (saffranchir de lhypothse dhomoscdasticit).

1.2
1.2.1

Le modle linaire gnralis : GLM


La rgression logistique

Nous nous plaons tout dabord dans un contexte de classification binaire, cest--dire que nous
supposons quil existe seulement deux groupes discriminer. Nous verrons dans le chapitre 4
comment tendre les techniques des modles multiclasses (plus de deux groupes).

Variable explicative continue


Exemple 1.1
Nous souhaitons expliquer la variable Y prsence (1)/ absence (0) dune maladie cardio-vasculaire
(Chd) par lge des patients. Les donnes sont reprsentes sur la figure 1.1.

Laurent Rouvire

Rgression sur variables catgorielles

1.0

1.2 Le modle linaire gnralis : GLM


*

**

**

******** *

************ **

0.0

0.2

0.4

chd

0.6

0.8

*
20

****

***

*** *************** ***

30

40

50

**

*
60

*
70

age

Fig. 1.1 Reprsentation directe de Chd (note aussi Y , la variable expliquer) en fonction de lge
X.

Cette figure montre quil est difficile de modliser les donnes brutes, la variabilit de la variable
CHD est leve pour tout ge. Une mthode permettant de rduire cette variabilit consiste
regrouper les patients par classe dge. Nous obtenons le tableau suivant :

Age
]19 ;29]
]29 ;34]
]34 ;39]
]39 ;44]
]44 ;49]
]49 ;54]
]54 ;59]
]59 ;69]

n
10
15
12
15
13
8
17
10

CHD
Absent Present Moyenne
9
1
0.1
13
2
0.133333
9
3
0.25
10
5
0.333333
7
6
0.461538
3
5
0.625
4
13
0.764706
2
8
0.8

Tab. 1.1 Donnes regroupes en classe dge.

La liaison entre lge et la prsence de la maladie devient beaucoup plus claire. Il apparat en effet
que lorsque lge augmente, la proportion dindividus atteint par la maladie augmente. La figure
1.2 permet dvaluer cette liaison : elle apparat nettement sous la forme dune courbe sigmode
(i.e. en forme de S). Il semblerait donc naturel de modliser cette proportion de malade par
classe dge en fonction de lge par une courbe sigmode.

Rgression sur variables catgorielles

Laurent Rouvire

Introduction

0.8

1.0

chd

0.6

0.4

o
o

0.2

o
o

0.0

20

40

60

80

age

Fig. 1.2 Frquence de Chd par classe dge en fonction de lge X

La colonne moyenne du tableau 1.1 fournit une estimation de E(Y |X = x). Nous pouvons donc
proposer un modle du type pour lesprance conditionnelle de Y |X = x de la forme :
E(Y |X = x) = h(x)
o lallure de la courbe reprsentative de h est une sigmode.
Plusieurs fonctions h ont t proposes dans la littrature. Pour le modle logistique on considre
la fonction h(x) = exp(x)/(1 + exp(x)), ce qui donne le modle
E(Y |X = x) = p(x) =
o encore
logit p(x) = log

exp(0 + 1 x)
,
1 + exp 0 + 1 x

p(x)
1 p(x)

= 0 + 1 x,

logit dsignant la fonction bijective et drivable de ]0, 1[ dans R : p 7 log(p/(1 p)) (voir figures
1.3 et 1.4). Nous verrons quune telle modlisation permettra de retrouver un grand nombre des
bonnes proprits du modle linaire.
La loi conditionnelle de la variable dintrt diffre entre le modle logistique et le modle linaire.
Dans le modle de rgression linaire Y = 0 + 1 x + , on fait lhypothse que les rsidus
suivent une loi N (0, 2 ). On en dduit Y |x N (0 + 1 x, 2 ). Pour le modle logistique, pour une
observation x de la variable explicative, on peut exprimer la variable dintrt comme suit :
Y = p(x) + .
La quantit peut prendre simplement deux valeurs : si y = 1 alors = 1 p(x) et si y = 0
alors = p(x). Par consquent prend pour valeur 1 p(x) avec probabilit p(x) et p(x) avec
probabilit 1 p(x) : Y |x suit une loi de Bernoulli de paramtre p(x).
Laurent Rouvire

Rgression sur variables catgorielles

0.0

0.2

0.4

0.6

0.8

1.0

1.2 Le modle linaire gnralis : GLM

0.0

0.2

0.4

0.6

0.8

1.0

Fig. 1.3 logit

Fig. 1.4 Inverse de logit

Variable explicative qualitative


Il y a deux faons davoir des variables explicatives qualitatives. Tout dabord, la variable peut
tre qualitative par nature (sexe, CSP). La deuxime manire consiste regrouper une variable
continue en classes. Soit X une variable qualitative admettant m modalits, le modle logistique
permettant dexpliquer une variable dichotomique Y par X scrit
logit p(x) = 0 + 1 11 (x) + . . . + m 1m (x)
o 1j (x) dsignent les indicatrices

1 si x correspond la j me modalit de X
1j (x) =
0 sinon.
Avec un lger abus de notation, on crira
logit p(x) = x
avec = (0 , 1 , . . . , m ) et x = (1, 11 (x), . . . , 1m (x)). Toutes les variables qualitatives sont dcoupes en variables indicatrices dans le modle, chaque modalit dune variable correspond un
coefficient. Nous verrons (section 2.2.2 et exercice A.2) (page 63) quen prsence dune variable
qualitative, il est ncessaire dimposer une contrainte sur les coefficients du modle. Nous sommes
maintenant mme de dfinir le modle logistique dans un cadre gnral.
Dfinition 1.1 (Rgression logistique)
Soit Y une variable binaire expliquer et X = (X1 , . . . , Xp ) Rp p variables explicatives. Le
modle logistique propose une modlisation de la loi de Y |X = x par une loi de Bernoulli de
paramtre p(x) = P(Y = 1|X = x) telle que :
log

p(x)
= 0 + 1 x1 + . . . + p xp = x ,
1 p(x)

(1.1)

ou encore
logit p(x) = x ,
logit dsignant la fonction bijective et drivable de ]0, 1[ dans R : p 7 log(p/(1 p)).
On dduit de (1.1)
p(x) = P(Y = 1|X = x) =

Rgression sur variables catgorielles

exp(x )
.
1 + exp(x )

Laurent Rouvire

10

Introduction

Identifiabilit du modle
les loi de Y |X = x associes et sont
On rappelle que le modle est identifiable si pour 6= ,
diffrentes. Tout comme pour le modle linaire, une condition ncessaire pour pouvoir estimer les
paramtres est que lchantillon rende le modle identifiable : les lois {(Yi |X = xi ), i = 1, . . . , n}
associes et sont diffrentes. Comme Yi |X = xi suit une loi de Bernoulli de paramtre p(xi )
et que la fonction logit est strictement croissante, cette condition quivaut lexistence dun xi tel
Ce qui, comme pour le modle linaire, quivaut rang(X) = p + 1. On supposera
que xi 6= xi .
par la suite que cette condition est vrifie.
Remarque
Dans un modle logistique, nous effectuons deux choix pour dfinir le modle :
1. le choix dune loi pour Y |X = x, ici la loi de Bernoulli ;
2. le choix de la modlisation de P(Y = 1|X = x) par
logit (P(Y = 1|X = x)) = x .
La fonction logit est bijective et drivable. Elle est appele fonction de lien.
Remarquons galement que

E(Y |X = x) = P(Y = 1|X = x)





V(Y |X = x) = P(Y = 1|X = x) 1 P(Y = 1|X = x)

ce qui implique que la variance nest pas constante et varie selon la valeur x de X.

1.2.2

La rgression log-linaire

Dans le modle logistique la variable expliquer est une variable binaire. Le modle log-linaire
traite le cas dune variable de comptage. Voici quelques exemples :
nombre de catastrophes ariennes sur une priode donne ;
nombre de voitures un feu rouge ;
nombre daccidents par jour sur une autoroute...
Dfinition 1.2 (Rgression log-linaire)
Soit Y une variable de comptage expliquer et X = (1, X1 , . . . , Xp ) Rp+1 p + 1 variables
explicatives. Le modle log-linaire propose une modlisation de la loi de Y |X = x par une loi de
poisson de paramtre = (x) telle que :
log E(Y |X = x) = x .
Pour une nouvelle mesure x effectue, le modle log-linaire va donc prdire exp(x ).
Remarque
Ici encore, deux choix sont effectus pour dfinir le modle :
1. le choix dune loi pour Y |X = x, ici la loi de Poisson ;
2. le choix de la modlisation de E(Y |X = x) par
log E(Y |X = x) = x .
La fonction log est bijective et drivable.

Laurent Rouvire

Rgression sur variables catgorielles

1.2 Le modle linaire gnralis : GLM

1.2.3

11

Gnralisation : GLM

On peut rsumer les remarques prcdentes par le tableau :

Choix

logistique

log-linaire

linaire

Y |X = x
modlisation
de
E(Y |X = x)

Bernoulli

Poisson

Normale

logit E(Y |X = x) = x

log E(Y |X = x) = x

E(Y |X = x) = x

Une gnralisation de ces mthodes est appele GLM (Generalized Linear Model). Lapproche
GLM consiste :
1. choisir une loi pour Y |X = x parmi un ensemble restreint de loi (les lois exponentielles
GLM) ;
2. choisir une fonction de lien g(.) parmi une ensemble rduit de fonctions bijectives et drivable.
3. la transformation de lesprance conditionnelle E(Y |X = x) par la fonction g est ensuite
modlise par une fonction qui nest autre quune combinaison linaire des variables explicatives :
g (E(Y |X = x)) = (x) = x .
On peut rsumer un modle GLM par le schma suivant :

A expliquer
composante alatoire
Y |X = x suit une loi fixe.

Lien
E(Y |X = x) dpend de
(x) au travers de la fonction g appele fonction de
lien

Explicatif
Composante systmatique
On modlise par une combinaison linaire des Xj
(x) =

g(E(Y |X)) = (X)

p
X

xj j

j=1

g est une fonction inversible.


Remarque
1. Pour choisir un modle GLM il faut donc
choisir la loi de Y |X = x dans la famille exponentielle des GLM.
choisir une fonction de lien inversible g.
2. Pour utiliser un modle GLM il faudra donc estimer les paramtres = (0 , 1 , . . . , p ). Une
fois cette estimation ralise, (x) est fix, ce qui fixe E(Y |X = x) = g 1 ((x)).
Le tableau 1.2 donne quelques exemples de GLM.

Rgression sur variables catgorielles

Laurent Rouvire

12

Introduction
Loi
Bernoulli/Binomiale
Poisson
Normale
Gamma

Nom du lien
lien logit
lien log
lien identit
lien rciproque

Fonction de lien
g() = logit () = log(/(1 ))
g() = log()
g() =
g() = 1/

Tab. 1.2 Exemples de GLM.

1.3

Exemples de fonctions de liens pour la rgression dune


variable binaire

Dautres fonctions de lien que logit peuvent tre utilises dans le cas o la variable expliquer Y
est binaire. On retrouve notamment dans la littrature les transformations :
probit, qui nest autre que linverse de la fonction de rpartition de la loi normale centre rduite :


Z
1 2
1
exp u du = p.
p [0, 1], probit(p) = avec
2
2
log-log dfinie par :
p [0, 1], log-log(p) = log( log(1 p)).

Ces transformations sont reprsentes sur la figure 1.5

0.0

0.2

0.4

0.6

0.8

1.0

Fig. 1.5 Fonctions de liens : probit (trait plein), logit (tirets), log-log (pointills).
Des trois fonctions de lien prsentes, la transformation log-log est bien approprie aux cas o
lon souhaite modliser les probabilits de succs de manire asymtrique. Les transformations
logit et probit possdent des proprits identiques. Dans de nombreux cas, on prfre utiliser la
transformation logistique. Plusieurs raisons motivent ce choix :
dun point de vue numrique, la transformation logistique est plus simple manipuler (notamment pour lcriture des estimateurs du maximum de vraisemblance, voir section 2.1) ;

Laurent Rouvire

Rgression sur variables catgorielles

1.3 Exemples de fonctions de liens pour la rgression dune variable binaire

13

on a une interprtation claire des coefficients en terme dodds ratio pour la transformation
logistique (voir section 2.3).
le modle logistique est particulirement bien adapt un schma dchantillonnage rtrospectif
(voir annexe A.2)
Nous nous focaliserons dans la suite sur le modle logistique. Les diffrents rsultats obtenus
pourront stendre aux autres modles GLM. Il est important de connatre les notations des GLM
prsentes dans cette partie. Cest en effet sous cette forme l quelles sont prsentes dans la
littrature ainsi que dans la plupart des logiciels statistiques (notamment R).

Rgression sur variables catgorielles

Laurent Rouvire

Chapitre 2
Analyse discriminante logistique
Nous rappelons que Y dsigne une variable expliquer binaire (qui prend 2 valeurs 0 ou 1 pour
simplifier) ou un label qui dnote lappartenance un groupe et X1 , . . . , Xp dsignent p variables
explicatives. On souhaite :
expliquer la variable Y laide des p variables explicatives X = (1, X1 , . . . , Xp ) ;
tant donne une nouvelle mesure x des p variables explicatives X, prdire le label y associ
cette variable.
Nous avons vu dans le chapitre prcdent que le modle logistique scrit
logit p(x) = 0 + 1 x1 + . . . + p xp = x

(2.1)

o = (0 , . . . , p ) et x = (1, x1 , . . . , xp ). Nous nous posons le problme de lestimation des


paramtres partir dun chantillon (x1 , y1 ), . . . , (xn , yn ). Les observations sont supposes indpendantes. Il y a deux structures de donnes :
les donnes individuelles : {(xi , yi ), i = 1, . . . , n} o les xi sont tous diffrents, le design est
{x1 , . . . , xn } ;
les donnes rptes : {((xt , yit ), i = 1, . . . , nt ), tP
= 1, . . . , T }. Il y a nt 1 observations yit au
point xt , le nombre total dobservations est n = Tt=1 nt et le design est {(x1 , n1 ), . . . , (xT , nT )}.
Les proprits du modle logistique sont trs proches pour ces deux types de donnes. Certains
concepts tels que la forme de la vraisemblance o les tests dadquation par la dviance peuvent
nanmoins lgrement diffrer. Dans ce chapitre, nous nous focalisons sur le cas de donnes individuelles (qui est le cas le plus frquent). Pour une tude plus approfondie du cas des donnes
rptes, nous renvoyons le lecteur lannexe A.3 (pour lcriture de la vraisemblance) ou aux
ouvrages de Hosmer & Lemeshow (2000) et Collet (2003).

2.1
2.1.1

Estimation des paramtres


Equations du score

Nous allons utiliser lchantillon (x1 , y1 ), . . . , (xn , yn ) pour estimer les paramtres par la mthode du maximum de vraisemblance (voir annexe A.1). Cette mthode consiste chercher =
(0 , 1 , . . . , p ) qui maximise la vraisemblance
n
Y
i=1

Rgression sur variables catgorielles

P(Y = yi |X = xi ).

Laurent Rouvire

16

Analyse discriminante logistique

Rappelons que par dfinition du modle logistique Y |X = x Ber(p(x)). Par consquent :


n
Y
i=1

P(Y = yi |X = xi ) =

n
Y
i=1

pyi i (1 pi )1yi

avec pi = P(Y = 1|X = xi ). En passant au log nous avons alors


L() =
=

n
X

{yi log(pi ) + (1 yi ) log(1 pi )}

i=1
n 
X

yi log

i=1

Daprs (2.1) nous obtenons

L() =

n
X
i=1

pi
1 pi


+ log(1 pi ) .

{yi xi log(1 + exp(xi ))}.

(2.2)



L
L
L
En drivant par rapport au paramtre nous avons que
() =
(), . . . ,
() avec

0
p

n 
X
xij exp(xi )
L
() =
yi xij
j
1 + exp(xi )
i=1
=

n
X
i=1

Ce qui donne en criture matricielle

[xij (yi pi )] .
n

X
L
() =
[xi (yi pi )] .

i=1

Une condition ncessaire doptimum (sur Rp ) est lannulation des drives loptimum, nous
obtenons lquation suivante (appele quation du score) :
n

S() =

X
L
() =
xi {yi P(Y = 1|X = xi )} = X (Y P ) = 0,

i=1

(2.3)

P est le vecteur de dimension n des P(Y = 1|X = xi ) qui dpend de . On note une solution
de S() = 0.
Trouver explicitement nest pas possible. En effet, lquation (2.3) scrit :

exp(1 x11 + . . . + p x1p )


exp(1 xn1 + . . . + p xnp )

x11 y1 + . . . + xn1 yn = x11


+ . . . + xn1

1 + exp(1 x11 + . . . + p x1p )


1 + exp(1 xn1 + . . . + p xnp )

..

.
..

exp(1 xn1 + . . . + p xnp )


exp(
x
+
.
.
.
+

1 11
p x1p )

x1p y1 + . . . + xnp yn = x1p


+ . . . + xnp
.
1 + exp(1 x11 + . . . + p x1p )
1 + exp(1 xn1 + . . . + p xnp )
Dans le cas de la rgression logistique (binaire), il existe une procdure spcifique dite IRLS
(Iterative Reweighted Least Squares) issue de la procdure de Newton-Raphson.

Laurent Rouvire

Rgression sur variables catgorielles

2.1 Estimation des paramtres

17

Dfinition 2.1
Le nuage de points est dit :
compltement sparable si Rp+1 : i tel que Yi = 1 xi > 0 et i tel que Yi = 0 xi < 0 ;
quasi-compltement sparable si Rp+1 : i tel que Yi = 1 xi 0, i tel que Yi = 0 xi 0
et {i : xi = 0} 6= ;
en recouvrement sil nest ni compltement sparable ni quasi-compltement sparable (voir figure
2.1).

Fig. 2.1 Exemple de sparabilit complte (gauche), quasi-complte (milieu) et de recouvrement


(droite).

La proposition suivante assure la convergence de lalgorithme IRLS vers la valeur .


Proposition 1 On suppose que le nuage de points est en situation de recouvrement et que les xi
sont des ralisations i.i.d. dune loi support compact. Alors
1. La log-vraisemblance L() est strictement concave : existe et est unique.
2. La loi asymptotique de lestimateur du maximum de vraisemblance est donne par

n( ) N (0, I()1 ),
o I() est la matrice dinformation de Fisher au point :
I()ij = E

i
2
LY () ,
i j

LY () dsignant la log-vraisemblance de au point Y .


Pour la preuve de la concavit, on pourra se rfrer au polycopi de Guyon (2005) ou larticle de
Albert & Anderson (1984). La loi asymptotique dcoule de la thorie du maximum de vraisemblance
(voir annexe A.1). La concavit a une consquence numrique importante puisquelle justifie quun
Il ny a donc pas de risque de converger
algorithme itratif convergera bien vers la valeur de .
vers un maximum local non global et la convergence de lalgorithme ne dpend pas du point
dinitialisation de lalgorithme.

Rgression sur variables catgorielles

Laurent Rouvire

18

Analyse discriminante logistique

2.1.2

Rappel sur lalgorithme de Newton-Raphson

La mthode de Newton-Raphson permet une rsolution numrique des quations du score. On


part tout dabord dune valeur initiale arbitraire de , note 0 . On note 1 = 0 + h une valeur
candidate pour tre solution de S() = 0, cest--dire S( 0 + h) = 0. Par un dveloppement limit
lordre un de la fonction S, on obtient lapproximation suivante :
S( 0 + h) S( 0 ) + hS ( 0 ).
Comme S( 0 + h) = 0, on obtient pour h la valeur suivante :
h = [S ( 0 )]1 S( 0 ).
Il vient

1
2L
L 0
0
=
( ).
( )

On itre le processus. La procdure se rsume de la manire suivante :


1. choix dun point de dpart 0 ;
2. On construit k+1 partir de k
k+1 = k + Ak L| k ,
o L| k est le gradient au point k et Ak = (2 L| k )1 est la matrice de pas de
lalgorithme (linverse du hessien de L au point k )
Algorithme 1 maximisation de la vraisemblance
Require: 0
k1
repeat
k+1 k + Ak Lk
k k+1
until k+1 k et/ou L( k+1 ) L( k )

2.1.3

Calcul des estimateurs


2

Calculons la matrice hessienne L =


n

2L
r s

1r,sp
n

X
X
exp(xi )
2L
=
=

xri xsi
xri xsi pi (1 pi ),

2
r s
(1 + exp(xi ))
i=1
i=1

par consquent

X
2L
L=
=

xi xi P(Y = 1|X = xi )(1 P(Y = 1|X = xi )).


2

i=1
2

On note
pki la probabilit P(Y = 1|X = xi ) estime ltape k de lalgorithme ;

Laurent Rouvire

Rgression sur variables catgorielles

2.2 Dimensions explicatives, variables explicatives

19

P k le vecteur colonne de dimension n dont le ime lment est pki ;


W k la matrice diagonale diag(pki (1 pki )).
Il vient
(2 L| k )1 = (X W k X)1 .

(2.4)

Nous sommes maintenant mme de calculer k+1


k+1 = k + (X W k X)1 X (Y P k )

= (X W k X)1 X W k (X k + W k
= (X W k X)1 X W k Z k ,

(Y P k ))

o Z k = X k + W k (Y P k ). Cette quation est simplement une rgression pondre o les


poids W k dpendent de X et k . Les poids sont donc rvalus chaque tape de lalgorithme,
une tape tant une simple rgression pondre. A la dernire tape k de lalgorithme, on note

W k = W . On obtient lestimateur du maximum de vraisemblance :

= (X W k X)1 X W k Z k = (X W X)1 X W Z k .

2.2

Dimensions explicatives, variables explicatives

Les remarques formules dans cette partie sappliquent dans la plupart des modles de rgression (modles linaires et danalyse de variance par exemple). Pour plus de dtails, on pourra se
rapporter aux ouvrages de Droesbeke et al (2007) et Cornillon & Matzner-Lber (2007).
Suivant la nature dune variable explicative, le nombre de dimensions explicatives du modle peut
varier. Plus prcisment, on dira que la dimension explicative du modle est gale au nombre de
colonnes de la matrice du design X utilise dans lalgorithme destimation des paramtres (voir
section 2.1). Elle est obtenue en sommant les dimensions explicatives associes aux diffrentes
variables explicatives du modle, lesquelles varient suivant le nature de la variable explicative. Nous
tudions dans cette partie les dimensions explicatives pour des variables explicatives quantitatives,
qualitatives. Le cas dinteraction sera ensuite abord.

2.2.1

Variable explicative continue

Cest le cas le plus simple puisque une variable explicative est reprsente par une seule colonne
dans la matrice du design X. On estime donc un seul paramtre par variable quantitative.

2.2.2

Variable explicative qualitative

Tout comme pour le modle danalyse de variance, une variable qualitative est reprsente par
les indicatrices associes aux diffrentes modalits. Considrons un modle o la seule variable
explicative est le sexe :
logit (P(Y = 1|X = x)) = 0 + F 1F (x) + H 1H (x),

(2.5)

mais aussi
logit (P(Y = 1|X = x)) = (0 + F ) + (H F )1H (x).
Rgression sur variables catgorielles

Laurent Rouvire

20

Analyse discriminante logistique

Il y a une infinit dcritures possibles... Le modle (2.5) correspond une matrice du design X
trois colonnes o la premire colonne est une colonne de 1 et les deux dernires sont obtenues
en effectuant un codage disjonctif complet pour chaque individu (le ime terme de la 2me (resp.
3me ) colonne vaut 1 si le ime individu de lchantillon est une femme (resp. un homme)). Par
consquent, la somme des deuxime et troisime colonne vaut 1 ce qui rend lestimation impossible
puisque la matrice X nest pas de plein rang (X W X nest donc pas inversible). Une solution pour
pallier cette difficult consiste mettre une contrainte sur les coefficients H et F . La solution
souvent utilise par les logiciels est de supprimer une des colonnes de la matrice X, ce qui revient
considrer que le coefficient de la modalit associe cette colonne est nul. Cette modalit est prise
comme modalit de rfrence par rapport laquelle on mesure des dviations. Le choix de cette
modalit na bien entendu pas dinfluence sur le modle. Il en a cependant une sur la valeur des
coefficients estims ainsi que sur leurs carts types. Ainsi le nombre de coefficients significativement
diffrents de 0 peut changer suivant le choix de la modalit de rfrence. Ceci montre clairement
que, pour juger lapport dune variable qualitative, il nest pas pertinent dutiliser les tests de
significativit des coefficients. Il sera prfrable de raliser un test entre modles embots (voir
page 34).
Exemple 2.1
Considrons le cas dune variable explicative trois niveaux g1 , g2 , g3 . Les observations sont rcoltes dans les tableaux suivants (quivalents)
observation
1
2
3
4
5
6

X
g1
g2
g3
g1
g2
g1

Y
1
1
1
1
0
0

X
g1
g2
g3

#{Y = 1}
2
1
1

#{Y = 0}
1
1
0

On effectue une rgression logistique sur R :


> model<-glm(Y~.,data=X,family=binomial)
> model
Call:

glm(formula = Y ~ ., family = binomial, data = X)

Coefficients:
(Intercept)
0.6931

xg2
-0.6931

xg3
17.8729

Degrees of Freedom: 5 Total (i.e. Null); 3 Residual


Null Deviance:
7.638
Residual Deviance: 6.592
AIC: 12.59

La modalit g1 est ici prise comme modalit de rfrence. Le modle estim scrit donc :

si j = 1
0.6931

0
si j = 2
logit P(Y = 1|X = gj ) =

0.6931 + 17.8729 = 18.566 si j = 3.


Laurent Rouvire

Rgression sur variables catgorielles

2.3 Interprtation des coefficients

21

ou encore

P(Y
= 1|X = gj ) =

2.2.3

Interactions

exp(0.6931)
1+exp(0.6391)

= 2/3

1/2
exp(18.566)
1+exp(18.566)

= 1.0000

si j = 1
si j = 2
si j = 3.

Tout comme en analyse de la variance, on ne peut se contenter de modles purement additifs.


Reprenons lexemple dvelopp dans Droesbeke et al (2007) (page 122). Nous considrons le cas
o la variable Y reprsente le fait de faire (cod 1) ou non (cod 0) de la couture. On dispose de
deux variables explicatives : lage et le sexe. Le modle purement additif scrit :
logit p(x) = 0 + 1 age + 2 1femme ,
la modalit homme a t choisie comme modalit de rfrence. Une telle criture revient supposer
que les pentes sont identiques pour les hommes et les femmes (voir Figure 2.2).
Femmes

Femmes
Hommes

Hommes
age
Fig. 2.2 Modle additif.

age
Fig. 2.3 Modle avec interaction.

Sachant que les hommes font trs rarement de la couture, il parait prfrable de pouvoir utiliser
un modle du genre (voir Figure 2.3) :
logit p(x) = 0 + 1 age + 2 1femme + 3 age1femme .
Ce modle revient considrer linteraction entre les variables age et sexe. On rappelle que
deux variables interagissent si leffet de lune sur Y diffre suivant les valeurs de lautre. Bien
entendu, lajout dune interaction augmente la dimension explicative du modle. Le nombre de
composantes supplmentaires sobtient en faisant le produit du nombre de dimensions des variables
qui interagissent (ici les variables sexe et age sont de dimension 1, on rajoute donc une dimension).

2.3

Interprtation des coefficients

exp(x)
Nous avons reprsent sur la Figure 2.4 plusieurs reprsentations de la fonction x 7 1+exp(x)
pour
diffrentes valeurs de . On remarque que :
pour de faibles valeurs de on a une large plage de valeurs de x pour lesquelles la fonction se
situe aux alentours de 0.5 (la fonction est mme constante (0.5) dans le cas extrme = 0).
Pour ces valeurs P(Y = 1|X = x) sera proche de 0.5 et on peut donc penser quil sera difficile
de discriminer ;

Rgression sur variables catgorielles

Laurent Rouvire

Analyse discriminante logistique

0.3

0.2

0.8

0.7

22

= 0.5

1.0
0.0

0.0

1.0

=0

=2

= 10

Fig. 2.4 P(Y = 1|X = x) pour diffrentes valeurs de .


lorsque augmente, la zone o la fonction est proche de 0.5 diminue et la fonction est proche
de 0 ou 1 pour un grand nombre de valeurs de x. Par consquent, P(Y = 1|X = x) sera souvent
proche de 1 ou 0, ce qui risque de minimiser dventuelles erreurs de prdictions.
On peut interprter ainsi : plus est grand, mieux on discrimine. Cependant une telle interprtation dpend des valeurs que x prend (de son chelle). Cest pourquoi en gnral linterprtation
des coefficients seffectue en terme dodds ratio. Les odds ratio sont des outils souvent apprcis
dans le domaine de lpidmiologie (mais pas toujours bien utiliss !).
Les odds ratio servent mesurer leffet dune variable continue ou le contraste entre les effets
dune variable qualitative. Lide gnrale est de raisonner en terme de probabilits ou de rapport
de cotes (odds). Si on a, par exemple, une probabilit p = 1/4 de gagner un jeu, cela signifie
que sur 4 personnes une gagne et les trois autres perdent, soit un rapport de 1 gagnant sur trois
perdants, cest--dire p/(1 p) = 1/3. Ce rapport p/(1 p) varie entre 0 (0 gagnant) et linfini
(que des gagnants) en passant par 1 (un gagnant pour un perdant).
Dfinition 2.2
Lodds (chance) pour un individu x dobtenir la rponse Y = 1 est dfini par :
odds(x) =

p(x)
,
1 p(x)

o p(x) = P(Y = 1|X = x).

Lodds ratio (rapport des chances) entre deux individus x et x est


odds(x)
OR(x, x ) =
=
odds(x )

p(x)
1p(x)
p(x )
1p(x )

Les odds ratio peuvent tre utiliss de plusieurs manires :


1. Comparaison de probabilits de succs entre deux individus (voir Tableau 2.1) ;

Laurent Rouvire

Rgression sur variables catgorielles

2.4 Prcision des estimations et tests

23

OR(x, x ) > 1 p(x) > p(x )


OR(x, x ) = 1 p(x) = p(x )
OR(x, x ) < 1 p(x) < p(x )
Tab. 2.1 Rgles dinterprtation des odds ratio.
2. Interprtation en terme de risque relatif : dans le cas o p(x) et p(x ) sont trs petits
par rapport 1, comme dans le cas dune maladie trs rare, alors on peut approximer loddratio comme OR(x, x ) p(x)/p(x ) et interprter simplement. Par exemple si OR(x, x ) = 4
alors la rponse (maladie) est 4 fois plus probable dans le cas o X = x que dans le cas o
X = x .
3. Mesure de limpact dune variable : pour le modle logistique
logit p(x) = 0 + 1 x1 + . . . + p xp ,
il est facile de vrifier que
OR(x, x ) = exp(1 (x1 x1 )) . . . exp(p (xp xp )).
Pour tudier linfluence dune variable sur lodds ratio, il suffit de considrer deux observation
x et x qui diffrent uniquement par la j me variable. On obtient alors
OR(x, x ) = exp(j (xj xj )).
Ainsi une variation de la j me variable dune unit (sur lchelle de cette variable) correspond
un odds ratio exp(j ) qui est uniquement fonction du coefficient j . Le coefficient j permet
de mesurer linfluence de la j me variable sur le rapport p(x)/(1 p(x)) lorsque xj varie
dune unit, et ceux indpendamment de la valeur de xj . Une telle analyse peut se rvler
intressante pour tudier linfluence dun changement dtat dune variable qualitative.
Exemple 2.2
Considrons lexemple o lon souhaite expliquer le fait davoir une mention au bac par la moyenne
en math sur les deux premiers trimestres. On note
Y la variable alatoire qui prend pour valeur 1 si lindividu a obtenu une mention, 0 sinon ;
X1 la moyenne de lindividu en question au cours des deux premiers trimestres.
Le modle logistique scrit
logit p(x) = 0 + 1 x1 .
On trouve une estimation de 1 gale log 2. Pour une note x1 fixe, le modle donne p(x) = 1/4
(on rappelle que x = (1, x1 )). On a donc odds(x) = 1/3 soit un rapport dune mention pour 3
non mention (pour la note x1 ). Si on considre des individu ayant obtenu la note x1 + 1, il faut
multiplier lodds par 2 : odds(x ) = 2/3 avec x = (1, x1 + 1).

2.4
2.4.1

Prcision des estimations et tests


Loi asymptotique

Nous avons obtenu dans la proposition 1 le comportement asymptotique de lestimateur du maximum de vraisemblance :

n( ) N (0, I()1 ),
Rgression sur variables catgorielles

Laurent Rouvire

24

Analyse discriminante logistique

o I() est la matrice dinformation de Fisher au point :


h 2
i
I()ij = E
LY () ,
i j

et LY () dsigne la log-vraisemblance de au point Y . Un tel rsultat nest pas utilisable tel quel
puisque la matrice I() est inconnue. Dans la pratique, cette matrice est estime comme suit :
ij = 1
I()
n

n
X
k=1

n
2
1 2
1 2 X
LYi () =
LYi () =
L(),
i j
n i j k=1
n i j

o L() est dfini par (2.2). tant inconnu, lestimateur de la matrice dinformation de Fisher
est donn par :
= 1 (X W X).
)
I(
n

2.4.2

Intervalles de confiance

On dduit facilement du paragraphe prcdent quun estimateur de la variance de j est donne


par le j me terme de la diagonale de (X W X)1 . Notons
j2 cet estimateur. On dduit que j /
j
suit asymptotiquement une loi N (j , 1). Un intervalle de confiance de niveau 1 pour j est
donc donn par
h
i
j ; j + u1/2
j ,
IC (j ) = j u1/2

o u1/2 reprsente le quantile de niveau (1 /2) de la loi normale N (0, 1).

La validit de ces intervalles est toute relative puisquil sagit dune approximation valable asymptotiquement. Il est toujours possible de complter cette tude par un bootstrap afin dobtenir
dautres intervalles de confiance dans le cas ou ceux-ci sont particulirement importants. Cela dit,
en pratique, on se contente de lintervalle de confiance bti grce la matrice dinformation de
Fisher.

2.4.3

Tests de nullit de q coefficients libres

La thorie du maximum de vraisemblance nous donnant la loi (asymptotique) des estimateurs,


il est possible de tester la significativit des variables explicatives. Pour cela, trois tests sont
gnralement utiliss :
Le test de Wald ;
Le test du score ;
Le test du rapport de vraisemblance ou de la dviance.
Les hypothses scrivent :
H0 : j1 = j2 = . . . = jq = 0 contre H1 : k {1, . . . , q} : jk 6= 0.
Sous H0 les trois statistiques de test suivantes suivent asymptotiquement une loi du 2 q degrs
de libert :
Statistique du test de Wald :
(QI 1 ()Q
)1 Q,

(Q)
n
= nI(
et Q est la matrice q (p + 1) telle que Q = (j1 , . . . , jq ) .
)
o In ()
Laurent Rouvire

Rgression sur variables catgorielles

2.5 Un exemple avec R

25

Statistique du score :

S(H0 ) I01 (H0 )S(H0 ),


o S est la fonction de score dfinie par 2.3 (page 16) et I01 (H0 ) et H0 sont respectivement
les estimateurs de n fois la matrice dinformation de Fisher et du maximum de vraisemblance
sous la contrainte H0 .
Statistique de la dviance :

2[L(H0 ) L()].

H0 est rejet au profit de H1 ds que ces statistiques dpassent le fractile dordre 1 de la loi du
2 q degrs de libert. La figure 2.5 permet de visualiser les trois tests. Le test du score revient
tester que la pente en H0 ( sous H0 ) est nulle, le test de Wald que lcart entre et H0 est
nul et le test du rapport de vraisemblance que lcart entre les vraisemblances de ces deux points
est nul.

Test du rapport des vraisemblances


Test de Wald
Test du score
max
0
Log-vraisemblance

Fig. 2.5 Rapport de vraisemblance, score, test de Wald.


Remarque
La PROC LOGISTIC sous SAS ralise les trois tests pour H0 : 1 = 2 = . . . = p = 0.
Pour les tests variable par variable ou paramtre par paramtre
H0 : j = 0 contre H1 : j 6= 0,
la PROC LOGISTIC utilise le test de Wald.

2.5

Un exemple avec R

Le traitement du cancer de la prostate change si le cancer a atteint ou non les neuds lymphatiques
entourant la prostate. Pour viter une investigation lourde (ouverture de la cavit abdominale) un
certain nombre de variables sont considres comme explicative de la variable Y binaire : Y = 0
le cancer na pas atteint le rseau lymphatique, Y = 1 le cancer a atteint le rseau lymphatique.
Le but est dexpliquer Y par les variables suivantes :

Rgression sur variables catgorielles

Laurent Rouvire

26

Analyse discriminante logistique

ge du patient au moment du diagnostic : age ;


le niveau dacide phosphatase srique : acide ;
Le rsultat dune analyse par rayon X, 0= ngatif, 1=positif : rayonx ;
La taille de la tumeur, 0=petite, 1=grande : taille ;
Ltat pathologique de la tumeur dtermine par biopsie (0=moyen, 1=grave) : grade ;
Le logarithme nprien du niveau dacidit : log.acid.

1
2
3
4
5
6
7
8
9
10

age
66
68
66
56
58
60
65
60
50
49

acide rayonx taille grade


log.acid.
0.48
0
0
0 -0.73396918
0.56
0
0
0 -0.57981850
0.50
0
0
0 -0.69314718
0.52
0
0
0 -0.65392647
0.50
0
0
0 -0.69314718
0.49
0
0
0 -0.71334989
0.46
1
0
0 -0.77652879
0.62
1
0
0 -0.47803580
0.56
0
0
1 -0.57981850
0.55
1
0
0 -0.59783700
Tab. 2.2 Reprsentation des dix premiers individus.

2.5.1

Modles simples

Nous sommes en prsence de 6 variables explicatives X1 , . . . , X6 avec :


X1 , X2 et X6 quantitatives ;
X3 , X4 et X5 qualitatives (2 niveaux pour chacune).
Premier modle
Considrons tout dabord les trois variables explicatives qualitatives X = (X3 , X4 , X5 ) :
logit P(Y = 1|X = x) = 0 + 3 1{x3 =1} + 4 1{x4 =1} + 5 1{x5 =1} .
Ce modle possde 4 paramtres. Les sorties du logiciel R sont :
> model_quali<-glm(Y~rayonx+taille+grade,data=donnees,family=binomial)
> model_quali
Call:

glm(formula = Y ~ rayonx + taille + grade, family = binomial,

Coefficients:
(Intercept)
-2.1455

rayonx1
2.0731

taille1
1.4097

data = donnees)

grade1
0.5499

Degrees of Freedom: 52 Total (i.e. Null); 49 Residual


Null Deviance:
70.25
Residual Deviance: 52.78
AIC: 60.78

Si par exemple (x3 , x4 , x5 ) = (1, 0, 1), on aura alors :

logit P(Y
= 1|X = x) = 0 + 3 + 5 = 2.1455 + 2.0731 + 0.5499 = 0.4785
Laurent Rouvire

Rgression sur variables catgorielles

2.5 Un exemple avec R

27

et

P(Y
= 1|X = x) =

exp(0.4785)
= 0.6174.
1 + exp(0.4785)

Ainsi, dans un contexte de prvision, nous assignerons le label 1 la nouvelle observation x.


Deuxime modle
Considrons maintenant le modle uniquement compos de variables quantitatives,
logit P(Y = 1|X = x) = 0 + 1 x1 + 2 x2 + 6 x6 .
> model_quanti<-glm(Y~age+acide+log.acid.,data=donnees,family=binomial)
> model_quanti
Call:

glm(formula = Y ~ age + acide + log.acid., family = binomial,

Coefficients:
(Intercept)
12.34700

age
-0.02805

acide
-9.96499

data = donnees)

log.acid.
10.54332

Degrees of Freedom: 52 Total (i.e. Null); 49 Residual


Null Deviance:
70.25
Residual Deviance: 59.95
AIC: 67.95

Troisime modle
Le modle complet 6 variables scrit
logit P(Y = 1|X = x) = 0 + 1 x1 + 2 x2 + 3 1{x3 =1} + 4 1{x4 =1} + 5 1{x5 =1} + 6 x6 .
> model_complet<-glm(Y~.,data=donnees,family=binomial)
> model_complet
Call:

glm(formula = Y ~ ., family = binomial, data = donnees)

Coefficients:
(Intercept)
10.08672
log.acid.
9.60912

age
-0.04289

acide
-8.48006

rayonx1
2.06673

taille1
1.38415

grade1
0.85376

Degrees of Freedom: 52 Total (i.e. Null); 46 Residual


Null Deviance:
70.25
Residual Deviance: 44.77
AIC: 58.77

2.5.2

Encore dautres modles...

Comme dans le cas du le modle linaire on peut galement considrer des interactions entre les
variables explicatives. Gnralement, on dit quil y a interaction entre deux facteurs F 1 et F 2 sur
une variable Y si leffet de lun des facteurs diffre selon la modalit de lautre. Remarquons que
cette notion na rien voir avec celle de corrlation qui ne concerne que deux variables alors que
linteraction met en jeu une troisime variable Y .

Rgression sur variables catgorielles

Laurent Rouvire

28

Analyse discriminante logistique

Exemple 2.3 (Construction dinteraction)


On sintresse leffet de deux traitements X1 et X2 sur le rhume. Le traitement X1 consiste
prendre intervalle de temps rguliers deux verres de cognac et X2 reprsente un traitement aux
antibiotiques (il nest pas difficile de comprendre lintrt denvisager une interaction). La variable
rponse Y correspond ltat du patient (1 si malade, 0 si bonne sant). Nayant pas encore trouv
suffisamment de volontaires pour raliser ltude, on simule un chantillon suivant le modle
1. deux facteurs X1 et X2 deux niveaux quiprobables ;
2. la loi de Y conditionnellement X1 et X2 est donne dans le tableau 2.3.

0
1

0
B(0.95)
B(0.05)

1
B(0.05)
B(0.95)

Tab. 2.3 Loi de Y (B dsigne la loi de Bernoulli).


On estime les pourcentages de mal classs sur un chantillon indpendant (voir section 3.1.4) et
on reporte dans le tableau suivant les pourcentages de mal classs pour les modles sans et avec
interaction. Nous voyons lintrt dinclure une interaction pour cet exemple.
Sans
Avec

0.54
0.065

Tab. 2.4 Pourcentages de mal classs.


Pour lexemple du cancer de la prostate, le modle avec toutes les interactions dordre 2 scrit :
> model_inter<-glm(Y~.^2,data=donnees,family=binomial)
Warning message:
des probabilits ont t ajustes numriquement 0 ou 1 in: glm.fit(x = X, y = Y,
weights = weights, start = start, etastart = etastart,
> model_inter
Call:

glm(formula = Y ~ .^2, family = binomial, data = donnees)

Coefficients:
(Intercept)
age
acide
2.843e+17
-4.229e+15
-3.117e+17
taille1
grade1
log.acid.
2.516e+16
-5.778e+15
2.026e+17
age:rayonx1
age:taille1
age:grade1
2.077e+13
-5.245e+13
-1.670e+14
acide:rayonx1
acide:taille1
acide:grade1
5.572e+16
-2.420e+16
2.336e+16
rayonx1:taille1
rayonx1:grade1 rayonx1:log.acid.
1.129e+15
-1.176e+15
-4.004e+16
taille1:log.acid.
grade1:log.acid.
8.625e+15
-1.228e+16
Degrees of Freedom: 52 Total (i.e. Null); 31 Residual
Null Deviance:
70.25
Residual Deviance: 504.6
AIC: 548.6

Laurent Rouvire

rayonx1
-5.453e+16
age:acide
4.665e+15
age:log.acid.
-2.869e+15
acide:log.acid.
-5.687e+15
taille1:grade1
-5.496e+15

Rgression sur variables catgorielles

2.5 Un exemple avec R

29


On peut vrifier que ce modle ncessite lestimation de 22 paramtres (1 + 6 + 62 ). Bien entendu,
dautres sous-modles avec interactions peuvent tre utiliss. De plus, nous pouvons nous demander
si toutes les variables sont bien explicatives ? Ds lors, des mthodes slection et validation de
modles doivent tre envisages.

Rgression sur variables catgorielles

Laurent Rouvire

Chapitre 3
Slection et validation de modles
Ce chapitre se divise en deux parties :
1. Slection : Etant donns M modles M1 , . . . MM , comment choisir le meilleur partir
de lchantillon dont on dispose.
2. Validation : Est-ce que le modle slectionn est bon ? En statistique cette question peut
tre aborde de diffrentes faons :
Est-ce que la qualit dajustement globale est satisfaisante : le modle dcrit-il bien les
valeurs observes ?
Ce type de question fait lobjet des tests dajustement ou dadquation (goodness of fit).
Lajustement peut tre aussi regard observation par observation (individus aberrants)
par des mthodes graphiques (analyse des rsidus) ou analytiques.
Est-ce que les hypothses sont vrifies ? Les mthodes sont essentiellement graphiques
(analyse des rsidus).
Linfluence des observations sur lestimation des paramtres peut tre aussi envisage (distance de Cook, robustesse).
Dans ce chapitre nous allons traiter ces questions travers lexemple du modle logistique. Lensemble des mthodes prsentes peut stendre dautres problmatiques de slection-validation
de modles.

3.1

Slection ou choix de modle

Si on se restreint des modles logistiques, slectionner un modle revient choisir les variables
(interactions inclues) qui vont constituer le modle.

3.1.1

Un outil spcifique : la dviance

Il est difficile de se faire une ide sur lajustement en se basant sur la valeur vraisemblance puisquelle dpend (entre autres) de la taille de lchantillon. Pour la rgression logistique, un outil
spcifique est introduit : la dviance. Elle compare la vraisemblance obtenue celle dun modle
de rfrence : le modle complet (ou modle satur). Ce modle possde autant de paramtres que
de points du design et vrifie :
Psat (Y = yi |X = xi ) = 1 si on est en prsence de donnes individuelles.
Psat (Y = yi |X = xi ) = yt o yt = st /nt , st dsignant le nombre de succs au point xt et nt le
nombre de rptitions au point xt , si on est en prsence de donnes rptes.

Rgression sur variables catgorielles

Laurent Rouvire

32

Slection et validation de modles

Ce modle est le modle le plus complexe (en terme de nombre de coefficients) puisquil propose
un coefficient diffrent pour chaque point du design. Tous les autres modles sont embots dans
celui-ci.
La dviance est dfinie par :
D = 2 (Lsature L()) 0.
La dviance est gal 2 fois une diffrence de vraisemblance. Elle constitue un cart en terme de
log-vraisemblance entre le modle satur dajustement maximum et le modle considr.
Ajustement
parfait

bon

moyen

mauvais

Qualit dajustement
-

Dviance

On rappelle que pour des donnes individuelles la log-vraisemblance scrit


)
( n
n
Y
X
P(Y = yi |X = xi ) =
yi log(pi ) + (1 yi ) log(1 pi ).
L() = log
i=1

i=1

Pour le modle satur, il nexiste aucune incertitude et la probabilit estime par le modle au
point X = xi est donc 1 pour le groupe observ et 0 sinon :

1 si yi = j
P(Y = j|X = xi ) =
ou encore P(Y = yi |X = xi ) = 1.
0 sinon.
Par consquent Lsature = 0 et la dviance est gale deux fois loppos de la log-vraisemblance.
Remarque
Si maintenant plusieurs observations sont effectues au mme point du design (voir annexe A.3),
la log vraisemblance du modle logistique scrit :
L() =

T
X
t=1

  X
T
nt
+
nt {
yt log(p(xt )) + (1 yt ) log(1 p(xt ))}
log
st
t=T

o nt et st dsignent respectivement le nombres dobservations et de succs au point xi . Le modle


satur vrifie
P(Y = 1|X = xt ) = yt , o yt = st /nt ,
par suite,
Lsature =

T
X
t=1

  X
T
nt
+
nt {
yt log(
yt ) + (1 yt ) log(1 yt )}
log
st
t=1

La dviance est donc gale


D=2

T
X
t=1

Laurent Rouvire

nt


yt
1 yt
yt log
+ (1 yt ) log
) .
p(xt )
1 p(xt )

Rgression sur variables catgorielles

3.1 Slection ou choix de modle

33

Exemple 3.1 (calcul de dviance)


Considrons lexemple du cancer de la prostate et calculons dabord la dviance pour le modle
Y~age+acide. Nous somme ici en prsence de donnes individuelles, on obtient la dviance via les
commandes :
mod1 <- glm(Y~age+acide,data=donnees,family=binomial) #construction du modele
#calcul de la vraisemblance
prev <- mod1$fitted.values
#on obtient les pi
vrais <- rep(0,nrow(donnees))
vrais[donnees$Y==1] <- prev[donnees$Y==1]
vrais[donnees$Y==0] <- 1-prev[donnees$Y==0]
vrais <- prod(vrais) #vrai est la vraisemblance du modele
dev <- -2*log(vrais) #pour ce modele, il ny a pas de repetitions aux points du
design, donc Lsat=0
> dev
[1] 65.72393

>
>
>
>
>
>
>
>

Bien entendu, le logiciel peut retourner directement la valeur de la dviance


> mod1$deviance
[1] 65.72393
Si maintenant on considre le modle Y~age+taille, nous somme en prsence de donnes rptes.
Les donnes se trouvent dans le fichier donnees_bin_age_taille.txt dont voici les premires
lignes :
"age" "taille" "Y1" "Y0"
49 "0" 0 1
50 "0" 1 0
51 "0" 0 2
52 "0" 0 1
56 "0" 1 3
58 "0" 0 2
Les deux premires colonnes reprsentent les valeurs des variables explicatives. On retrouve ensuite
(colonne Y1) le nombre de rponses Y=1 et (colonne Y0) le nombre de rponses Y=0. Le modle est
construit via la commande :
> donnees1 <- read.table("donnees_bin_age_taille.txt",header=T)
> model1<-glm(cbind(Y1,Y0)~age+taille,data=donnees1,family=binomial)
La dviance se calcule comme suit
>
>
>
>
>
>
>

prev <- model1$fitted


#calcul des pi
ni <- apply(donnees1[,3:4],1,sum)
ti <- donnees1$Y1
ybi <- donnees1$Y1/ni
#calcul des termes combinatoires (facultatif)
vect_comb <- rep(0,nrow(donnees1))
for (i in 1:nrow(donnees1)){

Rgression sur variables catgorielles

Laurent Rouvire

34

Slection et validation de modles

+ vect_comb[i]<- log(prod(1:ni[i])/(max(c(prod(1:ti[i]),1))*
max(c(prod(1:(ni[i]-ti[i])),1))))}
> vect <- ni*(ybi*log(prev)+(1-ybi)*log(1-prev))
> vrais_model1 <- sum(vect_comb+vect) #log_vraisemblance du modele
> #modele sature
> vect_sat <- ni*(ybi*log(ybi)+(1-ybi)*log(1-ybi))
> vect_sat[is.na(vect_sat)] <- 0
> vrais_modelsat <- sum(vect_comb+vect_sat)
> #on deduit la deviance
> 2*(vrais_modelsat-vrais_model1)
[1] 37.15260
On retrouve cette valeur directement
> model1$deviance
[1] 37.15260

3.1.2

Test de dviance entre 2 modles embots

Rappelons que par dfinition un modle est embot dans un autre plus gnral (ou plus grand)
lorsquil est un cas particulier de ce modle plus gnral.
Exemple 3.2
Dans le cas de la rgression simple, le modle
y = 0 + 1 x1 + ,
est un cas particulier du modle
y = 0 + 1 x1 + 2 x2 + .
En effet il suffit de poser que 2 = 0 dans le second modle pour retrouver le premier.
Exemple 3.3
On a la mme notion de modles embots pour la rgression logistique. Par exemple, les modles
logit (P(Y = 1|X = x)) = 0 + 1 x1 + 2 x2
et
logit (P(Y = 1|X = x)) = 0 + 1 x1 + 2 x2 + 3 x3
sont embots lun dans lautre.
Pour comparer deux modles embots M1 M2 nous allons comparer leur dviance D1 et D2 .
On a alors deux cas :
La diffrence est grande le fait de passer dun modle simple (petit) un modle plus complexe
(plus gnral ou plus grand) a donc apport un cart de dviance significatif le modle plus
gnral est acceptable.
La diffrence est faible le modle simple et celui plus complexe sont voisins et par souci de
parcimonie le modle simple est conserv.

Laurent Rouvire

Rgression sur variables catgorielles

3.1 Slection ou choix de modle

35

Il nous faut bien entendu dterminer un seuil partir duquel on pourra dire que la diffrence de
dviance est petite ou grande. Pour ce faire, on construit un test dans lequel nous allons chercher
la loi de la diffrence de dviance sous H0 (lhypothse selon laquelle le modle simple est vrai).
Comparer les dviances des deux modles candidats revient comparer leurs vraisemblances. Par
suite, sous les mmes hypothses que celles de la proposition 1, D = D1 D2 = Dpetit Dgrand
suit asymptotiquement une loi du 2 p2 p1 degrs de libert o p1 est le nombre de paramtres
du modle simple et p2 celui du modle complexe. Le test se droule alors de la manire classique
1. Les hypothses sont fixes
H0 le modle simple p1 paramtres est adquat ;
H1 le modle complexe p2 paramtres est adquat.
2. est choisi (en gnral 5% ou 1%)
3. Lobservation de D est calcule, notons la Dobs
4. Calcul du quantile de niveau (1 ) de la loi du 2 (p2 p1 ), not q1 (p2 p1 ).
Si Dobs > q1 (p2 p1 ) alors H0 est repouss au profit de H1 , le modle M1 sera alors
rejet au profit du modle M2 .
Si Dobs q1 (p2 p1 ) alors H0 est conserv, le modle M1 est slectionn..

3.1.3

Critre de choix de modles

Le test que nous venons dtudier permet de slectionner un modle parmi deux modles embots.
Or, partir de p variables explicatives, il est possible de construire un grand nombre de modles
logistiques qui ne sont pas forcment embots. Lutilisation dun simple test de dviance se rvle
alors insuffisante. On a recours des critres de choix de modles qui permettent de comparer des
modles qui ne sont pas forcment embots les uns dans les autres.
Les critres AIC et BIC sont les plus utiliss. Ces critres sont bass sur la philosophie suivante :
plus la vraisemblance est grande, plus grande est donc la log-vraisemblance et meilleur est le
modle. Cependant la vraisemblance augmente avec la complexit du modle, et choisir le modle
qui maximise la vraisemblance revient choisir le modle satur. Ce modle est clairement surparamtr, il sur-ajuste les donnes (overfitting).
Exemple 3.4
On considre un chantillon de taille n = 100 simul suivant le modle :
Xi N (0, 1),

Ui U[0, 1],

et Yi =

1Ui 0.25
1Ui 0.25

si Xi 0
si Xi 0

Les donnes sont reprsentes sur la figure 3.1 : environ 3/4 des labels valent 0 pour les valeurs de
Xi ngatives et 1 pour les valeurs positives. Le modle satur ajuste parfaitement les observations.
Nous voyons cependant quil est difficile, pour ne pas dire impossible utiliser dans un contexte
de prvision. De plus le modle satur possde ici n = 100 paramtres tandis que le modle
logistique nen possde que 2. Ceci est nettement plus avantageux pour expliquer Y dun point de
vue descriptif.
Pour choisir des modles plus parcimonieux, une stratgie consiste pnaliser la vraisemblance
par une fonction du nombre de paramtres.

Rgression sur variables catgorielles

Laurent Rouvire

36

Slection et validation de modles

Par dfinition lAIC (Akaike Informative Criterion) pour un modle p paramtres est
AIC = 2L + 2p.
Le critre de choix de modle le BIC (Bayesian Informative Criterion) pour un modle p
paramtres estims sur n observations est dfini par
BIC = 2L + p log(n).
On choisira le modle qui possde le plus petit AIC ou BIC. Lutilisation de ces critres est simple.
Pour chaque modle concurrent le critre de choix de modle est calcul et le modle qui prsente
le plus faible est slectionn.

++

+ +++
+
+
+
+
++
++
+
++
+
+
+++ +
+
+
++
+
++
+
++
+
+ + +++

1.0

+ +

+
+ ++
++ +
++
++
++
+
+
++
++
+
++
+
+
+
+

++ +
0

0.0

Y
+

++

++

+ +++
+
+
+
+
++
++
+
++
+
+
+++ +
+
+
++
+
++
+
++
+
+ + +++

+ +

0.5

0.5
0.0

1.0

Remarque
Remarquons que certains logiciels utilisent AIC et BIC il est donc prudent de bien vrifier
dans quel sens doivent tre optimiss ces critres (maximisation ou minimisation). Ceci peut tre
fait aisment en comparant un modle trs mauvais (compos uniquement de la constante par
exemple) un bon modle et de vrifier dans quel sens varie les critres de choix.

+
2

+
+ ++
++ +
++
++
++
+
+
++
++
+
++
+
+
+
+

++ +

++

Fig. 3.1 Gauche : Reprsentation des observations (gauche). Droite : Trac des modles saturs
(pointills) et logistique (trait plein).

3.1.4

Apprentissage/validation

Un moyen naturel de slectionner un modle consisterait :


1. estimer les pourcentages de mal classs de tous les modles candidats laide de lchantillon ;
2. choisir le modle qui possde la plus petite estimation.
Dans le cas dobservations binaires, un estimateur du pourcentage de mal classs est
n

1X
1
,
n i=1 {Yi (j)6=Yi }
Laurent Rouvire

Rgression sur variables catgorielles

3.1 Slection ou choix de modle

37

o Yi (j) dsigne la ime prdiction (celle associe Xi ) du j me modle.


Nous avons vu que le modle satur ajuste de manire parfaite les donnes, ce qui signifie que
son pourcentage de mal classs est nul. Lutilisation dun tel critre semble alors peu pertinente.
La faiblesse de ce critre tient du fait que le mme chantillon (x1 , y1 ), . . . , (xn , yn ) est utilis pour :
construire le modle (estimer ses paramtres) ;
estimer le taux derreurs.
Ceci introduit un biais dans lestimation du pourcentage de mal classs. La procdure apprentissagevalidation saffranchit de ce problme en sparant de manire alatoire les donnes (X1 , Y1 ), . . . , (Xn , Yn )
en deux parties distinctes :
(Xi , Yi ), i I un chantillon dapprentissage de taille ;
(Xi , Yi ), i Im un chantillon de validation de taille m tel que + m = n,
o I Im = {1, . . . , n} et I Im = . Lchantillon dapprentissage est utilis pour construire
les modles concurrents (pour estimer les paramtres des diffrents modles logistiques envisags).
Lchantillon de validation est ensuite utilis pour estimer les pourcentages de mal classs des
diffrents modles. Plus prcisment, une fois les paramtres des diffrents modles estims, chaque
modle est appliqu sur les individus du deuxime chantillon. Pour chaque modle j nous obtenons
une prvision pour chaque observation i de lchantillon de validation Yi (j). Cette prvision est
ensuite compare la valeur observe Yi . Le pourcentage de mal classs est alors estim par (voir
figure 3.2) :
1 X
M C(j) =
1
.
m iI {Yi (j)6=Yi }
m

On choisira bien entendu le modle pour lequel le critre M C sera minimum. Si les modles concurrents sont tous des modles logistiques, nous avons pour chaque modle j et chaque observation i
de lchantillon Im une estimation de la probabilit :
Pj (Y = 1|X = xi ).
Une prvision peut tre obtenue suivant la rgle

j (Y = 1|X = xi ) > 0.5
1 si P

Yi (j) =
0 sinon.

Le tableau 3.1 compare les pourcentages de mal classs des modles satur et logistique de lexemple
de la figure 3.1. La procdure qui utilise un seul chantillon pour calculer le taux de mal classs va
ainsi slectionner le modle satur, ce nest pas le cas de la procdure Apprentissage-Validation qui
fournit des estimations des taux derreurs plus prcises et qui slectionnera le modle logistique.

Sans AV
avec AV

Satur
0
0.244

Logistique
0.146
0.160

Tab. 3.1 Pourcentages de mal classs des modles saturs et logistique de lexemple de la Figure 3.1
avec et sans la procdure apprentissage-validation (les deux chantillons de mme taille)
Cette procdure semble la plus indique pour choisir un modle. Il faut nanmoins la nuancer car
elle requiert beaucoup de donnes

Rgression sur variables catgorielles

Laurent Rouvire

38

Slection et validation de modles

Apprentissage
Sparation

Toutes les variables


Y

Estimations des modles


concurrents

Validation

Uniquement les X

Donnes de dpart

Valeurs observes

Valeurs prdites (pour tous les modles concurrents)

Fig. 3.2 Procdure dapprentissage/validation.


dans lchantillon dapprentissage pour estimer le modle et ainsi ne pas trop pnaliser les
modles avec beaucoup de variables dont les coefficients seront moins bien estims ;
dans lchantillon de validation pour bien valuer la capacit de prvision.
De plus il nexiste pas de rgle pour choisir les tailles des deux chantillons.

3.1.5

Validation croise

Lorsque lon na pas assez de donnes pour lapprentissage/validation, on peut avoir recours une
procdure de validation croise. Le principe est de moyenner le pourcentage de mal classs
laide de plusieurs dcoupages de lchantillon. Plus prcisment, on divise lchantillon initial en
K sous chantillons Ek de mme taille et on effectue K procdures apprentissage-validation pour
lesquelles :
lchantillon test sera constitu dune division Ek ;
lchantillon dapprentissage sera constitu de lensemble des autres divisions E Ek (voir figure
3.3).
On obtient ainsi une prvision pour chaque individu de la division Ek et une fois les K procdures
apprentissage-validation effectues, on a une prvision pour tous les individus de lchantillon.
Il suffit alors de comparer ces prvisions aux valeurs observes pour obtenir une estimation du
pourcentage de mal classs. Le modle retenu sera le modle qui conduit lestimation minimale.
Bien entendu le choix du nombre K parties nest pas anodin.
Plus K est faible, plus la capacit de prvision sera value dans de nombreux cas puisque le
nombre dobservations dans la validation sera lev, mais moins lestimation sera prcise ;
Au contraire, un K lev conduit peu dobservations dans la validation et donc une plus
grande variance dans les pourcentages de mal classs.

Laurent Rouvire

Rgression sur variables catgorielles

3.1 Slection ou choix de modle

39

X
Y
11111111111111111111111111111111111111111111
00000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000
11111111111111111111111111111111111111111111
00000000000000000000000000000000000000000000
E1 11111111111111111111111111111111111111111111
00000000000000000000000000000000000000000000
11111111111111111111111111111111111111111111
00000000000000000000000000000000000000000000
11111111111111111111111111111111111111111111
00000000000000000000000000000000000000000000
11111111111111111111111111111111111111111111
00000000000000000000000000000000000000000000
E2 11111111111111111111111111111111111111111111
00000000000000000000000000000000000000000000
11111111111111111111111111111111111111111111
00000000000000000000000000000000000000000000
11111111111111111111111111111111111111111111
00000000000000000000000000000000000000000000
11111111111111111111111111111111111111111111
00000000000000000000000000000000000000000000
11111111111111111111111111111111111111111111
00000000000000000000000000000000000000000000
11111111111111111111111111111111111111111111
00000000000000000000000000000000000000000000
11111111111111111111111111111111111111111111
00000000000000000000000000000000000000000000
11111111111111111111111111111111111111111111
00000000000000000000000000000000000000000000
11111111111111111111111111111111111111111111
00000000000000000000000000000000000000000000
11111111111111111111111111111111111111111111
00000000000000000000000000000000000000000000
11111111111111111111111111111111111111111111
00000000000000000000000000000000000000000000
11111111111111111111111111111111111111111111
Ek
00000000000000000000000000000000000000000000
11111111111111111111111111111111111111111111
00000000000000000000000000000000000000000000
11111111111111111111111111111111111111111111
00000000000000000000000000000000000000000000
11111111111111111111111111111111111111111111
00000000000000000000000000000000000000000000
11111111111111111111111111111111111111111111
00000000000000000000000000000000000000000000
11111111111111111111111111111111111111111111
00000000000000000000000000000000000000000000
11111111111111111111111111111111111111111111
00000000000000000000000000000000000000000000
11111111111111111111111111111111111111111111
00000000000000000000000000000000000000000000
11111111111111111111111111111111111111111111
00000000000000000000000000000000000000000000
11111111111111111111111111111111111111111111
00000000000000000000000000000000000000000000
11111111111111111111111111111111111111111111
00000000000000000000000000000000000000000000
11111111111111111111111111111111111111111111
00000000000000000000000000000000000000000000
11111111111111111111111111111111111111111111
00000000000000000000000000000000000000000000
EK 11111111111111111111111111111111111111111111
00000000000000000000000000000000000000000000
11111111111111111111111111111111111111111111
00000000000000000000000000000000000000000000
11111111111111111111111111111111111111111111
Fig. 3.3 Dcoupage de lchantillon pour la validation croise. Lchantillon dapprentissage correspond la partie hachure.
Remarque
Sous R, la librairie boot permet destimer le pourcentage de mal classes par validation croise.
Si, par exemple, on considre le modle compos des 6 variables explicatives sur les donnes du
cancer de la prostate, on obtient :
modele <- glm(Y~.,data=donnees,family=binomial)
library(boot)
cout <- function(Y_obs,prevision_prob){
return(mean(abs(Y_obs-prevision_prob)>0.5))}
cv.glm(donnees,modele,cout)$delta[1]
1
0.3396226

>
>
>
+
>

3.1.6

Slection automatique

Les procdures que nous venons dtudier permettent de slectionner un modle partir dune
famille de modles donne. Une autre approche de la slection de modle consiste chercher
parmi les variables X1 , . . . , Xp , celles qui expliquent le mieux Y . Par exemple, pour la rgression
logistique, nous pourrions nous poser le problme de chercher le meilleur sous-ensemble des p
variables explicatives pour un critre C donn (AIC, BIC...). Le nombre de sous ensembles de
p variables tant 2p , nous serions en prsence de 2p modles logistiques possibles, cest--dire 2p
modles diffrents. Bien entendu, nous slectionnerions le modle qui optimiserait le critre C.
Cependant, dans de nombreuses situations, p est grand et par consquent le nombre de modles
considrs est trs grand. Les algorithmes doptimisation du critre C deviennent trs coteux
en temps de calcul. On prfre alors souvent utiliser des mthodes de recherche pas pas.

Rgression sur variables catgorielles

Laurent Rouvire

40

Slection et validation de modles


Modle de dpart

Modle en cours = M0
AIC M0 moins bon
M1 devient M0

Ajout dun coefficient


Choix parmi tous les modles (+ petit AIC)

Modle slectionn =M1

Comparaison AIC modele M0 et modele M1

AIC M0 meilleur

Modle courant M0 retenu

Fig. 3.4 Technique ascendante utilisant lAIC.


Recherche pas pas, mthode ascendante (forward selection)
A chaque pas, une variable est ajoute au modle.
Si la mthode ascendante utilise un test de dviance, nous rajoutons la variable Xj dont la valeur
p (probabilit critique) associe la statistique de test de dviance qui compare les 2 modles
est minimale. Nous nous arrtons lorsque toutes les variables sont intgres ou lorsque la valeur
p est plus grande quune valeur seuil.
Si la mthode ascendante utilise un critre de choix, nous ajoutons la variable Xj dont lajout au
modle conduit loptimisation la plus grande du critre de choix. Nous nous arrtons lorsque
toutes les variables sont intgres ou lorsque quaucune variable ne permet loptimisation du
critre de choix (voir aussi Figure 3.4).

Recherche pas pas, mthode descendante (backward selection)


A la premire tape toutes les variables sont intgres au modle.
Si la mthode descendante utilise un test de dviance, nous liminons ensuite la variable Xj dont
la valeur p associe la statistique de test de dviance est la plus grande. Nous nous arrtons
lorsque toutes les variables sont retires du modle ou lorsque la valeur p est plus petite quune
valeur seuil.
Si la mthode descendante utilise un critre de choix, nous retirons la variable Xj dont le retrait
du modle conduit laugmentation la plus grande du critre de choix. Nous nous arrtons
lorsque toutes les variables sont retires ou lorsque quaucune variable ne permet laugmentation
du critre de choix.

Laurent Rouvire

Rgression sur variables catgorielles

3.1 Slection ou choix de modle

41

Recherche pas pas, mthode progressive (stepwise selection)


Idem que lascendante, sauf que lon peut liminer des variables dj introduites. En effet, il peut
arriver que des variables introduites au dbut de lalgorithme ne soient plus significatives aprs
introduction de nouvelles variables. Remarquons quen gnral la variable constante est toujours
prsente dans le modle.
Exemple 3.5
Reprenons lexemple des donnes du cancer de la prostate. Nous allons slectionner des modles
par les diffrentes approches pas pas.
1. Mthode ascendante : le modle initial est constitu uniquement de la variable age.
> model_age<-glm(Y~age,data=donnees,family=binomial)
> model_asc<-step(model_age,direction="forward",scope=list(upper=
formula("Y~(age+acide+rayonx+taille+grade+log.acid.)")))
> model_asc
Call:

glm(formula = Y ~ age + rayonx + taille + log.acid., family = binomial,


data = donnees)

Coefficients:
(Intercept)
2.65636

age
-0.06523

rayonx1
2.08995

taille1
1.75652

log.acid.
2.34941

Degrees of Freedom: 52 Total (i.e. Null); 48 Residual


Null Deviance:
70.25
Residual Deviance: 47.68
AIC: 57.68

2. Mthode descendante : le modle initial est ici constitu de toutes les variables (sans
interactions).
> modelcomplet<-glm(Y~.,data=donnees,family=binomial)
> model_des<-step(modelcomplet,direction="backward")
> model_des
Call:

glm(formula = Y ~ acide + rayonx + taille + log.acid., family = binomial,


data = donnees)

Coefficients:
(Intercept)
9.067

acide
-9.862

rayonx1
2.093

taille1
1.591

log.acid.
10.410

Degrees of Freedom: 52 Total (i.e. Null); 48 Residual


Null Deviance:
70.25
Residual Deviance: 46.43
AIC: 56.43

3. Mthode progressive : le modle initial est ici constitu de toutes les variables (sans
interactions).
> model_pro<-step(modelcomplet,direction="both")
> model_pro
Call:

glm(formula = Y ~ acide + rayonx + taille + log.acid., family = binomial,


data = donnees)

Coefficients:
(Intercept)

acide

rayonx1

Rgression sur variables catgorielles

taille1

log.acid.

Laurent Rouvire

42

Slection et validation de modles


9.067

-9.862

2.093

1.591

10.410

Degrees of Freedom: 52 Total (i.e. Null); 48 Residual


Null Deviance:
70.25
Residual Deviance: 46.43
AIC: 56.43

On peut galement mettre des variables dinteractions parmi les variables candidates.
> model_pro1<-step(modelcomplet,direction="both",scope=list(upper=formula("Y~(age+acide+
rayonx+taille+grade+log.acid.)^2"),lower=formula("Y~1")))
> model_pro1
Call:

glm(formula = Y ~ acide + rayonx + taille + grade + log.acid. + taille:grade +


taille:log.acid. + acide:grade, family = binomial,data = donnees)

Coefficients:
(Intercept)
49.385
grade1
1.227
acide:grade1
17.629

acide
-49.186
log.acid.
53.329

rayonx1
3.135
taille1:grade1
-14.264

taille1
-2.635
taille1:log.acid.
-21.719

Degrees of Freedom: 52 Total (i.e. Null); 44 Residual


Null Deviance:
70.25
Residual Deviance: 26.47
AIC: 44.47

Nous voyons sur cet exemple que suivant le choix de la mthode pas pas et du modle initial, les
modles slectionns diffrent. La slection dun seul modle peut seffectuer en deux temps :
1. On slectionne un nombre faible (entre 5 et 10 par exemple) de modles candidats via des
algorithmes pas pas ;
2. On choisit le modle qui minimise un critre de choix (AIC, BIC, ou pourcentage de mal
classs).
Une fois le modle choisi, il est ncessaire de mener une tude plus approfondie de ce dernier qui
permettra de le valider ou de laffiner (suppression de points aberrants, analyse des rsidus...).

3.2
3.2.1

Validation du modle
Test dadquation par la dviance

Ce test permet de valider un modle p paramtres. Les hypothses nulle et alternative sont :
H0 le modle considr p paramtres est adquat ;
H1 le modle considr p paramtres nest pas adquat.
Ici, nous allons comparer le modle satur au modle considr au moyen de la dviance. Nous
savons que
si la dviance est grande, alors le modle considr est loin du modle satur et que par consquent il najuste pas bien les donnes ;
Par contre si la dviance est proche de 0, le modle considr sera adquat.
Pour quantifier cette notion de proche de 0 et de grande dviance, la loi de la dviance sous
H0 (le modle considr est le vrai modle) va nous tre utile. En effet si H0 est vraie, le modle
considr est vrai par dfinition. La dviance sera rpartie sur R+ mais avec plus de chance dtre

Laurent Rouvire

Rgression sur variables catgorielles

3.2 Validation du modle

43

proche de 0. Par contre si H0 nest pas vraie la dviance sera rpartie sur R+ mais avec plus de
chance dtre loigne de 0. Il nous faut donc connatre la loi de la dviance sous H0 .

0.25

La dviance est une diffrence de log-vraisemblance entre deux modles embots. Il dcoule que la
statistique D suit asymptotiquement une loi du 2 (n p) degrs de libert, o p est le nombre de
paramtres du modle et n le nombre de points du design. Le test se droule alors de la manire
classique :
1. Les hypothses sont fixes
H0 le modle considr p paramtres est adquat (cette hypothse se traduit par une
hypothse qui fixe zro les coefficients prsents dans le modle satur mais pas dans le
modle en question).
H1 le modle considr p paramtres nest pas adquat
2. est choisi (en gnral 5% ou 1%)
3. Lobservation de D est calcule, notons la Dobs
4. Calcul du quantile de niveau (1 ) de la loi du 2 (n p), not q1 (n p).
Si Dobs > q1 (n p) alors H0 est repouss au profit de H1 , le modle considr nest pas
adquat.
Si Dobs q1 (n p) alors H0 est conserv, le modle considr est adquat.

0.10

0.15

H0 repouss

0.00

0.05

densit

0.20

H0 conserv

10

Fig. 3.5 Test de dviance, la droite horizontale reprsente le seuil de rejet Dc = q1 (n p).
Remarque
La validit de la loi et donc du test nest quasymptotique, il est donc ncessaire davoir un peu
de recul quant aux conclusions. Ce test ne peut tre utilis uniquement en prsence de donnes
rptes. En effet, lapproximation de la loi de la dviance par une loi du 2 est dautant plus
valable lorsque le nombre de rptitions aux points du design est grand. En prsence de donnes
individuelles (aucune rptition sur les points du design), D ne suit pas une loi du 2 : le test
dadquation dHosmer Lemeshow est alors conseill.

3.2.2

Test dHosmer Lemeshow

Ce test permet de vrifier ladquation dun modle en prsence de donnes individuelles. Il seffectue de la manire suivante (voir Hosmer & Lemeshow (2000), chapitre 5).
1. Les probabilits pi sont ordonnes par ordre croissant (
pi est la probabilit P(Y = 1|X = xi )
estime par le modle) ;

Rgression sur variables catgorielles

Laurent Rouvire

44

Slection et validation de modles

2. Ces probabilits ordonnes sont ensuite spares en K groupes de taille gale (on prend
souvent K = 10 si n est suffisamment grand). On note
mk les effectifs du groupe k ;
ok le nombre de succs (Y = 1) observ dans le groupe k ;
k la moyenne des pi dans le groupe k.
La statistique de test est alors
C

K
X
(ok mk k )2
=
.
mk k (1 k )
k=1

Le test se conduit de manire identique au test de dviance, la statistique C 2 suivant approximativement un 2 K 1 degrs de libert.

3.2.3

Analyse des rsidus

Les diffrents types de rsidus


A limage de la rgression plusieurs types de rsidus sont proposs par les logiciels. Le premier,
le plus simple calculer est tout simplement Yi pi . Ces rsidus sont appels rsidus bruts. Ils
permettent de mesurer lajustement du modle sur chaque observation. Ces rsidus nayant pas la
mme variance, ils sont difficiles comparer. En effet, on rappelle que V(Y |X = xi ) = pi (1 pi ).
Par consquent, la variance de tels rsidus risquent dtre leves pour des valeurs de pi proches
de 1/2. Un moyen de pallier cette difficult est de considrer les rsidus de Pearson
p

Yi pi

pi (1 pi )

(3.1)

Par dfinition on standardise les rsidus par la variance thorique de Yi . Cependant, pi tant
alatoire, on a V(Yi pi ) 6= V(Yi pi ). En effet, en notant

i = Yi p i

on a

i = Yi pi

Hypothses
E(i ) = 0

Ralit
E(
i ) 0

V(i ) = pi (1 pi )

V(
i ) = pi (1 pi )(1 hii )

o hii est llment de la ime ligne et de la ime colonne de la matrice H = X(X W X)1 X W .
Il est par consquent intressant de considrer la version standardise des rsidus de Pearson
p

Yi pi

pi (1 pi )(1 hii )

Les rsidus de dviance sont dfinis par

signe(Yi pi ) 2(LYi (sature) LYi ()),


Laurent Rouvire

Rgression sur variables catgorielles

3.2 Validation du modle

45

est la log-vraisemblance associe lobservation Yi (et non pas toutes les observations)
o LYi ())
du modle en question et LYi (sature) son homologue pour le modle satur. L encore pour tenir
compte de la variabilit ces rsidus sont standardiss :
s

signe(Yi pi )

2(LYi (sature)(Yi ) LYi ())


.
1 hii

Ces deux types de rsidus de dviance sont ceux qui sont en gnral conseills.
Examen des rsidus
Index plot Pour le modle logistique les rsidus de dviance sont souvent prfrs. De nombreuses tudes exprimentales ont montr quils approchent mieux la loi normale que les rsidus
de Pearson. Pour cette raison ces rsidus prennent gnralement des valeurs qui varient entre -2
et 2. Nous pourrons construire un index plot pour dtecter des valeurs aberrantes. Ce graphique
ordonne les rsidus en fonction du numro de leur observation. Les points pour lesquels on observe
on rsidu lev (hors de [2, 2] par exemple) devront faire lobjet dune tude approfondie.
> model<-glm(Y~rayonx+taille+grade+log.acid.+taille:grade+grade:log.acid.,data=donnees,
family=binomial)
> plot(rstudent(model),type="p",cex=0.5,ylab="Rsidus studentiss par VC")
> abline(h=c(-2,2))

26

1
0
2

Rsidus studentiss par VC

34

10

20

30

40

50

Index

Fig. 3.6 Index plot.

Graphique prdiction linaire/rsidus Ce graphique qui reprsente X en abscisse et en


ordonn permet de dtecter les valeurs aberrantes mais aussi les structurations suspectes. Si une
structuration suspecte apparat, il sera peut tre adquat dajouter une nouvelle variable afin de
prendre en compte cette structuration. Dans le cas des donnes individuelles ce type de graphique
donne toujours des structurations (Figure 3.7) et nest donc pas conseiller.

Rgression sur variables catgorielles

Laurent Rouvire

Slection et validation de modles

1
0
2

Rsidus studentiss par VC

46

10

prvision linaire

Fig. 3.7 Graphique prdiction/rsidus pour un modle logistique


Rsidus partiels Les rsidus partiels sont dfinis par
P.j =

Yi pi
+ j X.j
pi (1 pi )

Lanalyse consiste tracer pour toutes les variables j les points avec en abscisse la variable j et
en ordonne les rsidus partiels. Si le trac est linaire alors tout est normal. Si par contre une
tendance non linaire se dgage, il faut remplacer la variable j par une fonction de celle ci donnant
la mme tendance que celle observe.
>
>
>
>
>
>

residpartiels<-resid(model,type="partial")
prov<-loess(residpartiels[,"log.acid."]~donnees$log.acid)
ordre<-order(donnees$log.acid.)
plot(donnees$log.acid.,residpartiels[,"log.acid."],type="p",cex=0.5,xlab="",ylab="")
matlines(donnees$log.acid.[ordre],predict(prov)[ordre])
abline(lsfit(donnees$log.acid.,residpartiels[,"log.acid."]),lty=2)

Le graphique 3.8 montre quaucune transformation nest ncessaire, les rsidus partiels tant rpartis le long de la droite ajuste.
Mallows (1986) propose dutiliser les rsidus partiels augments qui dans certaines situations permettent de mieux dgager cette tendance. Les rsidus partiels augments pour la j me variable
ncessitent un nouveau modle logistique identique mis part le fait quune variable explicative
supplmentaire est ajoute : Xp+1 = X2j la j me variable leve au carr. Le nouveau vecteur de
coefficient du modle est estim et les rsidus partiels sont alors dfinis comme
P.j A =

Yi pi
+ j X.j + p+1 X.j2 .
pi (1 pi )

Lanalyse des diagrammes est identique ceux des rsidus partiels. Pour une analyse plus complte
sur lutilisation des rsidus, on pourra se reporter au chapitre 5 de louvrage de Collet (2003).

Laurent Rouvire

Rgression sur variables catgorielles

47

20

3.2 Validation du modle

10

15

26

0.5

0.0

0.5

Fig. 3.8 Rsidus partiels pour la variable log.acid., le trait continu reprsente le rsum liss des
donnes par lestimateur loess, le trait discontinu reprsente lestimateur linaire par moindre carr.

3.2.4

Points leviers et points influents

Ces notions sont analogues celles du modle linaire (voir Cornillon & Matzner-Lber (2007),
chapitre 4).
Points leviers
Par dfinition les points leviers sont les points du design qui dterminent trs fortement leur propre
estimation. Nous avons vu que lalgorithme destimation des paramtres effectue chaque tape
une rgression linaire et sarrte lorsque le processus devient stationnaire :
= (X W X)1 X W z,
et la prdiction linaire est alors
X = X(X W X)1 X W z = Hz,
o H est une matrice de projection selon la mtrique W . Comme nous transformons X par
une fonction monotone, des X extrmes entranent des valeurs de p extrmes. Nous allons donc
utiliser la mme mthode de diagnostic que celle de la rgression simple avec une nouvelle matrice
de projection H. Pour la ime prdiction linaire nous avons
i = Hii zi +
[X]

Hij zj .

j6=i

Si Hii est grand relativement aux Hij , j 6= i alors la ime observation contribue fortement la
i . On dira que le poids de lobservation i sur sa propre estimation vaut hii .
construction de [X]
Comme H est un projecteur nous savons que 0 Hii 1. Nous avons alors les cas extrmes
suivants :
si Hii = 1, pi est entirement dtermin par Yi car hij = 0 pour tout j.
si Hii = 0, Yi na pas dinfluence sur pi .

Rgression sur variables catgorielles

Laurent Rouvire

48

Slection et validation de modles

La trace dun
P projecteur tant gale la dimension du sous espace dans lequel on projette, on a
tr(H) = i Hii = p + 1. Donc en moyenne Hii vaut (p + 1)/n. Pour dire que la valeur de Hii
contribue trop fortement la construction de pi , il faut un seuil au del duquel le point est un
point levier. Par habitude, si Hii > 2p/n ou si Hii > 3p/n alors le ime point est dclar comme un
point levier.
En pratique un trac de Hii est effectu et lon cherche les points dont le Hii est suprieur
3(p + 1)/n ou 2(p + 1)/n. Ces points sont leviers et leur valeur influe fortement sur leur propre
prvision.
>
>
>
>
>
>
>

p<-length(model$coefficients)
n<-nrow(donnees)
plot(influence(model)$hat,type="h",ylab="hii")
seuil1<-3*p/n
abline(h=seuil1,col=1,lty=2)
seuil2<-2*p/n
abline(h=seuil2,col=1,lty=3)

0.5

34

0.0

0.1

0.2

hii

0.3

0.4

10

20

30

40

50

Index

Fig. 3.9 Points leviers.


Points influents
Les points influents sont des points qui influent sur le modle de telle sorte que si on les enlve, alors
lestimation des coefficients sera fortement change. La mesure la plus classique dinfluence est la
distance de Cook. Il sagit dune distance entre le coefficient estim avec toutes les observations et
celui estim avec toutes les observations sauf une. La distance de Cook pour lindividu i est dfinie
par
Di =

1
rP2 i Hii
X W X((i) )

((i) )
,
p+1
(p + 1)(1 Hii )2

o rP i est le rsidu de Pearson pour le ime individu.


Les distances de Cook sont gnralement reprsentes comme sur la figure 3.10. Si une distance
se rvle grande par rapport aux autres, alors ce point sera considr comme influent. Il convient
alors de comprendre pourquoi il est influent, soit

Laurent Rouvire

Rgression sur variables catgorielles

3.2 Validation du modle

49

il est levier ;
il est aberrant ;
(les deux !)
Dans tous les cas il convient de comprendre si une erreur de mesure, une diffrence dans la population des individus est lorigine de ce phnomne. Eventuellement pour obtenir des conclusions
robustes il sera bon de refaire lanalyse sans ce(s) point(s).

0.6
0.4
0.0

0.2

Distance de Cook

0.8

34

10

20

30

40

50

Index

Fig. 3.10 Distances de Cook.

Rgression sur variables catgorielles

Laurent Rouvire

Chapitre 4
Modle logistique multi-classes
Nous traitons dans ce chapitre le cas o la variable expliquer Y prend plus de deux modalits.
Pour simplifier les notations, on supposera que Y peut prendre k valeurs 1, . . . , k et on cherche toujours expliquer Y par p variables explicatives X = (1, X1 , . . . , Xp ) qualitatives ou quantitatives.
Nous distinguerons deux cas :
les modalits de Y sont ordonnes : il existe une hirarchie naturelle entre elles. Par exemple
le degr de satisfaction relativement un produit, le degr dadhsion une opinion... En
biostatistique, il peut sagir dun diagnostic sur ltat de sant (trs bonne, bonne, moyenne,
mauvais sant), sur le stade dvolution dune maladie, ou encore sur la taille ou la nature dune
tumeur (tumeur absente, bnigne, ou maligne). On parle dans ce cas de modle polytomique
ordonn ;
il nexiste pas de relation dordre sur les modalits de Y , la variable expliquer est purement
nominale : accord pour un prt (oui, non, examen du dossier). On parle dans ce cas de modle
polytomique nominal o de modle multinomial.

4.1
4.1.1

Modle polytomique ordonn


Cas binaire

Plaons nous dabord dans le cas o Y est binaire (0 ou 1). Sans perte de gnralit, on supposera
que nous sommes en prsence dune seule variable explicative X. On introduit une variable
alatoire centre et une variable latente (non observe) Y = 0 + 1 x + telle que Y |X = x vaut
1 lorsque la variable latente Y est grande (suprieure un seuil s) et 0 sinon. Nous obtenons :
P(Y = 1|X = x) = P (0 + 1 x + > s) = P( < s + 0 + 1 ) = F (0 + 1 x)
o F est la fonction de rpartition de la variable et 0 = s + 0 . Pour finir de spcifier le
modle, il reste choisir la fonction de rpartition F . Si on choisit
F (x) =

1
exp(x)
=
,
1 + exp(x)
1 + exp(x)

(4.1)

on obtient le modle logistique tudi dans les chapitres prcdents. Si F est la fonction de rpartition associe la loi normale centre rduite, nous obtenons alors le modle probit (voir section
1.3 et figure 4.1).

Rgression sur variables catgorielles

Laurent Rouvire

Modle logistique multi-classes

0.0

0.2

0.4

0.6

0.8

1.0

52

Fig. 4.1 Fonctions de rpartition des lois normale (trait plein) et logistique (tirets).

4.1.2

Gnralisation

Le modle polytomique ordonn peut tre prsent comme une simple gnralisation du modle
dichotomique prsent dans la partie prcdente, avec cette fois Y prenant k modalits ordonnes.
On se place toujours dans le cas dune seule variable explicative X, et nous allons maintenant
introduire non plus un seul, mais plusieurs seuils 1 , . . . , k1 tels que :

1 si Y < 1
j si j1 Y < j , j = 2, . . . , k 1
(Y |X = x) =
o Y = 1 x + .

k si Y k1
Le choix de la fonction de rpartition logistique (4.1) conduit au modle :
P(Y j|X = x) = F (j 1 x), j = 1, . . . , k 1
ou encore
logit (P(Y j|X = x)) = j 1 x, j = 1, . . . , k 1.

(4.2)

logit (P(Y j|X = x)) = j 1 x1 . . . p xp , j = 1, . . . , k 1,

(4.3)

Si on est en prsence de p variables explicatives, le modle devient

ou encore
P(Y j|X = x)) =

exp(j 1 x1 . . . p xp )
.
1 + exp(j 1 x1 . . . p xp )

Nous voyons qu travers une telle modlisation, seule la constante diffre suivant les diffrents
niveaux de Y . P
Ce modle ncessite donc lestimation de p + k 1 coefficients (p pentes et k 1
constantes car kj=1 P(Y = j|X = x) = 1).
Remarque
Suivant le logiciel les coefficients estims peuvent diffrer. La procdure LOGISTIC de SAS estime
par exemple les pentes bj = j . Sous R les fonctions polr, lmr et vgam des librairies MASS, Design
et VGAM permettent de construire des modles logistiques pour expliquer une variable qualitative
ordinale. Il est important de consulter laide de la fonction afin de connatre la signification des
coefficients estims.

Laurent Rouvire

Rgression sur variables catgorielles

4.1 Modle polytomique ordonn

53

Exemple 4.1
La fonction polr de la librairie MASS utilise un modle de la forme (4.2) et (4.3). Elle sutilise de
la manire suivante :
#Simulation des donnees
> Y <- ordered(c(rep(1,5),rep(2,5),rep(3,5)))
> set.seed(145)
> X <- rnorm(15)
> donnees <- data.frame(X,Y)
> library(MASS)
> library(VGAM) #pour la fonction logit
> model <- polr(Y~X,data=donnees)
> model
Call:
polr(formula = Y ~ X, data = donnees)
Coefficients:
X
-3.059502
Intercepts:
1|2
2|3
-3.0779038 -0.6120617
Residual Deviance: 21.48307
AIC: 27.48307
Les coefficients estimes sont = 3.059502,
1 = 3.0779038 et
2 = 0.6120617. On peut
obtenir les probabilits a posteriori du premier individu de lchantillon avec les commandes :
>
>
>
>

x <- donnees$X[1]
beta1 <- coef(model)
s <- model$zeta
exp(beta1*x)/(1+exp(beta1*x))
X
0.1089403
> p1 <- logit(s[1]-beta1*x,inverse=TRUE)
> p1
1|2
0.2736280
> p2 <- logit(s[2]-beta1*x,inverse=TRUE)-p1
> p2
2|3
0.5423826
> p3 <- 1-p1-p2
> p3
1|2
0.1839894

Rgression sur variables catgorielles

Laurent Rouvire

54

Modle logistique multi-classes

Ces probabilits sobtiennent directement :


> model$fitted[1,]
1
2
3
0.2736280 0.5423826 0.1839894

4.1.3

Lgalit des pentes

Dans le modle (4.3), les coefficients des variables explicatives sont identiques quel que soit le
niveau de Y (on dit quil y a galit des pentes) tandis que les constantes diffrent. Quelle que soit
la modalit j considre, une variable explicative donne a la mme influence sur P(Y j|X = x).
Dans le cas o lon dispose dune seule variable explicative X, le modle peut tre reprsent par
la figure 4.2.
j (x)
j=3
j=2
j=1

x
Fig. 4.2 Reprsentation du modle logit (P(Y j|X = x)) = j 1 x = j (x).
On pourrait envisager des valeurs diffrentes pour les paramtres de pentes m (m = 1, . . . , p). Les
droites de la figure 4.2 pourraient ainsi se couper , ce qui remettrait en cause le caractre ordonn
des modalits de la variable explique. Supposons quau del dune valeur x0 , la premire droite
(j = 1) se situe au-dessus de la seconde (j = 2), on aurait alors :
P(Y 1|X = x) > P(Y 2|X = x).
Un tel rsultat est videmment gnant : il remet en cause la modlisation retenue, qui distribue
les diffrentes modalits de Y sur un mme axe ordonn. Il faudrait dans ce cas se tourner vers un
modle plus gnral (voir section 4.2).
Dans le cas o la variable Y est ordonne, on dfinit lodds dun individu xi relativement lvnement {Y j} par
odds(xi ) =

P(Y j|X = x)
= exp(j xi ).
1 P(Y j|X = x)

Par consquent lodds ratio entre deux individus xi et xi relativement lvnement {Y j}


scrit

OR(xi , xi ) = exp (xi xi ) .
(4.4)
Laurent Rouvire

Rgression sur variables catgorielles

4.1 Modle polytomique ordonn

55

Par consquent lodds ratio ne dpend pas de la modalit j, on dit que lhypothse des seuils
alatoires se traduit par une hypothse de proportionnalit des odds ratio.
Une procdure de test de lgalit des pentes est implmente dans SAS, elle est intitule Score
Test for Proportional Odds Assumption. Ce test consiste raliser un test entre le modle (4.3)
et un modle plus gnral qui utiliserait des pentes diffrentes pour chaque modalit de Y :
logit (P(Y j|X = x)) = j

p
X

m=1

j
m
xm , j = 1, . . . , k 1

Ce modle contient k 1 constantes et p(k 1) pentes (car P(Y k|X = x) = 1). Sous lhypothse
1
k1
H0 dgalit des pentes m
= . . . = m
, m = 1, . . . , p, on retrouve le modle polytomique
ordonn. Tester lgalit des pentes revient donc effectuer un test entre modle embot. SAS
effectue un test du score : si H0 est vrifie, la pente de la log-vraisemblance pour lestimateur
du maximum de vraisemblance contraint = (
1 , . . . ,
k , 1 , . . . , p ) doit tre proche de 0. Si I0
dsigne la matrice dinformation de Fisher estime sous H0 , la statistique du score :
log L
log L
(
)I01
(
)

suit un 2p(k2) . En effet, sous lhypothse H0 teste le modle contient k + p 1 paramtres contre
k 1 + p(k 1) sous lhypothse alternative.
Un exemple dinterprtation des coefficients
Tout comme pour le modle dichotomique, les coefficients sinterprtent en terme dodds ratio.
Considrons le cas o lon cherche expliquer la variable Y qui correspond au type de mention
obtenue au BAC (3 modalits : AB, B, TB) par la variable X qui correspond la moyenne en
maths au cours des deux premiers trimestres. Supposons que le coefficient estim par le modle
soit gal log 2 et que pour une note fixe x, le modle fournisse les estimations :
1
P(Y = AB|X = x) = ,
4

P(Y = B|X = x) =

1
2

1
et P(Y = T B|X = x) = .
4

Dans ce cas, on dduit de (4.4) les tableaux suivants :

AB
B
TB

Proba
1/4
1/2
1/4

odds{Y = j}
1/3
1
1/3

odds{Y j}
1/3
3
+

Tab. 4.1 Odds Ratio pour lindividu x.

AB
B
TB

odds{Y j}
2/3
6
+

odds{Y = j}
2/3
16/19
1/6

Proba
2/5
16/35
1/7

Tab. 4.2 Odds Ratio pour lindividu x + 1.

En effet, la formule (4.4) entrane que les odds relativement aux vnements {Y j} sont multiplis
par exp lorsque la variable x est augmente dune unit. Ainsi, la premire colonne du tableau
4.2 sobtient en multipliant la dernire colonne du tableau 4.1 par 2. On pourra par exemple dire
que si pour la note x, jai 1 mention AB pour trois autres mentions, alors pour la note x + 1 jai 2
mentions AB pour trois autres mentions.

Rgression sur variables catgorielles

Laurent Rouvire

56

4.2

Modle logistique multi-classes

Modle multinomial

Dans le cas du modle polytomique ordonn, le caractre ordinal de la variable explique permettait
dintroduire une variable latente, des seuils, et destimer des probabilits cumules. Lorsque la
variable expliquer est purement nominale, cette dmarche nest plus possible.

4.2.1

Le modle

Dsignons par {1, . . . , k} les modalits (non ordonnes) de Y et par X = (1, X1 , . . . , Xp ) les p
variables explicatives. Tout comme pour le modle dichotomique,
Pk nous allons chercher modliser
les probabilits P(Y = j|X = x) pour j = 1, . . . , k. Comme j=1 P(Y = j|X = x) = 1, il suffit
de modliser les probabilits P(Y = j|X = x) pour j = 1, . . . , k 1 par exemple. Le groupe k sera
pris comme groupe tmoin. Le modle scrit :
log

P(Y = j|X = x)
= 0j + 1j x1 + . . . + pj xp = x j ,
P(Y = k|X = x)

On a alors
P(Y = j|X = x) =
avec pour convention k = 0.

j = 1, . . . , k 1.

exp(x j )
Pk1
1 + j=1 exp(x j )

(4.5)

Remarque
Si k = 2, on retombe sur le modle logistique dans le cas binaire.
Linconvnient majeur de ce modle est la multiplication des paramtres estimer (un vecteur
de paramtres j pour k 1 modalits de Y ) qui rend les rsultats plus dlicats interprter.
Bien entendu, le choix du groupe de rfrence une importance sur la valeur des paramtres
estims mais pas sur le modle : quel que soit le groupe de rfrence choisi, les probabilits
estims P(Y = j|X = x) seront bien entendu identiques.
Sous R, la fonction multinom de la librairie nnet permet de construire un modle multinomial.
Sous SAS, on utilise la procdure CATMOD.

4.2.2

Estimation et interprtation des paramtres

Les paramtres j , j = 1, . . . , k 1 sont estims par maximum de vraisemblance. Pour une observation (x, y), on dsigne par y1 , . . . , yk un codage disjonctif complet de y, i.e., yj = 1 si y = j, 0
sinon. La vraisemblance pour (x, y) scrit
L() = p1 (x)y1 . . . pk (x)yk
o pj (x) = P(Y = j|X = x) est dfini par (4.5). La vraisemblance suit donc une loi multinomiale
M(1, p1 (x), . . . , pk (x)). Cest pour cela que ce modle est souvent appel modle polytomique multinomial. Les estimateurs du maximum de vraisemblance sobtiennent une fois de plus en annulant
les drives partielles par rapport aux diffrents paramtres de la vraisemblance de lchantillon.
Comme pour le cas dichotomique, il ny a pas de solutions explicites pour les estimateurs et on a
recours des mthodes numriques pour les calculer. Il ny a pas de relles nouveauts par rapport
au cas binaire, lalgorithme est simplement plus dlicat crire cause de la multiplication du
nombre de paramtres. Le lecteur pourra consulter louvrage dHosmer & Lemeshow (2000) pour
plus de dtails.

Laurent Rouvire

Rgression sur variables catgorielles

4.2 Modle multinomial

57

Les odds ratio napparaissent gnralement pas dans les sorties logiciels pour le modle multinomial : il faut donc les calculer la main en prenant garde au codage particulier des variables
expliquatives qualitatives. On rappelle que pour un individu x, lodds dun vnement Y = j est
gal au rapport P(Y = j|X = x)/P(Y 6= j|X = x). Dans le cas du modle multinomial, on prfre
souvent tudier lodds dun vnement j1 contre un vnement j2 , on dfinit alors
odds(x, Y = j1 vs Y = j2 ) =

P(Y = j1 |X = x)
= exp(( j1 j2 ) x).
P(Y = j2 |X = x)

Et pour deux individus xi et xi , on dfinit alors lodds ratio par

P(Y = j1 |X = xi )/P(Y = j2 |X = xi )
P(Y = j1 |X = xi )/P(Y = j2 |X = xi )
= exp(( j1 j2 ) (xi xi )).

OR(xi , xi , Y = j1 vs Y = j2 ) =

Ainsi si les deux individus xi et xi ne diffrent que dune unit pour la variable , on a
OR(xi , xi , Y = j1 vs Y = j2 ) = exp(j1 j2 ).
Nous terminons cette partie par un exemple de calcul dodds ratio sur R. On considre le problme
dexpliquer Y trois niveaux 1,2 et 3 par X une variable qualitative trois modalits a, b et c.
Les donnes sont obtenues par les commandes :
>
>
>
>

Y <- factor(c(rep(3,5),rep(2,5),rep(1,5)))
set.seed(189)
X <- factor(sample(c(rep("a",5),rep("b",5),rep("c",5))))
donnees <- data.frame(X,Y)

On utilise la fonction multinom pour ajuster un modle logistique multinomial :


> library(nnet)
> model <- multinom(Y~X,data=donnees)
Les coefficients du modle sont obtenus par :
> beta <- coef(model)
> beta
(Intercept)
Xb
Xc
2 1.0979772850 -10.5259443 -0.4045297
3 -0.0005551724 -0.4047684 0.6939763
Nous remarquons que le niveau de rfrence de Y est ici 1. On veut calculer lodds ratio OR(b, c, Y =
2 vs Y = 3). On calcule dabord odds(b, Y = 2 vs Y = 3) et odds(c, Y = 2 vs Y = 3)
> oddb23 <- exp(beta[1,1]+beta[1,2]-beta[2,1]-beta[2,2])
> oddc23 <- exp(beta[1,1]+beta[1,3]-beta[2,1]-beta[2,3])
On dduit lodds ratio cherch
> oddb23/oddc23
[1] 0.0001206436
On aurait pu le calculer directement
> exp(beta[1,2]-beta[2,2]-beta[1,3]+beta[2,3])
[1] 0.0001206436

Rgression sur variables catgorielles

Laurent Rouvire

Annexes
A.1

Rappels sur la mthode du maximum de vraisemblance

Pour plus de prcisions, le lecteur pourra se reporter au chapitre 6 de louvrage de Lejeune (2004).
Thorme A.1 (Ingalit de Cramer-Rao)
Soit T un estimateur sans biais pour en dimension 1. Sous certaines conditions de rgularit, on
a
1
V (T )
,
nI()
o I() est linformation de Fisher :

2 

,
ln f (X, )
I() = E

f dsignant la densit de X.
Si un estimateur sans biais pour atteint la borne de Cramer-Rao, on dit quil est efficace.
Pour gnraliser lingalit de Cramer-Rao aux dimensions suprieures 1, on introduit la matrice
dinformation de Fisher I() symtrique dordre k dont llment en position (i, j) est :
h
i
i
h 2

E
ln f (X, )
ln f (X, ) = E
ln f (X, ) .
i
j
i j

On montre alors que pour tout estimateur sans biais T et pour tout u Rk
V (u T ) u

[I()]1
u,
n

o V (u T ) dnote la variance de la combinaison linaire u T .


Dfinition A.1
Soit un chantillon alatoire X1 , . . . , Xn dont la loi mre appartient une famille paramtrique
{f (x, ), } o Rk . On appelle fonction de vraisemblance de pour une ralisation
donne x1 , . . . , xn de lchantillon, la fonction de :
L(; x1 , . . . , xn ) = f (x1 , . . . , xn , ) =

n
Y

f (xi , ).

i=1

Remarquons que dans le cas discret, la vraisemblance est exactement la probabilit P (X1 =
x1 , . . . , Xn = xn ). On dira que la valeur 1 de est plus vraisemblable que la valeur 2 si
L(1 ; x1 , . . . , xn ) > L(2 ; x1 , . . . , xn ).

60

Modle logistique multi-classes

Dfinition A.2
sil en existe une, telle
On appelle estimation du maximum de vraisemblance une valeur ,
que :
= sup L().
L()

Une telle solution dpend de x1 , . . . , xn , soit = h(x1 , . . . , xn ). La statistique = h(X1 , . . . , Xn )


est appele estimateur du maximum de vraisemblance (EMV).
Thorme A.2
Soit lestimateur du maximum de vraisemblance dfini ci dessus. Sous certaines conditions de
rgularit, on a :
converge presque srement vers (il est donc asymptotiquement sans biais) ;
est asymptotiquement normal :

loi

n( ) N (0, [I()]1 ).

On en dduit que la matrice de variance-covariance de se rapproche de n1 [I()]1 . On dit que


lestimateur du maximum de vraisemblance est asymptotiquement efficace.

Laurent Rouvire

Rgression sur variables catgorielles

A.2 Echantillonnage Rtrospectif

A.2

61

Echantillonnage Rtrospectif

Une clinique cherche mesurer leffet du tabac sur le cancer du poumon. Elle prlve parmi
ses patients un chantillon compos de n1 = 250 personnes atteintes par le cancer et n0 = 250
personnes ne prsentant pas la maladie. Les rsultats de ltude sont prsents dans le tableau
suivant :
Non malade
Malade

Fumeur
48
208

Non fumeur
202
42

Tab. A.3 Rsultats de lenqute.


Le statisticien responsable de ltude ralise un modle logistique. Les rsultats sont :
Call:

glm(formula = Y ~ X, family = binomial)

Coefficients:
(Intercept) Xnon_fumeur
1.466
-2.773
Degrees of Freedom: 499 Total (i.e. Null);
Null Deviance:
692.3
Residual Deviance: 499.9
AIC: 503.9

498 Residual

Soit Y la variable qui prend pour valeur 1 si lindividu est malade, 0 sinon et X la variable
explicative (fumeur ou non fumeur).
1. Ecrire le modle logistique. Quelle est la probabilit P(Y = 1|X = fumeur) estime par ce
modle ?
2. Ce rsultat vous parat-il surprenant ?
Pour un individu (X, Y ), on dfinit S la variable indicatrice dappartenance lchantillon de
lindividu, i.e.,

1 si est dans lchantillon
S=
0 sinon.

On dfinit galement :
1 = P(S = 1|Y = 1, X = x) = P(S = 1|Y = 1) : taux de sondage dans le groupe 1 (malade).
0 = P(S = 1|Y = 0, X = x) = P(S = 1|Y = 0) : taux de sondage dans le groupe 0 (malade).
p0 (x) = P(Y = 1|X = x, S = 1).
p(x) = P(Y = 1|X = x).
3. Montrer laide du thorme de Bayes que :
logit p0 (x) = log

1
0

+ logit p(x).

4. On dfinit
1 = P(Y = 1) la probabilit priori dappartenance au groupe 1 ;
0 = P(Y = 0) la probabilit priori dappartenance au groupe 0 ;
Exprimer 1 en fonction de n1 /n (la proportion dindividus du groupe 1 dans lchantillon),
1 et P(S = 1) (la probabilit quun individu soit dans lchantillon).

Rgression sur variables catgorielles

Laurent Rouvire

62

Modle logistique multi-classes

5. Des tudes pralables ont montr que les probabilits 1 et 0 pouvaient tre estimes par
0.005 et 0.995. En dduire une estimation de P(Y = 1|X = fumeur).

Commentaires
Cette exercice nous montre que la manire de constituer lchantillon dapprentissage (X1 , Y1 ), . . . ,
(Xn , Yn ) est un point important qui ne doit pas tre ignor. On distingue essentiellement deux
schmas dchantillonnage :
Le schma de mlange : tous les individus ont la mme probabilit dtre slectionns dans
lchantillon. Les observations sont tires alatoirement sans distinction des groupes 0 et 1.
Dans ce cas, les proportions dinvidus par groupe sont sensiblement identiques dans lchantillon et dans la population. On peut montrer que les estimateurs du maximum de vraisemblance des i sont les quantits ni /n.
Le schma rtrospectif : les proportions dindividus par groupe ne sont pas les mmes dans
lchantillon et dans la population. Ce schma dchantillonnage est souvent utilis lorsque
les probabilits i (probabilit dappartenance au groupe i) sont trs diffrentes les unes des
autres. Dans de tels cas, le schma de mlange conduit travailler avec des effectifs trop
petits dans certains groupes, alors que le schma rtrospectif permet de travailler avec des
effectifs comparables. Par exemple, en diagnostic mdical, on a souvent des problmes de
discrimination entre deux groupes o lun des groupes (1 par exemple) est associ une
maladie et lautre est caractristique de labsence de cette maladie. Dans de telles situations,
on a bien sr 1 beaucoup plus petit que 0 . Lusage consiste alors tudier deux chantillons
de taille peu prs quivalente (n1 n0 ), le premier tant celui des malades, le second celui
des individus sains (voir exercice prcdent).
Pour un tel schma, le modle logistique appliqu directement sur les donnes ne nous fournit
pas une estimation de P(Y = 1|X = x) mais de P(Y = 1|X = x, S = 1). Une proprit
remarquable du modle logistique est que leffet de ce changement de proportion entre la
population et lchantillon nintervient dans lexpression de la probabilit P(Y = 1|X = x)
quau niveau de la constante 0 :
 
1
logit P(Y = 1|X = x) = logit P(Y = 1|X = x, S = 1) log
.
0
En pratique : lorsque lchantillon (X1 , Y1 ), . . . , (Xn , Yn ) est constitu selon un schma rtrospectif il faut :
1. Construire le modle logistique sur cet chantillon. On obient alors une estimation de

logit P(Y
= 1|X = x, S = 1) = 0 + 1 x1 + . . . + p xp .
2. On en dduit alors lestimation de la probabilit recherche


1

logit P(Y = 1|X = x) = 0 log


+ 1 x1 + . . . + p xp .
0
Un tel schma ncessite bien entendu une connaissance a priori des probabilits 1 et 0 .

Laurent Rouvire

Rgression sur variables catgorielles

A.3 Exercices

A.3

63

Exercices

Exercice A.1
On se place dans le cas o les donnes sont prsentes sous forme binomiale (rptitions au point
de design xt ). On note :
T le nombre de points de design diffrents {x1 , . . . , xT } ;
nt le nombre de rptitions au point xt ; P
t
st le nombre de succs au point xt : st = ni=1
yit ;
st
yt = nt le nombre moyen de succs au point xt .
xi
x1
..
.

nb succs
s1
..
.

nb checs
n1 s 1
..
.

moyenne succs
y1
..
.

xt
..
.

st
..
.

nt s t
..
.

yt
..
.

xT

sT

nT s T

yT

Tab. A.4 Donnes rptes.


Montrer que la log-vraisemblance scrit :
  X
T
T
X
nt
+
L() =
nt {
yt log(p(xt )) + (1 yt ) log(1 p(xt ))}
log
s
t
t=1
t=T






n
T
X
X
nt
p(xt )
+
=
nt yt log
log
+ log(1 p(xt ))
st
1 p(xt )
t=1
i=1
o p(xt ) = P(Y = 1|X = xt ).
Exercice A.2 (Nombre de paramtres identifiables)
On se place dans le cas de deux variables explicatives A et B de type facteur admettant respectivement deux (a1 , a2 ) et trois (b1 , b2 , b3 ) niveaux. On dispose de 10 individus, les donnes
sont :

1
a1 b 3
0
a2 b 2

1
a2 b 1

1
a1 b 2

0
a1 b 1

Y =
0 .
a2 b 3 ,

0
a1 b 3

1
a2 b 1

1
a2 b 2
0
a1 b 3
1. Rappeler brivement lalgorithme destimation des paramtres par la mthode du maximum
de vraisemblance pour le modle logistique.
2. Ecrire la matrice de codage disjonctif complet des variables explicatives.
3. Discuter du rang de cette matrice et en dduire le nombre de paramtres identifiables de
manire unique du modle logistique pour ce jeu de donnes.

Rgression sur variables catgorielles

Laurent Rouvire

64

Modle logistique multi-classes

4. Identifier ces paramtres sur les sorties R suivantes :


A<-factor(c("a1","a2","a2","a1","a1","a2","a1","a2","a2","a1"))
B<-factor(c("b3","b2","b1","b2","b1","b3","b3","b1","b2","b3"))
donnees<-data.frame(A,B)
Y<-factor(c(1,0,1,1,0,0,0,1,1,0))
model<-glm(Y~A+B,data=donnees,family=binomial)
model
Call:

glm(formula = Y ~ A + B, family = binomial, data = donnees)

Coefficients:
(Intercept)
5.690e-01

Aa2
1.882e-01

Bb2
-6.310e-16

Bb3
-1.716e+00

Degrees of Freedom: 9 Total (i.e. Null); 6 Residual


Null Deviance:
13.86
Residual Deviance: 12.12
AIC: 20.12

5. Refaire les questions 2, 3 et 4 en considrant les variables dinteractions.


model1<-glm(Y~A+B+A:B,data=donnees,family=binomial)
model1
Call:

glm(formula = Y ~ A + B + A:B, family = binomial, data = donnees)

Coefficients:
(Intercept)
-19.57

Aa2
39.13

Bb2
39.13

Bb3
18.87

Aa2:Bb2
-58.70

Aa2:Bb3
-58.01

Degrees of Freedom: 9 Total (i.e. Null); 4 Residual


Null Deviance:
13.86
Residual Deviance: 6.592
AIC: 18.59

6. On considre le modle model2 dont les sorties R sont


model2<-glm(Y~A:B-1,data=donnees,family=binomial)
model2
Call:

glm(formula = Y ~ A:B - 1, family = binomial, data = donnees)

Coefficients:
Aa1:Bb1
Aa2:Bb1
-1.957e+01
1.957e+01

Aa1:Bb2
1.957e+01

Aa2:Bb2
-2.748e-16

Aa1:Bb3
-6.931e-01

Aa2:Bb3
-1.957e+01

Degrees of Freedom: 10 Total (i.e. Null); 4 Residual


Null Deviance:
13.86
Residual Deviance: 6.592
AIC: 18.59

Identifier les paramtres estims laide de la matrice de codage disjonctif complet tudie
la question prcdente. Montrer que les modles model1 et model2 sont quivalents (on
pourra montrer que les probabilits P(Y = 1|X = x) estimes par les deux modles sont les
mmes pour tout x).
Exercice A.3
Le traitement du cancer de la prostate change si le cancer a atteint ou non les neuds lymphatiques
entourant la prostate. Pour viter une investigation lourde (ouverture de la cavit abdominale) un

Laurent Rouvire

Rgression sur variables catgorielles

A.3 Exercices

65

certain nombre de variables sont considres comme explicative de la variable Y binaire : Y = 0


le cancer na pas atteint le rseau lymphatique, Y = 1 le cancer a atteint le rseau lymphatique.
Le but de cette tude est donc dessayer dexpliquer Y par les variables suivantes.
ge du patient au moment du diagnostic age
le niveau dacide phosphatase srique acide, que lon appellera par la suite niveau dacidit
Le rsultat dune analyse par rayon X, 0= ngatif, 1=positif rayonx
La taille de la tumeur, 0=petite, 1=grande, taille
Ltat pathologique de la tumeur dtermine par biopsie, 0=moyen, 1=grave, grade
Le logarithme nprien du niveau dacidit log.acid
1
2
3
4
5
6
7
8
9
10

age
66
68
66
56
58
60
65
60
50
49

acide rayonx taille grade


log.acid.
0.48
0
0
0 -0.73396918
0.56
0
0
0 -0.57981850
0.50
0
0
0 -0.69314718
0.52
0
0
0 -0.65392647
0.50
0
0
0 -0.69314718
0.49
0
0
0 -0.71334989
0.46
1
0
0 -0.77652879
0.62
1
0
0 -0.47803580
0.56
0
0
1 -0.57981850
0.55
1
0
0 -0.59783700
Tab. A.5 Les 10 premiers individus.

On a construit 10 modles logistiques dont les sorties R sont prsentes dans le tableau A.7. On
souhaite donner une prvision pour la probabilit P(Y = 1|X = x) pour cinq nouveaux individus.
Reporter dans le tableau suivant les probabilits estimes par les diffrents modles.
Modle
Individu
(61,0.60,1,0,1,-0.51)
(49,0.86,0,0,1,-0.15)
(67,0.72,1,0,1,-0.33)
(51,0.95,1,1,1,-0.05)

M1

M2

M3

M4

M5

M6

M7

M8

M9

M10

Tab. A.6 Probabilits estims par les diffrents modles.

Rgression sur variables catgorielles

Laurent Rouvire

66

Modle logistique multi-classes


MODELE 1

MODELE 2

glm(formula = Y ~ age + acide, ...)

glm(formula = Y ~ log.acid. + rayonx, ...)

Coefficients:
(Intercept)
1.32811

Coefficients:
(Intercept)
-0.3308

age
-0.05639

acide
2.14004

log.acid.
2.0363

MODELE 3

MODELE 4
glm(formula = Y ~ taille + grade +
taille:grade, ...)

glm(formula = Y ~ taille + grade, ...)


Coefficients:
(Intercept)
-1.6008

taille1
1.4253

rayonx1
2.1020

Coefficients:
(Intercept)
taille1
-2.251
2.588

grade1
0.7293

MODELE 5

grade1
2.657

taille1:grade1
-2.860

MODELE 6

glm(formula = Y ~ taille:grade - 1, ...)


glm(formula = Y ~ age + acide + age:acide, ...)

Coefficients:
taille0:grade0
-2.2513

taille1:grade0
0.3365

taille0:grade1
0.4055

taille1:grade1
0.1335

Coefficients:
(Intercept)
age
-2.61203
0.00675

MODELE 7

acide
7.93956

age:acide
-0.09282

MODELE 8

glm(formula = Y ~ taille:grade - 1, ...)


glm(formula = Y ~ taille:age, ...)

Coefficients:
taille0:grade0
-2.2513

taille1:grade0
0.3365

taille0:grade1
0.4055

taille1:grade1
0.1335

Coefficients:
(Intercept) taille0:age
2.79408
-0.07157

MODELE 9

taille1:age
-0.04351

MODELE 10

glm(formula = Y ~ taille:log.acid.
+ rayonx:grade - 1, ...)
glm(formula = Y ~ taille:(age + grade), ...)
Coefficients:
taille0:log.acid.
3.3406

taille1:log.acid.
0.9356

rayonx0:grade0
-0.6776

rayonx1:grade0
1.2771

rayonx0:grade1
0.1129

rayonx1:grade1
2.3963

Coefficients:
(Intercept)
3.17016

taille0:age
-0.09228

taille0:grade1
2.79235

taille1:grade1
-0.23813

taille1:age
-0.04758

Tab. A.7 Les 10 modles.

Laurent Rouvire

Rgression sur variables catgorielles

A.4 Correction

A.4

67

Correction

Exercice A.1
La variable S|X = xt suit une loi binomiale Bin(nt , p(xt )). Ds lors la vraisemblance scrit :
n
n  
Y
Y
nt
p(xt )nt (1 p(xt ))nt st .
P (S = st |X = xt ) =
s
t
t=1
i=1
On obtient donc pour log-vraisemblance :
  X
T
T
X
nt
L() =
log
+
[nt log p(xt ) + (nt st ) log(1 p(xt ))] .
st
t=1
t=1
On pourra consulter le livre de Collet (2003) (page 59) pour plus de dtails.
Exercice A.2
1. La procdure destimation par MV consiste mettre jour les coefficients via une rgression
pondre : k+1 = (X W k X)1 X W k Z k . La premire difficult consiste dfinir X dans cet
exemple. X est une matrice qualitative, il est impossible de faire des oprations dessus, on a
donc recours un codage disjonctif complet.
2. La matrice de codage scrit

1 0
0 0 1
0 1
0 1 0

0 1

1
0
0

1 0
0 1 0

1 0

1
0
0

.
0 1

0
0
1

1 0
0 0 1

0 1

1
0
0

0 1
0 1 0
1 0
0 0 1
La matrice X utilise pour la rgression vaut :

1
1 0
1
0 1

1
0 1

1
1 0

1
1 0
X=
1
0 1

1
1 0

1
0 1

1
0 1
1
1 0

0
0
1
0
1
0
0
1
0
0

0
1
0
1
0
0
0
0
1
0

1
0
0
0
0
1
1
0
0
1

3. Le nombre de paramtres estims par le modle est gal la dimension de X X, cest--dire


au nombre de colonnes de X. Pour effectuer la rgression, nous devons inverser X X (on
considre que la matrice des poids W vaut lidentit). Les vecteurs colonnes de X ne sont
clairement pas linairement indpendants (voir deuxime et troisime colonne), la matrice X
nest donc pas de plein rang, le modle est surparamtr. Il est vident que :

Rgression sur variables catgorielles

Laurent Rouvire

68

Modle logistique multi-classes


la connaissance de la 2me colonne implique celle de la 3me ;
la connaissance des 4me et 5me colonne implique celle de la 6me .
On peut donc supprimer des colonnes X sans perdre dinformation. Le logiciel R supprime la premire colonne correspondant chaque modalit, ce qui revient considrer la
matrice :

X=

1
1
1
1
1
1
1
1
1
1

1
0
0
1
1
0
1
0
0
1

0
1
1
0
0
1
0
1
1
0

0
0
1
0
1
0
0
1
0
0

0
1
0
1
0
0
0
0
1
0

1
0
0
0
0
1
1
0
0
1

Cette nouvelle matrice est de plein rang (gal 4), le modle est constitu de 4 paramtres
identifiables de manire unique.
4. Le modle est ainsi dfini par :
x
a1
a2

b1
0
0 + Aa2

b2
0 + Bb2
0 + +Aa2 + Bb2

b3
0 + Bb3
0 + Aa2 + Bb3

Tab. A.8 Valeur de logit p(x) pour les diffrentes classes.

5. Dans le cas dintraction la matrice de codage totale ou surparamtre va scrire

X=

1
1
1
1
1
1
1
1
1
1

1
0
0
1
1
0
1
0
0
1

0
1
1
0
0
1
0
1
1
0

0
0
1
0
1
0
0
1
0
0

0
1
0
1
0
0
0
0
1
0

1
0
0
0
0
1
1
0
0
1

0
0
0
0
1
0
0
0
0
0

0
0
0
1
0
0
0
0
0
0

1
0
0
0
0
0
1
0
0
1

0
0
1
0
0
0
0
1
0
0

0
1
0
0
0
0
0
0
1
0

0
0
0
0
0
1
0
0
0
0

On peut montrer que le rang de cette matrice est m1 m2 = 6. Dans sa procdure destimation,

Laurent Rouvire

Rgression sur variables catgorielles

A.4 Correction

69

R considre la matrice :

X=

1
1
1
1
1
1
1
1
1
1

1
0
0
1
1
0
1
0
0
1

0
1
1
0
0
1
0
1
1
0

0
0
1
0
1
0
0
1
0
0

0
1
0
1
0
0
0
0
1
0

1
0
0
0
0
1
1
0
0
1

0
0
0
0
1
0
0
0
0
0

0
0
0
1
0
0
0
0
0
0

1
0
0
0
0
0
1
0
0
1

0
0
1
0
0
0
0
1
0
0

0
1
0
0
0
0
0
0
1
0

0
0
0
0
0
1
0
0
0
0

Le modle est dfini par :


x
a1
a2

b1
0
0 + Aa2

b2
0 + Bb2
0 + Aa2 + Bb2 + Aa2 : Bb2

b3
0 + Bb3
0 + Aa2 + Bb3 + Aa2 : Bb3

Tab. A.9 Valeur de logit p(x) pour les diffrentes classes.


6. En terme de matrice de codage, le
tions :

1
1
1
0

1
0

1
1

1
1
X=
1
0

1
1

1
0

1
0
1
1

modle model2 ne considre que les variables dintrac


0
0 0 1
0 0 1 0 0 0
1
0 1 0
0 0 0 0 1 0

1
1 0 0
0 0 0 1 0 0

0
0 1 0
0 1 0 0 0 0

0
1 0 0
1 0 0 0 0 0

1
0 0 1
0 0 0 0 0 1

0
0 0 1
0 0 1 0 0 0

1
1 0 0
0 0 0 1 0 0

1
0 1 0
0 0 0 0 1 0
0
0 0 1
0 0 1 0 0 0

Il est dfini par :


x
a1
a2

b1
Aa1 : Bb1
Aa2 : Bb1

b2
Aa1 : Bb2
Aa2 : Bb2

b3
Aa3 : Bb3
Aa2 : Bb3

Tab. A.10 Valeur de logit p(x) pour les diffrentes classes.


Pour montrer que ces modles sont quivalents, il suffit de montrer que les logit sont identitiques pour chaque classe dans les modles model2 et model3.
Exercice A.3
Correction sous R. Les commandes sont :

Rgression sur variables catgorielles

Laurent Rouvire

70

Modle logistique multi-classes

data<-read.csv("~/COURS/GLM/TP/cancerprostate.csv",sep=";")
donnees<-data[,names(data)!="Y"]
donnees[,"rayonx"]<-factor(donnees[,"rayonx"])
donnees[,"taille"]<-factor(donnees[,"taille"])
donnees[,"grade"]<-factor(donnees[,"grade"])

Y<-factor(data[,names(data)=="Y"])
model1<-glm(Y~age+acide,data=donnees,family=binomial) #2 continues
model2<-glm(Y~log.acid.+rayonx,data=donnees,family=binomial) #1 cont, 1 quali
model3<-glm(Y~taille+grade,data=donnees,family=binomial) #2 quali
model4<-glm(Y~taille+grade+taille:grade,data=donnees,family=binomial) #2 quali+inter
model5<-glm(Y~taille:grade-1,data=donnees,family=binomial) #= modele 4
model6<-glm(Y~age+acide+age:acide,data=donnees,family=binomial) # 2 conti+inter
model7<-glm(Y~taille:grade-1,data=donnees,family=binomial) #1 inter continue
model8<-glm(Y~taille:age,data=donnees,family=binomial) # 1 inter qualit/conti
model9<-glm(Y~taille:log.acid.+rayonx:grade-1,data=donnees,family=binomial)
model10<-glm(Y~taille:(age+grade),data=donnees,family=binomial)
X_test<-data.frame(matrix(c(61,0.60,1,0,1,-0.51,49,0.86,0,0,1,-0.15,67,0.72,1,0,1,
-0.33,51,0.95,1,1,1,-0.05),ncol=6,byrow=T))
names(X_test)<-names(donnees)
X_test[,"rayonx"]<-factor(X_test[,"rayonx"])
X_test[,"taille"]<-factor(X_test[,"taille"])
X_test[,"grade"]<-factor(X_test[,"grade"])
PRED<-matrix(0,ncol=10,nrow=4)
for (i in 1:10){
PRED[,i]<-eval(parse(text=paste("predict(model",i,",newdata=X_test,type=response)",sep="")))}

Le tabeau cherch est la matrice PRED.


round(PRED,digits=2)
[,1] [,2] [,3] [,4]
[1,] 0.30 0.68 0.29 0.60
[2,] 0.60 0.35 0.29 0.60
[3,] 0.29 0.75 0.29 0.60
[4,] 0.62 0.84 0.64 0.53

Laurent Rouvire

[,5]
0.60
0.60
0.60
0.53

[,6]
0.30
0.65
0.28
0.69

[,7]
0.60
0.60
0.60
0.53

[,8]
0.17
0.33
0.12
0.64

[,9] [,10]
0.67 0.58
0.40 0.81
0.78 0.45
0.91 0.62

Rgression sur variables catgorielles

Bibliographie
Albert A. & Anderson D. (1984). On the existence of maximum likelihood estimates in logistic
regression models. Biometrika, 71, 110.
Collet D. (2003). Modelling Binary Data. Chapman & Hall.
Cornillon P. & Matzner-Lber E. (2007). Rgression : Thorie et Application. Springer.
Droesbeke J., Lejeune M. & Saporta J. (2007). Modles Statistiques pour Donnes Qualitatives.
Technip.
Guyon X. (2005). Le modle linaire et ses gnralisations.
http ://samos.univ-paris1.fr/-Xavier-Guyon-.

Poly. de cours, 83 pages,

Hosmer D. & Lemeshow S. (2000). Applied Logistic Regression. Wiley.


Lejeune M. (2004). Statistique, la Thorie et ses Applications. Springer.
Perreti-Watel P. (2002). Rgression sur variables catgorielles. Poly. de cours, 72 pages.
Pommeret D. (2008). Rgression sur variables catgorielles et sur variables de comptage. Poly. de
cours, 100 pages.

Rgression sur variables catgorielles

Laurent Rouvire