You are on page 1of 51

AgroParisTech

Classification non supervis


ee

E. Lebarbier, T. Mary-Huard

Table des mati`


eres
1 Introduction

2 M
ethodes de partitionnement
2.1 Mesures de similarite et de dissimilarite, distances
2.1.1 Definitions . . . . . . . . . . . . . . . . . .
2.1.2 Quelle distance employer ? . . . . . . . . . .
2.2 Formalisation du probl`eme . . . . . . . . . . . . . .
2.3 Methode des K-means . . . . . . . . . . . . . . . .
2.3.1 Principe . . . . . . . . . . . . . . . . . . . .
2.3.2 Exemple . . . . . . . . . . . . . . . . . . . .
2.3.3 Proprietes de lalgorithme . . . . . . . . . .
2.4 Classification ascendante hierarchique . . . . . . .
2.4.1 Principe . . . . . . . . . . . . . . . . . . . .
2.4.2 La distance de Ward . . . . . . . . . . . . .
2.4.3 Exemple . . . . . . . . . . . . . . . . . . . .
2.4.4 Le dendrogramme . . . . . . . . . . . . . .
2.4.5 Generalisation . . . . . . . . . . . . . . . .
2.5 Quelques considerations supplementaires . . . . . .

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

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

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

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

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

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

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

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

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

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

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

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

3 M
ethode probabiliste : le mod`
ele de m
elange
3.1 Presentation generale . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.1.1 Mod`ele . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.1.2 Aectation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.1.3 Exemple dun mod`ele de melange de distributions gaussiennes . .
3.2 Estimation des param`etres du mod`ele . . . . . . . . . . . . . . . . . . .
3.2.1 Algorithme EM . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.2.2 Calculs pour un mod`ele de melange de distributions gaussiennes
3.2.3 Proprietes de lalgorithme EM . . . . . . . . . . . . . . . . . . .
3.2.4 En pratique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.2.5 Variantes de lalgorithme EM . . . . . . . . . . . . . . . . . . . .
3.2.6 Demonstration de la propriete 1 . . . . . . . . . . . . . . . . . .
3.3 Choix du nombre de populations . . . . . . . . . . . . . . . . . . . . . .
3.3.1 Crit`eres de selection . . . . . . . . . . . . . . . . . . . . . . . . .
3.3.2 En pratique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.4 Logiciels . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

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

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

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

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

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

5
5
5
6
7
9
9
9
10
11
11
11
12
13
14
16

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

18
18
18
20
21
22
23
25
25
26
26
27
28
28
29
30

4 Exemples dapplication
4.1 Caracterisation de races anciennes de poules . . . . . . . . . . . .
4.1.1 Presentation du probl`eme . . . . . . . . . . . . . . . . . .
4.1.2 Formalisation . . . . . . . . . . . . . . . . . . . . . . . . .
4.1.3 Classification . . . . . . . . . . . . . . . . . . . . . . . . .
4.1.4 Interpretation des resultats . . . . . . . . . . . . . . . . .
4.2 Caracterisation de la phyllotaxie dArabidopsis . . . . . . . . . .
4.2.1 Presentation du probl`eme . . . . . . . . . . . . . . . . . .
4.2.2 Classification par mod`ele de melange et interpretation des

. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
resultats .

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

31
31
31
32
33
34
37
37
39

5 Annexes
5.1 Etude des deux etapes de la procedure K-means . . . .
5.2 Programmes pour lanalyse des donnees Poules . . . . .
5.2.1 Programme SAS . . . . . . . . . . . . . . . . . .
5.2.2 Programme R . . . . . . . . . . . . . . . . . . . .
5.3 Programme R pour lanalyse des donnees de Phyllotaxie
5.3.1 Programme . . . . . . . . . . . . . . . . . . . . .
5.3.2 Details sur la fonction Mclust . . . . . . . . . . .
5.3.3 Installation du package mclust . . . . . . . . . .

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

44
44
45
45
47
48
48
49
50

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

Chapitre 1

Introduction
La classification non supervisee designe un corpus de methodes ayant pour objectif de dresser
ou de retrouver une typologie existante caracterisant un ensemble de n observations, `a partir
de p caracteristiques mesurees sur chacune des observations. Par typologie, on entend que les
observations, bien que collectees lors dune meme experience, ne sont pas toutes issues de la meme
population homog`ene, mais plut
ot de K populations. Deux exemples peuvent etre consideres :
lensemble des clients dune banque est une collection de n observations, chacune de ces
observations etant caracterisee par la nature des p transactions bancaires quelle realise. Il
existe certainement dierents K profils types de clients. Lobjectif est alors dune part
de retrouver ces profils types `
a partir de linformation sur les transactions bancaires, et
dautre part de determiner, pour chaque observation, `a quel profil type elle correspond.
une cohorte de patients represente un ensemble de n observations, chacune decrite par
p mesures physiologiques. Bien quayant tous la meme pathologie, ces patients nont pas
tous le meme historique medical. On souhaite donc dans un premier temps etablir une
typologie de ces patients en K groupes selon leurs caracteristiques physiologiques. Dans
un deuxi`eme temps, on etudiera si la reponse au traitement di`ere pour des patients issus
de groupes dierents.
Comme le montrent ces deux exemples, la classification peut etre un objectif en soit (exemple
1), ou ne representer quune etape de lanalyse statistique (exemple 2).
En classification non supervisee, lappartenance des observations `a lune des K populations
nest pas connue. Cest justement cette appartenance quil sagit de retrouver `a partir des p descripteurs disponibles. En classification supervisee au contraire, lappartenance des n observations
aux dierentes populations est connue, et lobjectif est de construire une r`egle de classement
pour predire la population dappartenance de nouvelles observations. On distinguera donc bien
les deux problematiques. Dans ce polycopie, seule la classification non supervisee est abordee.
Il existe une tr`es large famille de methodes dediees `a la classification non supervisee. Dans
ce polycopie, nous nen presentons que 3. Les deux premi`eres, la classification ascendante
hierarchique et les K-means, font partie des methodes dites de partitionnement et seront presentees
au chapitre 2. La troisi`eme, appelee mod`ele de melanges, se place dans un cadre probabiliste et
fait lobjet du chapitre 3. Ces dierentes methodes sont illustrees au chapitre 4.

Chapitre 2

M
ethodes de partitionnement
Les methodes de partitionnement font partie des methodes dites exploratoires, qui ne font
appel `a aucune modelisation statistique. Nous presentons ici le probl`eme de la classification non
supervisee du point de vue exploratoire.
En labsence de toute hypoth`ese concernant la distribution des donnees, le regroupement
des observations en classes se fait sur des considerations geometriques : on regroupe des observations qui sont proches les unes des autres dans lespace de representation (lespace des
variables). Cette premi`ere intuition montre la necessite de definir une mesure de la proximite
entre observations. Cest pourquoi nous commencons par introduire les notions de similarite, de
dissimilarite et de distance entre points au paragraphe 2.1. Au paragraphe 2.2, nous montrons
comment lobjectif de classification, faire des groupes homog`enes et distincts, peut se formaliser
du point de vue mathematique en employant les notions dinerties intra-classe et inter-classe.
Trouver les groupes se traduit alors comme un simple probl`eme de minimisation. Enfin, aux
paragraphes 2.3 et 2.4, nous presentons deux algorithmes couramment utilises pour la resolution
de ce probl`eme de minimisation : lalgorithme des K-means et lalgorithme de classification
ascendante hierarchique.

2.1
2.1.1

Mesures de similarit
e et de dissimilarit
e, distances
D
efinitions

Afin de definir lhomogeneite dun groupe dobservations, il est necessaire de mesurer une
ressemblance entre deux observations. On introduit ainsi les notions de dissimilarite et de similarite :
D
efinition 1 Une dissimilarite est une fonction d qui `
a tout couple (x1 , x2 ) associe une valeur
dans R+ , et telle que
? d(x1 , x2 ) = d(x2 , x1 ) 0,
? d(x1 , x2 ) = 0 ) x1 = x2 .
Autrement dit, moins les unites x1 et x2 se ressemblent, plus le score est eleve. Remarquons
quune distance est une dissimilarite, puisque toute distance poss`ede les deux proprietes precedentes
ainsi que linegalite triangulaire. Toutes les distances connues, en particulier la distance euclidienne, sont donc des exemples de dissimilarite.

` linverse, une autre possibilite consiste `a mesurer la ressemblance entre observations `


A
a
laide dune similarite :
D
efinition 2 Une similarite est une fonction s qui `
a tout couple (x1 , x2 ) associe une valeur
dans R+ , et telle que
? s(x1 , x2 ) = s(x2 , x1 ) 0,
? s(x1 , x1 ) s(x1 , x2 ).
Contrairement `
a la dissimilarite, plus les unites x1 et x2 se ressemblent plus le score est eleve.
On peut citer comme exemple de similarite la valeur absolue du coefficient de correlation :
Pp

|(x1 , x2 )| = qP
p

j=1 (x1j

j=1 (x1j

2.1.2

Quelle distance employer ?

x1 )(x2j x2 )
P
x1 )2 pj=1 (x2j x2 )2

Le choix de la distance est une question primordiale pour les methodes exploratoires multivariees. En eet, cest `
a cette etape quil est possible pour lexperimentateur dutiliser au mieux
linformation a priori dont il dispose, afin de proposer une mesure pertinente de ressemblance
entre observations. Pourtant, cette etape est bien souvent negligee. Commencons par illustrer
limportance de ce choix par un exemple tr`es simple, tire de [5].
Letude comporte trois exploitations agricoles (les individus), pour lesquelles on dispose de
la surface totale de lexploitation, ainsi que de lage et du revenu de lexploitant (les variables).
Ces donnees sont resumees dans le tableau suivant :

1
2
3

Age
30
50
52

Revenu
290 000
300 000
320 000

Surface
20
30
28

Pour determiner quels sont les individus qui se ressemblent le plus, on utilise dans un premier
temps la distance euclidienne canonique sur lensemble des 3 variables :
d2 (x1 , x2 ) =

3
X

(x1j

x2j )2 .

j=1

On obtient alors les distances entre individus donnees dans la table 2.1 (gauche).
On remarque que les deux exploitations les plus proches sont les exploitations 1 et 2. Cette
forte ressemblance tient au fait que les dierentes variables ont des unites de mesure dierentes, et
donc des poids dierents dans le calcul des distances. En particulier, la variable revenu contribue
plus fortement au calcul des distances que les autres. Afin deviter quune variable ne prenne
trop dimportance du simple fait de son unite de mesure, il est donc recommande de normaliser
les donnees en centrant et en reduisant lensemble des variables. Les distances calculees sur les
donnees centrees et reduites sont donnees dans la table 2.1 (droite). Cette fois, les exploitations
2 et 3 sont plus proches.
La normalisation des donnees donne un poids egal `a toutes les variables dans le calcul des
distances. Si cette egalite de traitement des variables evite tout eet dechelle, elle a aussi pour
6

1
2
3

1
0
104
3.104

2
0
2.104

3
1
2
3

1
0
22.4
23.6

0
3.46

Table 2.1 Deux calculs de distances entre exploitations, lun sur les donnees brutes (gauche),
lautre sur les donnees normalisees (droite)
consequence de ne pas distinguer les variables portant une information importante pour lobjectif
de classification des variables non pertinentes pour cet objectif. Une fois les variables normalisees,
il semble donc preferable dutiliser une distance euclidienne ponderee
d2 (x1 , x2 ) =

3
X

wj (x1j

x2j )2 ,

j=1

` lextreme,
o`
u chaque ponderation wj est fonction de linformation portee par la variable X j . A
j
si une variable X napporte aucune information pertinente, le poids wj qui lui est associe peut
etre fixe `a 0.
La distinction entre variables pertinentes et non pertinentes decoule directement du probl`eme
du sujet de letude et des connaissances de lexperimentateur. Dans lexemple des exploitations,
si lobjectif est de dresser une typologie des exploitations agricoles en fonction du profil socioprofessionnel de leur exploitant, les variables pertinentes sont lage et le revenu de lexploitant.
Prendre en compte la surface de lexploitation napporte aucune information, on attribuera donc
`a cette variable un poids nul (i.e. la variable sera eliminee).
Cet exemple montre dune part la necessite de choisir soigneusement les variables sur lesquelles baser le calcul des distances, et illustre dautre part le fait que normaliser les donnees
ne constitue pas une solution miracle, garante de la validite de la classification. En resume, le
choix dune distance necessite un travail en trois temps :
Normalisation : cette etape permet deviter tout eet dechelle : les variables ont ainsi
une contribution equivalente au calcul des distances, quelle que soit leur unite de mesure
initiale.
Selection des variables : elle doit etre basee sur lanalyse descriptive des donnees ainsi que
sur les connaissances a priori dont on dispose sur le probl`eme.
Choix des poids : on fixe avec lexperimentateur le poids `a accorder `a chacune des variables,
si lon souhaite que certaines variables soient plus influentes dans le calcul des distances.
Dans tous les cas, le choix de la distance doit etre issu de la reflexion de lexperimentateur et
du statisticien, et non du choix par defaut du logiciel utilise pour lanalyse.

2.2

Formalisation du probl`
eme

Lobjectif de la classification non supervisee etant de determiner des groupes - on designera


ces groupes dans la suite par classes - homog`enes et distincts, il est necessaire de formaliser ces
deux notions du point de vue geometrique. Pour cela, nous repartons de la definition de linertie
7

dun nuage de points. On dispose de n points x1 , ..., xn , et on designe par xG le barycentre du


nuage de ces points :
n
1X
xG =
xi .
n
i=1

Linertie totale est definie de la mani`ere suivante :


IT =

n
X

d2 (xi , xG ) =

i=1

n
X
i=1

xG ||2 ,

||xi

o`
u la distance choisie ici est la distance euclidienne. On suppose quen realite le nuage de points
est compose de K classes de points distincts C1 ,...,CK , chacune de ces classes ayant pour barycentre xCk . On peut alors decomposer linertie totale du nuage de la mani`ere suivante :
IT

=
=

n
X
i=1
K
X

||xi
X

k=1 i2Ck

K X
X

k=1 i2Ck

K X
X

k=1 i2Ck

K X
X

k=1 i2Ck

xG ||2
||xi

xG ||2

||xi

xCk + xCk

||xi

xCk ||2 + ||xCk

d (xi , xCk ) +
2

{z
1

xG ||2

K
X

(theor`eme de Huygens)

xG ||2

nk d2 (xCk , xG ) ,

|k=1

{z
2

o`
u nk est le nombre dobservations de la classe Ck . Le premier terme mesure la somme des
distances entre les points dune classe et leur barycentre. On appelle cette inertie linertie intraclasse, et on la note IW (pour Within). Si les classes sont homog`enes, les points dune meme
classe sont proches les uns des autres et linertie intra-classe est faible. La deuxi`eme somme
mesure `a quel point les barycentres des classes sont loin du barycentre global, cest-`a-dire `a quel
point les classes sont distantes les unes des autres. Cette somme est appelee linertie inter-classe,
et notee IB (pour Between).
Ainsi, sil existe K classes bien identifiees, il est theoriquement possible de les retrouver
en essayant tous les regroupements en K classes possibles et en choisissant celui qui minimise
linertie intra-classe (ou qui maximise linertie inter-classe, ce qui revient au meme puisque
IW + IB = IT et que IT ne depend pas des classes). Du point de vue formel, la partition
des observations en K classes est donc d
optimale CK
efinie de la mani`ere suivante :

CK
= Argmin
C2CK

K X
X

d2 (xi , xCk ) ,

(2.1)

k=1 i2Ck

o`
u CK est lensemble des partitions possibles des n observations en K classes. Pour repondre
`a notre objectif de classification, il ne reste plus qu`a identifier la partition optimale. Bien que
8

cet objectif soit simple, sa resolution pratique est impossible, car la complexite combinatoire
de ce probl`eme est bien trop elevee. En eet, le nombre de partitions de n observations en K
classes devient rapidement tr`es grand : si n = 19 et K = 4, il existe plus de 1010 possibilites.
Les algorithmes de classification sont donc des algorithmes qui reduisent les temps de calcul en
ne visitant quun nombre restreint de partitions.
Puisquon ne visite pas lensemble de toutes les partitions possibles, on ne peut pas garantir
que lon trouvera la partition optimale en utilisant ces algorithmes. Toutefois, le choix des
partitions visitees est raisonne, on esp`ere donc trouver la partition optimale, ou du moins une
partition suffisamment proche de la partition optimale. Ces algorithmes proposant une solution
approchee au probl`eme sont dits heuristiques. Nous en presentons deux : lalgorithme des Kmeans et la classification hierarchique ascendante (CAH).
Enfin, remarquons que le raisonnement precedent suppose le nombre de classes K connu a
priori. En eet, la mesure de linertie intra-classe permet de comparer des partitions de meme
taille entre elles (et donc de choisir la meilleure), mais ne permet pas de comparer des partitions
de taille dierente. Pour sen convaincre, il suffit dobserver que la partition dun ensemble de
n elements en n classes a une inertie intra-classe nulle, elle est donc meilleure que toute autre
partition de taille plus petite ! La determination du nombre de classes `a partir des donnees est
un probl`eme difficile qui sera succinctement aborde au paragraphe 2.5.

2.3

M
ethode des K-means

Cet algorithme fut longtemps utilise sur les grands jeux de donnees en raison de sa rapidite.
On sinteresse tout dabord `
a lalgorithme meme, puis `a ses proprietes.

2.3.1

Principe

On suppose quil existe K classes distinctes. On commence par designer K centres de classes
1 , ..., K parmi les individus. Ces centres peuvent etre soit choisis par lutilisateur pour leur
representativite, soit designes aleatoirement. On realise ensuite iterativement les deux etapes
suivantes :
Pour chaque individu qui nest pas un centre de classe, on regarde quel est le centre de
classe le plus proche. On definit ainsi K classes C1 , ..., CK , o`
u
Ci = {ensemble des points les plus proches du centre i } .
Dans chaque nouvelle classe Ci , on definit le nouveau centre de classe i comme etant le
barycentre des points de Ci .
Lalgorithme sarrete suivant un crit`ere darret fixe par lutilisateur qui peut etre choisi parmi
les suivants : soit le nombre limite diterations est atteint, soit lalgorithme a converge, cest-`
adire quentre deux iterations les classes formees restent les memes, soit lalgorithme a presque
converge, cest-`
a-dire que linertie intra-classe ne sameliore quasiment plus entre deux iterations.

2.3.2

Exemple

La figure 2.1 illustre lalgorithme sur un exemple o`


u quatre points a (-1,1), b (0,1), c (3,0) et d
(3,-1) doivent etre classes en 2 classes. On remarque sur cet exemple que bien qu`a linitialisation
les centres de classes sont mal repartis, lalgorithme a converge en retrouvant les vraies classes.
9

Figure 2.1 Une illustration de lalgorithme K-means. (1) On dispose de 4 points `a classer
` linitialisation, deux de ces points sont choisis comme centres de classe.
en deux classes. (2) A
(3) Deux classes sont creees en regroupant les autres points en fonction du centre de classe le
plus proche. (4) On definit les nouveaux centres de classe comme etant le barycentre des classes
nouvellement creees. (5) On regroupe a` nouveau les points. (6) On definit les nouveaux centres
de classes. A letape suivante rien ne change, lalgorithme a converge.

2.3.3

Propri
et
es de lalgorithme

Comment justifier lalgorithme des K-means au vu de notre objectif de minimisation de linertie intra-classe ? On montre (voir Annexes) qu`a chacune des deux sous-etapes de lalgorithme
IW diminue (on peut le constater visuellement sur lexemple precedent). On est donc certain `
a
chaque etape dameliorer la classification, au sens du crit`ere IW . La marge damelioration etant
finie (on ne peut pas obtenir une inertie intra-classe plus faible que celle de la partition optimale),
lalgorithme converge forcement. En pratique, on constate que dans la majorite des cas tr`es peu
diterations sont necessaires. Toutefois, il est important de se rappeler que le minimum atteint
depend de linitialisation de lalgorithme : suivant les points initialement choisis comme centres
de classe, on obtient des partitions qui peuvent etre tr`es dierentes. Cette instabilite dans la
composition des classes en fonction de linitialisation est linconvenient majeur de la methode.
Lalgorithme ne permet donc pas de trouver la partition optimale, mais converge plut
ot
vers une partition localement optimale (minima locaux). Pour resoudre en partie ce probl`eme,
on peut choisir de faire tourner lalgorithme plusieurs fois avec dierentes initialisations, et de
choisir la meilleure des partitions obtenues au sens de linertie intra-classe.

10

2.4

Classification ascendante hi
erarchique

La classification ascendante hierarchique, notee dans la suite CAH, a pour objectif de construire
une suite de partitions embotees des donnees en n classes, n 1 classes, ... , 1 classe. Ces methodes
peuvent etre vues comme la traduction algorithmique de ladage qui se ressemble sassemble.

2.4.1

Principe

` letape initiale, les n individus constituent des classes `a eux seuls.


A
On calcule les distances deux `
a deux entre individus, et les deux individus les plus proches
sont reunis en une classe.
La distance entre cette nouvelle classe et les n 2 individus restants est ensuite calculee,
et `a nouveau les deux elements (classes ou individus) les plus proches sont reunis.
Ce processus est reitere jusqu`
a ce quil ne reste plus quune unique classe constituee de tous
les individus. On constate que la nouveaute ici vient de la necessite de definir deux distances :
la distance usuelle entre deux individus, et une distance entre classes. Le choix dune distance
entre individus ayant dej`
a ete discute, il reste `a choisir une distance entre classes, en gardant
`a lesprit que lobjectif est de trouver la partition en K classes des observations dont linertie
intra-classe est minimale.

2.4.2

La distance de Ward

`
Considerons levolution de linertie intra-classe au fur et `a mesure de la classification. A
linitialisation, toutes les classes sont composees dune unique observation. Chaque classe est donc
` la derni`ere etape de lalgorithme,
parfaitement homog`ene, et linertie intra-classe est nulle. A
toutes les observations sont regroupees pour former une unique classe. Linertie inter-classe est
alors nulle, et linertie intra-classe est maximum (puisque IW + IB = IT ). Il nest par ailleurs pas
difficile de constater qu`
a chaque etape de la classification, linertie intra-classe augmente alors
que linertie inter-classe diminue, car chaque etape fusion fait perdre de lhomogeneite aux deux
classes fusionnees. Lobjectif etant daboutir `a une partition en K classes dinertie intra-classe
minimum, la strategie va consister `
a regrouper `a chaque etape les deux classes dont la fusion
entrane le plus faible gain dinertie intra-classe (ou de mani`ere equivalente la plus faible perte
dinertie inter-classe).
Calculons maintenant la perte dinertie inter-classe lorsque lon passe de k `a k 1 classes en
fusionnant les deux classes Cj et C` . Lors de cette etape, les k 2 classes autres que Cj et C` ne
sont pas modifiees, la dierence entre les inerties inter-classe avant et apr`es fusion secrit donc :
nj d2 (xCj , xG ) + n` d2 (xC` , xG )

(nj + n` )d2 (xCj` , xG ) ,

o`
u xCj` est le barycentre de la classe Cj` issue de la fusion, et nj et n` sont les eectifs respectifs
des classes Cj et C` . Ce barycentre sexprime en fonction des barycentres initiaux de la mani`ere
suivante
nj xCj + n` xC`
xCj` =
.
nj + n`

11

Ainsi, la perte dinertie vaut


k+1
IB

k
IB
= nj xCj

xG

+ n` kxC`

xG k2

(nj + n` ) xCj`

= nj xCj

xG

+ n` kxC`

xG k2

(nj + n` )

= nj xCj

xG

+ n` kxC`

xG k2

1
nj (xCj
nj + n`

xG

+ n` kxC`

= nj xCj

xG k

=
=
=

nj xCj + n` xC`
nj + n`

n2j
xCj
nj + n`
2nj n`
xCj
nj + n`

xG

xG

xG

xG ) + n` (xC`
2

xG , xC`

n2`
kxC`
nj + n`
xG

nj n`
xCj
nj + n`

xG )

xC`

(xC`

xG )

xG k2

nj n`
nj n`
2nj n`
2
xCj xG +
kxC` xG k2
xCj xG , xC`
nj + n`
nj + n`
nj + n`

nj n`
2
xCj xG + kxC` xG k2 2 xCj xG , xC` xG
nj + n`
nj n`
(xCj
nj + n`

xG )

xG

Cest donc cette mesure qui va servir de distance entre classes pour realiser la classification
hierarchique ascendante :
D
efinition 3 La distance de Ward entre deux classes (Cj , C` ) de barycentres respectifs xCj et
xC` est definie par
nj n `
2
2
DW
(Cj , C` ) =
xCj xC`
.
(2.2)
nj + n`
Nous verrons au paragraphe 2.4.5 quil existe dautres distances entre classes.
Il est important de noter que lorsque lon utilise la distance de Ward dans lalgorithme CAH,
on realise `a chaque etape la fusion optimale au sens de la conservation de linertie intra-classe.
Cette optimalite locale (`
a chaque etape) ne garantit aucunement loptimalite globale, cest-`
adire lidentification de la partition optimale en K classes. Toutefois, elle justifie lutilisation de
lalgorithme CAH comme heuristique : on esp`ere que la partition trouvee en realisant la fusion
optimale `a chaque etape sera proche de la partition optimale.

2.4.3

Exemple

On reprend ici lexemple `


a quatre observations du paragraphe 2.3.2. On realise la classification
en choisissant comme distance entre individus la distance euclidienne et comme distance entre
classes la distance de Ward. On commence par calculer toutes les distances deux `a deux :

12

a
b
c
d

a
0

b
1
0

c
4.1
3.2
0

d
4.5
3.6
1
0

Les distances entre a et b dune part, et c et d dautre part sont equivalentes et minimales, on peut
donc considerer indieremment la fusion de lun de ces deux couples. On choisit arbitrairement
de fusionner a et b. Il faut maintenant calculer les distances entre la nouvelle classe {a, b} et c,
en utilisant la formule (2.2). Le barycentre de la classe {a, b} etant (0.5, 1), on a :

21 2
0.5
3
2
DW ({a, b}, c) =
d
,
1
0
2+1
= 4.83
) DW ({a, b}, c) = 2.2
En calculant de la meme mani`ere la distance entre {a, b} et d, on met `a jour le tableau des
distances :
{a, b}
c
d

{a, b}
0

c
2.2
0

d
2.6
1
0

On fusionne maintenant les individus c et d, dont la distance est minimale, et on calcule la


distance entre la classe {c, d} creee `
a cette etape et la classe {a, b} :
{a, b}
{c, d}

{a, b}
0

{c, d}
2.91
0

la derni`ere etape, les deux classes restantes sont fusionnees.


A

2.4.4

Le dendrogramme

Comme le nom de la methode (CAH) lindique, les partitions successivement obtenues sont
hierarchisees : elles sont embotees les unes dans les autres. De ce fait, il est possible de representer
lhistorique des dierentes etapes de lalgorithme `a laide dune arborescence, aussi appelee
dendrogramme. La figure 2.2 montre larborescence liee `a la CAH realisee precedemment. En
bas de larbre se trouvent les individus, jouant le role des feuilles. La fusion de deux elements
est representee par une branche reliant ces deux elements, dont la hauteur est proportionnelle
`a la distance entre les deux elements fusionnes. Ainsi la plus petite branche de larbre relie les
individus a et b, qui furent les premiers fusionnes. Plus lon remonte dans larbre, plus les classes
sont heterog`enes et les branches sallongent. Dans le cas de la figure 2.2 correspondant `a lexemple
considere, on a choisi de representer larbre avec des hauteurs de branches proportionnelles au
pourcentage de perte dinertie
k+1
k
IW
IW
IT
13

Figure 2.2 Dendrogramme correspondant `a la CAH sur les individus a, b, c et d


associee `a la fusion des deux elements (lisible `a gauche sur lechelle), plutot que proportionnelles
`a la distance entre ces deux elements.
Cette representation donne une vision globale de la topologie des observations, et permet
didentifier des classes : on voit ici que les individus a et b forment une classe homog`ene et
bien distincte de lautre classe regroupant c et d. Dans lexemple considere, une classification
en deux classes donne la meme classification que celle trouvee avec lalgorithme des K-means.
Ce consensus entre les deux methodes nest pas representatif, il est simplement d
u au fait que
lexemple considere est facile : les deux classes sont tr`es disjointes.
Par construction, lalgorithme CAH fournit une classification des donnees en K classes, pour
tout K entre 1 et n. Ainsi, il nest pas necessaire de preciser a priori le nombre de classes que lon
souhaite. Ce choix peut etre realise a posteriori, en considerant le dendrogramme. Les hauteurs
des branches etant proportionnelles `
a la distance entre classes, on peut choisir une classification
en coupant larborescence lorsque les branches sont jugees trop grandes. En eet, une grande
branche indique que lon regroupe des classes qui ne sont pas homog`enes.

2.4.5

G
en
eralisation

La classification hierarchique ascendante, presentee ici sous laspect dune procedure heuristique pour trouver une solution sous-optimale au probl`eme de recherche de la meilleure partition des observations, fut initialement developpee pour repondre au probl`eme plus general de la
construction dune distance ultrametrique. Ce paragraphe est consacre `a cette autre approche
du probl`eme de classification.
On dispose dun tableau de distances entre n individus (ou de p mesures pour chacun des
individus `a partir desquelles on peut construire le tableau de distances). Le nombre dindividus n
pouvant etre grand, il serait trop fastidieux detudier ce tableau de distances pour rendre compte
des ressemblances ou des dissemblances entre individus. Cest pourquoi on souhaiterait disposer
dune representation graphique `
a la fois simple et fid`ele des proximites entre observations ou
entre classes dobservations contenues dans le tableau de distances. La strategie generale de la
CAH consiste `
a representer ces proximites sous la forme dune arborescence.
14

Ce choix peut se justifier empiriquement. Reprenons lexemple `a 4 individus du paragraphe


2.4.4. Supposons quau lieu de disposer du tableau des distances entre individus, lexperimentateur
ne dispose que de la representation sous forme darborescence, i.e. du dendrogramme. Les conclusions que pourrait tirer lexperimentateur de ce graphique seraient les suivantes :
? les individus a et b se ressemblent,
? les individus c et d se ressemblent,
? les individus a et b sont tr`es dierents des individus c et d.
On voit donc que lessentiel de linformation contenue dans le tableau de distance est conserve
dans la representation graphique. Toutefois, la representation nest pas parfaite, car si lon ne
dispose que de larborescence, il nest pas possible de preciser qui de a et b est le plus proche de
c. Lobjectif est donc de construire larborescence la plus fid`ele aux donnees.
Si lon reprend lexemple precedent, on remarque que nous avons simplement montre quil
existe des tableaux de distances qui ne peuvent pas etre parfaitement representes par une arborescence. Cela tient en partie au choix de la mesure de distance choisie. D`es lors se pose la
question de savoir sil existe des mesures de distance qui puissent etre parfaitement representees
(quel que soit lechantillon de points sur lequel cette mesure de distance est appliquee) par une
arborescence. On definit dans un premier temps les distances ultrametriques :
D
efinition 4 Une distance ultrametrique est une fonction d qui `
a tout couple (x1 , x2 ) associe
une valeur dans R, et telle que
? d(x1 , x2 ) = d(x2 , x1 )

0,

? d(x1 , x1 ) d(x1 , x2 ),

? d(x1 , x2 ) sup {d(x1 , x3 ), d(x2 , x3 )}.


x3

La troisi`eme propriete, plus forte que linegalite triangulaire definissant les distances usuelles,
caracterise les distances ultrametriques.
Il a ete etabli (voir par exemple [5]) quil est equivalent de se donner, sur un ensemble de
points, soit une distance ultrametrique, soit une hierarchie indicee (une arborescence). Autrement dit, il est possible de parfaitement representer un tableau de distances entre points d`es
lors que la mesure de distance utilisee est ultrametrique. On peut alors presenter lobjectif de
la classification comme suit : `
a partir du tableau initial de dissimilarites entre observations,
on cherche `a definir une distance ultrametrique sur les observations pour pouvoir representer
leurs proximites sous la forme dun dendrogramme. Bien s
ur, on souhaite que la distance ultrametrique refl`ete au mieux les mesures de dissimilarite entre observations, cest-`a-dire que
la distance ultrametrique elaboree soit aussi proche de la mesure de dissimilarite initiale que
possible.
Lalgorithme presente au paragraphe 2.4.1 peut etre considere comme une strategie de
construction de lultrametrique. Nous avons vu que lalgorithme necessite de definir `a la fois
une dissimilarite entre observations et une distance entre classes. Lobjectif netant plus de
conserver linertie intra-classe, mais simplement dobtenir un dendrogramme, il est possible de
considerer dautres distances entre classes que la distance de Ward. De nombreuses distances
entre classes ont ete proposees et employees dans la litterature, dont voici trois exemples :
Distance du lien simple : D(Cj , C` ) = min min
d(x, x0 )
0
x2Cj x 2C`

15

Distance du lien moyen : D(Cj , C` ) =

1 X X
d(x, x0 )
nj n`
0
x2Cj x 2C`

Distance du lien complet : D(Cj , C` ) = max max


d(x, x0 )
0
x2Cj x 2C`

Une liste plus compl`ete peut etre trouvee dans les documentations de logiciel 1 . Le choix dune
distance particuli`ere constitue la strategie dagregation.
Toutes les distances entre classes ne garantissent pas de construire une ultrametrique. Il faut
prendre garde `
a ce que la distance choisie garantisse que si les elements a et b ont ete reunis lors
dune fusion entre classes avant les elements c et d, alors la branche reliant a `a b est plus petite
que celle reliant c et d. Il est difficile de caracteriser les distances entre classes qui poss`edent cette
propriete. On se contentera de noter que la propriete est verifiee pour les distances presentees
dans ce document.
Nous avions souligne en partie 2.1.2 la necessite de choisir avec soin la distance entre individus `a employer pour etablir la classification. Le choix dune distance entre classes est tout
aussi crucial que le choix dune distance entre individus, et deux classifications realisees sur les
meme individus avec des distances entre classes dierentes donneront vraisemblablement des
regroupements dierents. D`es lors, comment choisir la distance entre classes ? Il ny a pas de
reponse universelle `
a cette question, car il est tr`es difficile detudier les proprietes doptimalite
des distances entre classes. Cest pourquoi le choix de la distance entre classes est bien souvent
base sur lexperience du statisticien ou sur des considerations pratiques (de temps de calcul par
exemple). Dans ce contexte, la distance de Ward introduite en premier lieu a pour avantage
detre basee sur un objectif clairement identifie de minimisation de linertie intra-classe, ce qui
rend lalgorithme et les resultats interpretables.

2.5

Quelques consid
erations suppl
ementaires

Comparaison CAH / K-means Le principal avantage de la CAH vis-`a-vis des K-means


reside dans sa stabilite. Contrairement aux K-means, la CAH ne necessite aucune initialisation,
en consequence lancer deux fois lalgorithme CAH sur le meme jeu de donnees donnera deux
fois le meme resultat. Remarquons que dans certains logiciels, linitialisation des K-means nest
pas aleatoire : les centres de classes initiaux sont choisis suivant une strategie determinee. Ainsi,
dans la procedure FASTCLUS du logiciel SAS, le premier centre de classe initial correspond
`a la premi`ere observation du tableau de donnees. Le second centre de classe initial correspond
`a la premi`ere observation distante de r du premier centre de classe, o`
u r est une distance
precisee par defaut. Les centres de classes suivants seront selectionnes de telle sorte quils soient
separes dune distance de r de tous les centres de classes precedemment selectionnes. Ainsi, si
la procedure est lancee deux fois de suite sur une meme table de donnees, les resultats obtenus
seront identiques. Cette identite nest toutefois quillusoire car elle depend necessairement de
la strategie dinitialisation choisie. Changer la valeur du param`etre r par exemple resulterait en
une nouvelle classification, eventuellement dierente de la premi`ere.
1. Voir par exemple le chapitre 23 du guide utilisateur du logiciel
Users Guide, Version 8, 1999. Ce guide est aussi disponible en
http ://www.okstate.edu/sas/v8/saspdf/stat/chap23.pdf

16

SAS : SAS/STAT
ligne a
` ladresse

Utilisation jointe des K-means et de la CAH Il existe des cas o`


u il peut etre utile dutiliser les deux algorithmes conjointement. Le premier cas est celui des grands jeux de donnees.
Lalgorithme de la CAH est un algorithme o`
u les premi`eres etapes sont les plus co
uteuses, puisquelles necessitent un grand nombre de calculs de distance. Pour de grands jeux de donnees,
le temps de calcul de cet algorithme peut devenir prohibitif. On peut alors reduire le nombre
dindividus initial en utilisant les K-means, par exemple pour passer de 1.000.000 dindividus `
a
10.000 classes, puis realiser la CAH sur les classes obtenues. Le deuxi`eme cas consiste `a utiliser
les K-means apr`es la CAH : on constate quavec la CAH le classement de deux individus dans
une meme classe nest plus remis en cause lors des etapes suivantes. Il peut alors etre utile
de realiser la CAH, puis de permettre quelques reallocations des individus en faisant tourner
lalgorithme des K-means en partant de la partition obtenue par CAH.

Choix du nombre de classes La difficulte de toute methode de classification non supervisee


resulte dans le choix du nombre de classes K. Il arrive que ce nombre soit directement fixe par
la nature meme de la question posee, ceci est illustre par lexemple 4.1 du chapitre 4. Toutefois,
dans la plupart des cas, ce nombre est inconnu. Concernant lutilisation de lalgorithme des
K-means, ou de lalgorithme CAH applique avec la distance de Ward, il est possible de tracer la
courbe de linertie intra-classe WC(K) en fonction de K. On cherche alors `a identifier les etapes
o`
u lon observe une rupture dans cette courbe, synonyme dune forte degradation de linertie
intra-classe. Cette degradation resulte de la forte heterogeneite des deux classes reunies lors
de letape consideree, il est alors naturel de considerer un nombre de classes superieur `a celui
pour lequel la rupture a lieu. Cette strategie, parfois denommee crit`ere du coude, donne des
resultats satisfaisants lorsquelle est appliquee `a lalgorithme CAH o`
u les partitions successives
sont embotees. Lorsquappliquee `
a lalgorithme K-means (o`
u les partitions successives ne sont
pas embotees), lidentification des ruptures peut saverer plus difficile, rendant le crit`ere du
coude moins performant. Remarquons que lobjectif etant in fine la mise en evidence de la
structure sous-jacente des donnees, une methode pragmatique pour le choix du nombre de classes
est de choisir une partition dont il sera possible dinterpreter les classes.

17

Chapitre 3

M
ethode probabiliste : le mod`
ele de
m
elange
Dans cette partie, nous abordons le probl`eme de classification par une approche probabiliste.
Cette approche, comme son nom lindique, fait appel `a la modelisation probabiliste.
Lobjectif est toujours le meme : etablir une classification automatique des individus en groupes
homog`enes. Le sens donne `
a lhomogeneite des groupes est ici dierent : il ne se base plus sur
des considerations geometriques mais sappuie sur lanalyse de la distribution de probabilite de
la population. Nous presentons ici les mod`eles les plus utilises qui sont les mod`eles de melanges
de distributions. La notion dhomogeneite se traduit par le fait que les observations qui sont
dans un meme groupe sont issues dune meme distribution. Dans ce chapitre, nous parlerons
plutot de populations que de groupes.
Cette approche probabiliste presente deux avantages majeurs. Dune part, il permet davoir acc`es
`a des probabilites dappartenance des individus aux dierentes populations. Cest dailleurs `
a
partir de ces probabilites que setablit la classification. Il est en eet interessant de disposer de
ces probabilites en plus de la classification pour pouvoir par exemple comprendre le classement
dobservations qui peut paratre suspect. Dautre part, le cadre formel de cette approche permet
de proposer des solutions theoriques au probl`eme du choix du nombre de populations, qui est
en pratique inconnu. On peut en eet utiliser des crit`eres classiques de selection de mod`eles.
Au paragraphe 3.1, nous presentons le mod`ele sous sa forme generale et donnons la r`egle de
classification des individus dans les populations. Une fois le mod`ele considere, il sagit destimer
les param`etres du mod`ele. La methode classique du maximum de vraisemblance ne pouvant etre
directement utilisee, nous presentons au paragraphe 3.2 lalgorithme utilise qui est lalgorithme
EM. Enfin nous presentons au paragraphe 3.3 deux crit`eres classiques pour le choix du nombre
de populations.

3.1
3.1.1

Pr
esentation g
en
erale
Mod`
ele

On sinteresse a` n individus pour lesquels on dispose dobservations pour une variable x


qui sont notees x1 , . . . , xn . On suppose quen realite ces individus sont issus de K populations.
Dans un premier temps, supposons connu ce nombre de populations. Du point de vue de la
modelisation, on suppose que ces observations x1 , . . . , xn sont des realisations de n variables
18

aleatoires, notees X1 , . . . , Xn , dont chacune est supposee etre issue dune distribution propre
`a la population `
a laquelle appartient lindividu associe. Pour le formaliser, on introduit une
variable notee Z qui va servir de label pour chaque individu t `a classer : `a chaque Xt est associe
un vecteur de dimension K, note Zt = {Zt1 , . . . , ZtK } tel que :
8
< 1 si lindividu t appartient `a la population k
Ztk =
:
0 sinon.

On note k la probabilite que cette variable aleatoire prenne la valeur 1, cest-`a-dire la probabilite
que lindividu appartienne `
a la population k :
k = P (Ztk = 1).
Cette probabilite est appelee probabilite a priori dappartenance `a la population k puisquelle ne
prend pas en compte linformation dont on dispose, cest-`a-dire lobservation xt . Elle represente
donc tout simplement la probabilite quune observation prise au hasard appartienne `a la population k. La somme des evenements possibles vaut 1, cest-`a-dire que
K
X

k = 1.

k=1

Cela revient `
a dire que les variables aleatoires Zt ont pour distribution une loi multinomiale de
param`etres les probabilites a priori :
Zt M(1; 1 , . . . , K ).
Une fois definie lappartenance des individus aux populations, il sagit de definir la distribution
des observations dans chacune des populations : la distribution de Xt sachant que lindividu t
appartient `a la population k est notee
Xt |Ztk = 1 fk (xt ),
o`
u fk est la distribution de probabilite attribuee `a la population k. Ici on se place dans un cadre
parametrique, cest-`
a-dire que fk est supposee appartenir `a une famille de lois parametrees :
fk (.) = f (.; k ),
o`
u k sont les param`etres de la distribution f dans la population k. Il faut donc choisir la famille
`a laquelle appartient f . La dierence entre populations se fait alors au travers des param`etres
k . Le choix de cette distribution aura bien s
ur des consequences sur la classification finale. En
pratique, ce choix se fait selon la meme demarche que pour une modelisation plus classique :
on peut saider de lhistogramme des observations comme des connaissances a priori que lon
a des observations. Il faut cependant preciser que le choix dune distribution assez complexe
pourra poser des difficultes dans letape destimation des param`etres. Cest pourquoi le choix
dune distribution simple est souvent privilegiee meme si elle refl`ete moins bien la realite.
On dispose donc de la loi du couple (Xt , Zt ) :
f (xt , zt ) = P (zt )f (xt |zt ) = zt f (xt |zt ),
19

o`
u zt = P (Zt = zt ) (zt = k si ztk = 1 par exemple), et f (xt |zt ) est la densite de Xt
conditionnellement `
a Zt = zt . On peut ecrire `a partir de la loi du couple (Xt , Zt ) la loi marginale
de Xt (la distribution de Xt en considerant toutes les populations) : soit lindividu t appartient
`a la population 1 avec probabilite 1 et donc la distribution est f (.; 1 ),... , soit `a la population
K avec probabilite K et donc la distribution est f (.; K ). Formellement, la distribution de Xt
peut secrire sous la forme :
f (xt ; ) = P (Zt1 = 1) f (xt ; 1 ) + . . . + P (ZtK = 1) f (xt ; K ),
=

K
X
k=1

K
X

P (Ztk = 1) f (xt ; k ),
k f (xt ; k ).

(3.1)

k=1

Cest ce quon appelle un melange de distributions : cest la somme des distributions des K
populations ponderees par la taille de ces populations k (la proportion dindividus appartenant
`a ces populations).
Ainsi dans ce mod`ele, chaque population k est caracterisee par
k qui represente la proportion dindividus appartenant `a la population k,
k qui sont les param`etres de la distribution de la population k.
Par la suite, on notera = ( 1 , . . . , K ) lensemble de tous les param`etres du mod`ele o`
u k sont
les param`etres specifiques `
a la population k : k = (k , k ).
Les variables mises en jeu dans un mod`ele de melange sont donc les Xt et Zt , representees
sous forme dun couple Yt = (Xt , Zt ), que lon appelle donnees compl`etes. Cependant, seules
les Xt sont observees et sont appelees donnees incompl`etes. On souhaite donc reconstruire les
variables dappartenance Ztk . La figure (Table 3.1.1) illustre le probl`eme de classification de
donnees bidimensionnelles (au lieu de considerer une observation par individus, on en a deux).
Ces donnees sont issues de 3 populations que lon cherche `a retrouver.

3.1.2

Aectation

Lidee naturelle est de classer lindividu t dans la population dont il a le plus de chance detre
issu au vu de sa valeur xt observee et des caracteristiques des populations. On sinteresse donc
`a la probabilite que lindividu t appartienne `a la population k sachant que lon a observe pour
cet individu la valeur xt de la variable X. Cette probabilite est notee tk :
tk = P (Ztk = 1|Xt = xt ).

(3.2)

Elle est appelee la probabilite a posteriori que lindividu soit dans la population k (contrairement
`a la probabilite a priori on prend en compte linformation dont on dispose). Par la formule de
Bayes, elle secrit :
tk =

P (Ztk = 1)f (xt ; k )


,
f (xt )

20

donnees incompl`etes
Z =?

donnees completees
Z : 1 = , 2 = +, 3 =

Table 3.1 Illustration du probl`eme.

o`
u f (xt ) est donnee par (3.1). On obtient
tk =

k f (xt ; k )
.
PK
l=1 l f (xt ; l )

(3.3)

Pour classer les individus, on utilise la r`egle du Maximum A Posteriori (MAP) : on classe lindividu t dans la population k correspondant `a la probabilite tk maximale pour cet individu.
Si cette quantite est proche de 1 pour une population, on dira que lindividu est classe avec
certitude dans cette population. Si par contre toutes les probabilites sont `a peu pr`es egales (par
exemple 0.51 et 0.49 pour deux populations) alors il est plus difficile de classer avec certitude.
On peut remarquer que comme f (xt ) ne depend pas de la population, la r`egle du MAP consiste
simplement `
a choisir la population k maximisant k f (xt ; k ). Ainsi, plus la population k est
grande (valeur de k elevee), plus elle aura tendance `a etre attractive.
Pour pouvoir classer les individus dans les dierentes populations, il faut connatre les caracteristiques de ces populations, `
a savoir les param`etres k et k . On va donc chercher `a les
estimer.

3.1.3

Exemple dun mod`


ele de m
elange de distributions gaussiennes

Bien que nimporte quelle loi puisse etre utilisee pour modeliser les observations, la plus
courante est la distribution gaussienne :
k = (k ,

2
k)

, fk = N (k ,

2
k ),

dont la fonction de densite secrit :


f (x; k ) =
k

1
p

exp

21

(x

k )2 /(2

2
k)

Distributions

Probabilites a posteriori

f (x) = 1 f (x; 1 ) + 2 f (x; 2 ) + 3 f (x; 3 )

tk = Pr(Ztk = 1 | xt )

Table 3.2 Exemple dun distribution de melange gaussien `a 3 populations.

Ici on a considere que la variance dependait aussi de la population mais on aurait pu ne pas le
supposer et donc avoir une variance 2 commune.
La figure (Table 3.1.3) est un exemple de mod`ele de melange gaussien `a 3 populations. La
figure de gauche represente la distribution du melange (1 f (x; 1 ) + 2 f (x; 2 ) + 3 f (x; 3 )) avec
en detail les distributions dans chaque population ponderees par leur proportion (k f (x; k )). Sur
la figure de droite sont representees les probabilites a posteriori dappartenir aux 3 populations.
Ce dernier graphique permet davoir une idee de la classification eectuee : les lignes verticales
correspondent aux points fronti`eres (aux valeurs de x pour lesquelles le classement change) : par
exemple, tous les individus dont la valeur de x est inferieure `a la valeur associee `a la premi`ere
ligne verticale (environ 1 sur la figure) seront classes dans la population 1. Cest dailleurs au
niveau de ces lignes que le classement se fait avec beaucoup moins de certitude. En eet, cest `a ce
niveau que les probabilites sont proches de 0.5. Comme on la vu dans le paragraphe precedent,
la classification se fait `
a partir des probabilites tk ou plus simplement `a partir des valeurs de
k f (x; k ). Cest pourquoi on retrouve les points fronti`eres sur la figure des distributions qui se
situent au niveau du croisement des distributions ponderees.

3.2

Estimation des param`


etres du mod`
ele

Dans ce paragraphe, on cherche `


a estimer les param`etres du mod`ele par la methode classique du maximum de vraisemblance. Cette methode consiste `a rechercher les valeurs des param`etres qui maximisent la vraisemblance (ou plutot le logarithme de la vraisemblance) des
donnees observees (cest-`
a-dire des donnees incompl`etes). Compte tenu de (3.1) et de lindependance

22

des observations, la vraisemblance secrit :


L(X1 , . . . , Xn ; ) =
=

n
Y

f (Xt ;
t=1
(K
n
Y
X

log L(X1 , . . . , Xn ; ) =

k f (Xt ; k ) .

t=1

En passant au logarithme, on obtient

),

n
X

k=1

log

t=1

(K
X

k f (Xt ; k ) .

k=1

(3.4)

On cherche ensuite les valeurs des param`etres k et k en annulant la derivee de la logvraisemblance par rapport `
a tous ces param`etres. De par la forme particuli`erement complexe de
la log-vraisemblance (`
a cause du logarithme de la somme), on ne peut obtenir des expressions
explicites de ces estimateurs.
La solution est davoir recours `
a des algorithmes iteratifs de recherche de maximum ou de minimum dune fonction. Il existe plusieurs algorithmes qui ont cet objectif mais celui qui est utilise
dans le cadre des mod`eles de melange est un algorithme appele algorithme EM. Son succ`es tient
dans le fait que cet algorithme est simple `a mettre en oeuvre et quil m`ene `a des formes explicites
des estimateurs.
Cet algorithme est presente dans le paragraphe suivant.

3.2.1

Algorithme EM

Nous presentons dans ce paragraphe lalgorithme Expectation-Maximisation (EsperanceMaximisation en francais), abrege par EM, propose par [4]. Puisque la vraisemblance des
donnees incompl`etes nest pas simple `
a manipuler, lidee est de travailler plutot avec la vraisemblance des donnees compl`etes qui secrit :
( n K
)
YY
log L(X, Z; ) = log
[k f (Xt ; k )]Ztk ,
t=1 k=1

n X
K
X
t=1 k=1

Ztk log {k f (Xt ; k )}.

(3.5)

Cette quantite nest pas choisie au hasard. En eet la maximisation de cette quantite va permettre datteindre le but fixe au depart, `a savoir maximiser la log-vraisemblance des donnees
incompl`etes (cf paragraphe 3.2.3).
Comme on le voit dans lexpression de la log-vraisemblance (3.5), les variables Ztk apparaissent.
Or ces variables ne sont pas observees puisque ce sont celles que lon cherche `a reconstruire.
La strategie consiste alors `
a remplacer les Ztk non observes par la meilleure prediction que
lon puisse en faire sachant les donnees observees Xt , donnee par E(Ztk |Xt = xt ) = tk , dans
lexpression (3.5). On sinteressera donc `a la quantite suivante :
n X
K
X
t=1 k=1

tk log {k f (Xt ; k )}.


23

(3.6)

Dapr`es (3.3), les probabilites a posteriori tk dependent des param`etres du mod`ele k . Ainsi
si on connaissait ces param`etres, on pourrait calculer les probabilites tk , et inversement si on
connaissait les probabilites tk , on pourrait obtenir des valeurs des estimations des param`etres en
maximisant la quantite precedente (3.6). Lalgorithme EM suit compl`etement cette demarche.
En eet, cet algorithme est un algorithme iteratif qui, si on note (h) = ( (h) , (h) ) la valeur du
param`etre courant, consiste en deux etapes `a literation (h + 1) :

1. Etape
E (Estimation) : on calcule les probabilites a posteriori tk `a partir de la valeur
courante des param`etres (h) :
(h+1)

tk

(h)

(h)

k f (Xt ; k )

PK

(h)

(h)

l=1 l f (Xt ; l )

2. Etape
M (Maximisation) : on actualise les param`etres en maximisant la quantite
donnee par (3.6) dans laquelle on a remplace les tk par les valeurs que lon a obtenues `
a
letape E :
(h+1)

= Argmax

n X
K
X

(h+1)

tk

t=1 k=1

log {k f (Xt ; k )}.

Argmax signifie largument (valeur des param`etres ) qui maximise la quantite dinteret.
Il
ne faut pas oublier quil existe une contrainte sur les proportions k , `a savoir que
PK
eret en prenant en compte cette
k=1 k = 1. On doit alors maximiser la fonction dint
contrainte. La methode utilisee pour cela est la methode du multiplicateur de Lagrange
dont le principe est de deriver non pas la quantite dinteret Q uniquement mais
Q+

K
X

k .

k=1

Pour obtenir lestimateur de k , il faut donc resoudre


X

(h+1)
tk

+ k = 0

(h+1)
t tk

, k =

Pour obtenir , il suffit dutiliser la contrainte consideree : en sommant la quantite precedente


P P (h)
P P
sur toutes les valeurs de k, on obtient k t tk + = 0 et donc =
k
t tk = n.
En reportant la valeur de dans lequation precedente, on trouve
(h+1)
k

Pn

(h+1)
t=1 tk

Cette estimation a une interpretation naturelle : elle resume la contribution de chaque


individu `
a la population k par leur probabilite a posteriori dappartenance `a cette population. Pour les param`etres k , lexpression des estimateurs depend de la distribution
choisie. Notons cependant que ces estimateurs ne dependent pas de la contrainte ajoutee
`a Q puisque celle-ci ne porte que sur les param`etres 1 , ..., K .

24

Remarque. On a decrit lalgorithme EM dans le cas particulier des mod`eles de melange de


distributions en donnant directement dans ce cadre les quantites `a calculer dans les deux etapes.
Dun point de vue plus general, cet algorithme sappuie sur lesperance de la log-vraisemblance
des donnees compl`etes sachant les donnees observees X et une valeur des param`etres 0 :
Q( ,

) = E log L(X, Z; )|X,

(3.7)

Chaque iteration de lalgorithme EM consiste dans un premier temps (etape E) `a remplacer la


log-vraisemblance des donnees compl`etes log L(X, Z; ) par son esperance conditionnelle sachant
les donnees observees X et une valeur des param`etres 0 , candidate au maximum (3.7). Dans un
second temps (etape M), une nouvelle valeur des param`etres est obtenue en maximisant cette
esperance conditionnelle. Ainsi si on note (h) la valeur courante des param`etres, `a literation
(h + 1) letape E consiste `
a calculer Q( , (h) ).
Dans le cas particulier des mod`eles de melange de distributions, dapr`es lexpression de la
log-vraisemblance des donnees compl`etes donnee par (3.4), on obtient
( n K
)
XX
Q( , (h) ) = E
Ztk log {k f (Xt ; k )}|X, (h) ,
t=1 k=1

n X
K
X
t=1 k=1

n
E Ztk |X,

(h)

log {k f (Xt ; k )}.

Puisque la variable Ztk est une variable aleatoire valant 0 ou 1, E Ztk |X, (h) nest autre que la
probabilite a posteriori dappartenance de lindividu t `a la population k en prenant comme valeur
des param`etres (h) : P (h) (Ztk = 1|Xt ). Ainsi cette etape se reduit au calcul des probabilites a
(h)

posteriori, les tk comme on a vu precedemment.

3.2.2

Calculs pour un mod`


ele de m
elange de distributions gaussiennes

Ce mod`ele est decrit dans le paragraphe 3.1.3. Les param`etres `a estimer sont les moyennes
` letape M de literation (h + 1), on obtient :
et les variances de chaque population. A
(h+1)
k

Pn

(h+1)
xt
t=1 tk
Pn
(h+1)
t=1 tk

et

2,(h+1)
k

Pn

(h+1)
(h+1) 2
(xt k
)
t=1 tk
.
Pn
(h+1)

t=1 tk

Ces estimations correspondent aux versions classiques des estimateurs des moyennes et variances
mais ponderees par la probabilite a posteriori dappartenance aux populations considerees.

3.2.3

Propri
et
es de lalgorithme EM

Bien que lalgorithme EM ne consiste pas `a maximiser directement la vraisemblance des


donnees observees, il assure que lon obtiendra des estimations du maximum de cette vraisemblance. Ce resultat est enonce dans la propriete suivante qui montre que la log-vraisemblance
des donnees incompl`etes augmente `
a chaque iteration de lalgorithme.
Propri
et
e 1 Soit une suite diterations de EM :
log L(X;

(h+1)

(0) ,

log L(X;
25

(1) , . . . ,

(h)

(h) , . . . ,,

) pour tout h.

on montre que

La demonstration de ce resultat est donnee dans le paragraphe 3.2.6. Cette propriete est fondamentale pour garantir une bonne evolution des valeurs de la log-vraisemblance des donnees
incompl`etes (si bien sur, elle est bornee). Noublions pas, en eet, que lon cherche les valeurs des
param`etres qui maximisent la log-vraisemblance des donnees incompl`etes. Ainsi cette propriete
assure la convergence de lalgorithme EM vers une valeur ? des param`etres realisant un maximum ([4]). Notons que cette valeur nest pas forcement le maximum de vraisemblance mais
peut correspondre `
a un maximum local.

3.2.4

En pratique

Comme tous les algorithmes iteratifs, lalgorithme EM necessite


(0)
linitialisation des param`etres (0) ou des probabilites a posteriori tk (dans le cadre
particulier des mod`eles de melange de distributions). En pratique, le plus simple est souvent
de choisir ces probabilites. Si on ne dispose daucune information a priori, lusage est de
(0)
les choisir au hasard : tk = 1/K.
une r`egle darret : on sarrete quand les valeurs des param`etres ou de la quantite `a maximiser entre deux iterations successives ne varie presque plus.
Bien que cet algorithme soit tr`es performant et souvent simple `a mettre en oeuvre, son principal probl`eme est sa forte dependance aux valeurs initiales : pour dierentes initialisations, on
obtient dierentes valeurs des estimations des param`etres , ce qui le rend peu stable. La raison
de cette sensibilite est que lalgorithme converge vers des maxima locaux de la vraisemblance.
Pour saranchir de ce probl`eme, une solution consiste :
soit `a lancer lalgorithme `
a partir de plusieurs valeurs initiales et `a retenir la meilleure,
soit `a lancer lalgorithme un grand nombre de fois `a partir de plusieurs valeurs initiales,
`a moyenner les valeurs obtenues pour les probabilites a posteriori ou pour les param`etres
(suivant le mode dinitialisation choisi), puis `a lancer une derni`ere fois lalgorithme EM en
utilisant les valeurs moyennes comme valeurs initiales.
Notons quune autre solution serait dinitialiser lalgorithme en utilisant les methodes heuristiques presentees dans le chapitre precedent.

3.2.5

Variantes de lalgorithme EM

Le probl`eme dinitialisation a donne lieu `a des developpements dalgorithmes derives de


lalgorithme EM, dont deux sont presentes dans ce paragraphe. Ces algorithmes correspondent
`a des versions stochastiques de lalgorithme EM, comme par exemple lalgorithme SEM. Pour
eviter les maxima locaux, lidee est dintroduire des perturbations pour permettre `a lalgorithme
de pouvoir sortir de ces maxima, de mani`ere `a avoir de plus grandes chances datteindre le
maximum global de vraisemblance.
Algorithme SEM. Cest une version stochastique de lalgorithme EM qui a ete developpee par
[2]. Il consiste `
a intercaler une etape S (pour Stochastique) entre les etapes E et M : une
fois les tk calculees, lappartenance des individus aux populations, i.e. les Ztk , sont tirees
aleatoirement selon ces probabilites. Lestimation des param`etres se fait ensuite sur la base
de la classification obtenue : letape M consiste `a actualiser les param`etres en maximisant

26

la log-vraisemblance des donnees compl`etes (3.5) (cela revient `a remplacer tk par Ztk ).
Algorithme CEM. Cest une version classifiante de lalgorithme EM (C pour Classification)
qui a ete proposee par [3]. Elle consiste `a maximiser directement la log-vraisemblance
des donnees completees. Plus precisement, `a la suite de letape E, on eectue la classification par la r`egle du MAP. Ensuite, dans letape M, comme precedemment, cest la
log-vraisemblance compl`ete qui est consideree.

3.2.6

D
emonstration de la propri
et
e1

Dans cette partie, nous presentons la demonstration de la propriete 1. En utilisant la formule


de Bayes, on decompose la log-vraisemblance des donnees incompl`etes en la somme de deux
termes :
log L(X; ) = log L(X, Z; ) log L(Z|X; ).
En passant `
a lesperance conditionnelle sachant les donnees observees et la valeur courante des
param`etres (h) , notee E .|X, (h) , il vient
n
o
n
o
n
o
E log L(Z|X; )|X, (h) .
E log L(X; )|X, (h) = E log L(X, Z; )|X, (h)

On reconnat le premier terme qui est Q( , (h) ) et on note H( , (h) ) le second. De plus, comme
lesperance dune fonction de X conditionnellement `a X est egale `a elle-meme, on a
log L(X; ) = Q( ,

(h)

H( ,

(h)

).

(3.8)

Pour montrer laugmentation de la log-vraisemblance, on sinteresse `a la variation de cette


quantite quand on passe dune iteration EM `a la suivante. Dapr`es (3.8), cette variation secrit :
h
i
log L(X; (h+1) ) log L(X; (h) ) = Q( (h+1) , (h) ) Q( (h) , (h) )
h
i
H( (h+1) , (h) ) H( (h) , (h) ) .

Par definition de letape M de lalgorithme, Q augmente `a chaque iteration, cest-`a-dire que la


quantite Q( (h+1) , (h) ) Q( (h) , (h) ) est positive ou nulle. Il suffit donc maintenant de montrer
que le second terme est negatif (cest-`
a-dire que H diminue) :
n
o
H( (h+1) , (h) ) H( (h) , (h) ) = E log L(Z|X; (h+1) ) log L(Z|X; (h) )|X, (h) ,
(
!
)
L(Z|X; (h+1) )
= E log
|X, (h) .
L(Z|X; (h) )
On majore H en utilisant linegalite de Jensen qui dit que etant donnee g une fonction convexe,
g (E[X]) E[g(X)]. Le logarithme etant une fonction convexe, on obtient
" (
)#
L(Z|X; (h+1) )
(h+1) (h)
(h) (h)
(h)
H(
,
) H(
,
) log E
|X,
,
L(Z|X; (h) )
!
Z
L(z|X; (h+1) )
(h)
log
L(z|X;
)dz ,
L(z|X; (h) )
Ce qui termine la preuve.

log 1 = 0.

27

3.3

Choix du nombre de populations

La procedure precedente permet dobtenir une classification des n individus en K populations. Cependant, en pratique le nombre de populations est inconnu. Meme si lon dispose
dinformations a priori sur les donnees, il est difficile de le fixer `a lavance. Il faut donc lestimer.
Lavantage du cadre probabiliste des mod`eles de melange par rapport aux methodes exploratoires presentees dans le chapitre precedent est que lon dispose de crit`eres theoriques pour
choisir ce nombre. Ces crit`eres sont appeles crit`eres penalises.

3.3.1

Crit`
eres de s
election

Notons K les estimations du maximum de vraisemblance pour un mod`ele de melange `a K


populations (obtenus par lalgorithme EM). Pour un mod`ele de melange `a K populations, les
crit`eres penalises secrivent sous la forme generale suivante :
Crit(K) = log L(X; K )
o`
u

pen(K),

log L(X; K ) est la log-vraisemblance des donnees observees prise en son maximum (cf
equation (3.4) calculee en
k et k ),
pen(K) est ce que lon appelle la penalite.

Le premier terme traduit lajustement du mod`ele aux donnees. Ce terme augmente avec le
nombre de populations K : plus on consid`ere de populations, mieux on sajuste. Pourquoi at-on besoin de penaliser cette vraisemblance ? Comme lajustement augmente avec le nombre
de populations, il suffit de choisir le nombre de populations maximal pour avoir le meilleur
ajustement. Le probl`eme est que plus on a de populations, plus il y a de param`etres `a estimer
et plus les erreurs destimation sont nombreuses. On ne veut donc surtout pas selectionner un
nombre de populations trop grand. On voit apparatre le role de la penalite qui va etre de
faire payer le co
ut statistique de lajustement et donc de controler le nombre de populations `
a
selectionner. Cette penalite doit donc etre une fonction qui augmente avec le co
ut statistique.
Dans la plupart des crit`eres penalises connus, ce co
ut statistique est fonction du nombre de
param`etres `
a estimer du mod`ele considere.
comme etant celui qui maximise le crit`ere penalise
On choisit alors le nombre de populations K
considere :
= Argmax Crit(K).
K
K=1,...,n

Le crit`ere le plus utilise pour les mod`eles de melange est le crit`ere BIC (Bayesian Information
Criterion [10]) qui secrit
BIC(K) = log L(X; K )

log n
nombre de param`etres du mod`ele `a K populations
2

Par exemple, dans le cas du mod`ele de melange de distributions gaussiennes, la penalite est
pen(K) =

log n
((K
2
28

1) + 2 K).

P
En eet, il y a K 1 proportions k (K proportions moins une contrainte K
k=1 k = 1), et 2 K
param`etres (K moyennes et K variances).
Ce crit`ere est en general utilise lorsque lon se place dans lobjectif de lajustement dune distribution complexe par une distribution de melange.
Dans un objectif de classification, un crit`ere ressemblant a ete propose par [1] : le crit`ere ICL
(Integrate Classification Likelihood). Il consiste `a penaliser la log-vraisemblance compl`ete et
prend ainsi en compte la classification `a travers les Z :
K )
ICL(K) = log L(X, Z;

log n
nombre de param`etres du mod`ele `a K populations,
2

o`
u Z correspond `
a la classification obtenue. On peut montrer que
log L(X, Z;

K)

= log L(X;

K)

n X
K
X

Ztk log tk .

t=1 k=1

Le crit`ere ICL pour un melange de distributions `a K populations secrit :


ICL(K) = log L(X; K ) +
= BIC(K) +

n X
K
X

tk log tk

t=1 k=1

n X
K
X

log n
nombre de param`etres du mod`ele K,
2

tk log tk

t=1 k=1

en remplacant Ztk par tk .


Le nouveau terme (par rapport au crit`ere BIC) est appele entropie. Il mesure la separabilite des
populations : pour des populations tr`es separees, les probabilites a posteriori tk sont proches
de 0 ou 1 et ce terme dentropie est proche de 0. Dans le cas contraire, ce terme est negatif. On
peut donc voir lentropie comme un terme de penalisation de la separabilite des populations :
on penalise les mod`eles dont les populations sont mal separees.
Remarque. La classification par mod`ele de melange necessite le choix de la distribution des
donnees `a classer fk . Cependant, il nest pas toujours facile de se donner une distribution a priori
et on peut vouloir regarder plusieurs distributions. Si les distributions en competition poss`edent
un meme nombre de param`etres, on choisira celle qui permet dobtenir le meilleur ajustement
du mod`ele aux donnees, cest-`
a-dire celle qui a la plus grande vraisemblance. Par contre si elles
ne poss`edent pas le meme nombre, il faudra prendre en compte le nombre de param`etres en
utilisant un crit`ere penalise : on choisira la distribution qui m`ene aux plus grandes valeurs du
crit`ere.

3.3.2

En pratique

En pratique, on eectue la classification des donnees pour dierentes valeurs de nombre de


populations K. Pour chacune, on calcule lajustement (soit L(X; K )). Ensuite, on choisit le K
qui maximise le crit`ere penalise, cest-`
a-dire qui m`ene au meilleur compromis entre un assez bon
ajustement aux donnees et un nombre raisonnable de param`etres `a estimer.
Quelques points pratiques :
29

on ne fait pas varier la valeur du nombre de populations de 1 `a n. Un K bien trop grand


sera de toute facon elimine, cest pourquoi on se restreint souvent `a une valeur maximale
du nombre de populations K, Kmax qui ne doit bien s
ur pas etre trop petite. Il ny a
pas de r`egle pour choisir ce nombre maximal de populations `a visiter. Il est souvent fixe
comme superieur au nombre de populations attendu.
il est toujours informatif de realiser le graphique representant le comportement de la logvraisemblance L(X; K ) en fonction du nombre de populations. Ce graphique est instructif
pour deux raisons : dune part, il permet de voir si lajustement augmente bien en fonction du nombre de populations. Comme on la vu dans le paragraphe 3.2.4, lalgorithme
EM ne garantit pas dobtenir le maximum de vraisemblance mais peut fournir un maximum local. Ainsi il se peut que la vraisemblance naugmente pas pour deux valeurs de
K successives. Un comportement trop erratique de la vraisemblance peut poser un souci
pour la selection du nombre de populations par crit`ere penalise. Les variantes de lalgorithme EM presentees au paragraphe 3.2.5 permettent en general dobtenir des valeurs
de vraisemblance plus proches du maximum. Dautre part, le graphique peut permettre
dobtenir tr`es rapidement une gamme de valeurs raisonnables pour le nombre de populations `a selectionner. En eet, idealement la vraisemblance augmente fortement pour les
premi`eres valeurs de K, signifiant que lon gagne fortement en ajustement. Puis `a partir dune certaine valeur Km , cette augmentation devient beaucoup moins importante :
augmenter le nombre de populations K nameliore plus que marginalement lajustement
mais continue daugmenter le nombre de param`etres `a estimer. Theoriquement, la valeur
Km `a partir de laquelle on observe cette rupture (appelee coude) dans lamelioration
de la vraisemblance se trouve au voisinage du vrai nombre de populations. On prendra
souvent la valeur Km comme estimation de cette vraie valeur.

3.4

Logiciels

Lutilisation de plus en plus intensive de ce mod`ele a suscite lapparition de logiciels ou packages. On peut citer mclust, une fonction du logiciel gratuit R et Mixmod, un logiciel enti`erement
dedie aux mod`eles de melange et qui est interface avec Scilab ou Matlab. Ces dierents outils
sont telechargeables sur internet. Remarquons que ces outils consid`erent des choix de distributions assez classiques. En particulier, le mod`ele de melange gaussien est integre dans chacun de
ces outils. Par contre, une distribution plus complexe peut ne pas y etre.

30

Chapitre 4

Exemples dapplication
4.1
4.1.1

Caract
erisation de races anciennes de poules
Pr
esentation du probl`
eme

Dans le contexte recent de diversification des activites agricoles et de tracabilite, les demarches
de qualification des produits impliquant des races anciennes se multiplient en France dans une
perspective de developpement local. La motivation initiale est dassocier la sauvegarde de la
race avec lore dun produit de qualite. Ainsi, lorsquune race satisfait `a la fois aux exigences
de conservation et de valorisation, eleveurs et producteurs peuvent sassocier pour definir une
strategie de valorisation de cette race.
Encore faut-il que la race ait un sens, cest-`a-dire que la specificite de cette race par rapport
aux autres puisse etre etablie. Les producteurs de races anciennes se basent en general sur des outils tr`es frustes (standards phenotypiques, perim`etre geographique) pour garantir lauthenticite
de la race. Le but est donc ici de realiser une classification de races de poules `a partir de donnees
genetiques (marqueurs moleculaires), et de verifier si la classification basee sur les genotypes
recouvre bien la classification en races etablie actuellement sur la base des phenotypes 1 . Pour
cela, 414 poules ont ete genotypees en 22 marqueurs microsatellites. Ces animaux appartiennent
`a 14 races dierentes, avec les eectifs suivants :
Barbezieux (BAZ) : 30
Bourbonnaise (BNA) : 30
Bresse Blanche (B99) : 30
Coucou de Rennes (COU) : 30
Cr`evecoeur (CRC) : 26
Gasconne (GAS) : 30
Gauloise doree (GLD) : 28

Gauloise Grise (GLG) : 30


Gauloise Noire (GLN) : 30
Geline de Touraine (GLT) : 30
Gournay (GOU) : 30
Houdan (HOU) : 30
Marans (MR) : 30
Noire de Challans (NC) : 30

La figure 4.1 represente la repartition geographique de ces 14 races en France.


1. Apport des Marqueurs Moleculaires a
` la Caracterisation des Races Anciennes de Poules, X. Rognon, C.
Berthouly, G. Coquerelle, H. Legros, M. Tixier-Boichard, Septi`emes Journees de la Recherche Avicole, 2007

31

Figure 4.1 Localisation des races etudiees.

4.1.2

Formalisation

Le tableau de donnees est le suivant :


Race
B99
B99
B99

Identifiant
1366
1367
1368

Locus 1
127 127
127 127
127 127

Locus 2
107 111
107 107
107 111

Locus 3
116 119
110 120
119 120

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

Chaque observation est ici decrite par la combinaison dall`eles observee en dierents loci. Par
exemple, la poule didentifiant 1366 est de race Bresse Blanche (B99), et elle est homozygote au
locus 1 (elle poss`ede deux fois lall`ele 127). On peut supposer quil existe K sous-populations,
se distinguant les unes des autres par des frequences alleliques specifiques en chacun des loci.
Il est clair que contrairement `
a lexemple 2.4.3 decrit au chapitre 2.5, les dierentes variables
decrivant ici les observations ne sont pas quantitatives. Il nest donc pas possible dappliquer
lalgorithme des K-means pour classer les individus. Il est en revanche possible de modeliser les
donnees en utilisant un mod`ele de melange, au prix dune adaptation de la methode decrite au
chapitre 3. Les donnees ne suivant pas ici des lois normales multivariees (puisque les variables
ne sont pas quantitatives), la distribution des all`eles aux dierents loci peut etre modelisee par
un mod`ele de melange de lois multinomiales. Une fois ce changement de modelisation operer, il
est toujours possible dutiliser lalgorithme EM pour estimer les param`etres des dierentes lois,
ainsi que les probabilites a posteriori associees `a chaque individu.
Toutefois, ce nest pas la strategie qui est envisagee ici. Bien que les variables ne soient
pas quantitatives, il nen demeure pas moins possible de calculer des distances genetiques entre
observations. Ces distances sont calculees en fonction des frequences alleliques en chaque locus,
le lecteur interesse pourra consulter [6] ou [7].
A partir du calcul des distances entre observations, il va etre possible dappliquer la strategie
de classification hierarchique ascendante decrite au chapitre 2.4. Le seul param`etre `a choisir est
la strategie dagregation, cest-`
a-dire la distance entre classes. Nous travaillerons dans la suite
avec la distance de Ward.

32

4.1.3

Classification

Nous presentons ici le detail des dierentes etapes de lanalyse, realisee `a laide du logiciel SAS. Le programme correspondant `a cette analyse est disponible en annexe, ainsi que le
programme R pour realiser la meme analyse.
Le tableau de donnees correspond `a la matrice de distance entre individus. Autrement dit,
ici les individus sont representes `
a la fois en ligne et en colonne, le croisement de la ligne i et de
la colonne j donnant la distance entre les individus i et j :
Obs
1
2
3
4
5

identifiant

race

1366
1367
1368
1369
1370

B99
B99
B99
B99
B99

var1
0.00000
0.43182
0.38636
0.43182
0.36364
...
...

var2

var3

var4

var5

0.43182
0.00000
0.38636
0.43182
0.47727

0.38636
0.38636
0.00000
0.40909
0.38636

0.43182
0.43182
0.40909
0.00000
0.36364

0.36364
0.47727
0.38636
0.36364
0.00000

Comme on le voit, le logiciel SAS ne renomme pas les colonnes par lidentifiant des individus par
defaut : var1 correspond `
a la poule 1366, var2 `a la poule 1367 et ainsi de suite. Par ailleurs,
outre la matrice de distance, le tableau contient la race correspondant `a chaque observation.
A partir de ce jeu de donnees, la classification ascendante hierarchique seectue `a laide de la
procedure CLUSTER de SAS. On obtient alors lhistorique de la classification suivant :
The CLUSTER Procedure
Wards Minimum Variance Cluster Analysis
Historique des classifications

NCL
413
412
411
410
409
408
407

--Classifications jointes--5938
5941
5944
1572
1571
CL409
1544

5939
5942
5945
1573
1574
1575
1549

FREQ

SPRSQ

RSQ

2
2
2
2
2
3
2

0.0000
0.0000
0.0000
0.0000
0.0000
0.0001
0.0001

1.00
1.00
1.00
1.00
1.00
1.00
1.00

T
i
e
T
T

T
T

...

On rappelle qu`
a linitialisation, chaque observation est classee dans sa propre classe (cette etape
initiale napparat pas dans lhistorique). Chaque ligne correspond ici `a une etape de fusion de
` la premi`ere etape, les classes (i.e. les
lalgorithme de classification, et se lit comme suit. A
observations) 5938 et 5939 sont fusionnees, donnant naissance `a la classe CL413, CL signifiant
cluster, et 413 correspondant `
a la fois au nombre de classes `a la fin de cette etape et au nom de
letape (colonne NCL). Cette nouvelle classe est composee de 2 observations (colonne FREQ).
Le pourcentage de diminution de linertie inter-classe IB `a lissue de cette etape, cest-`a-dire le
rapport
0
1
IB
IB
IT
33

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

Figure 4.2 Dendrogramme resultant de la classification hierarchique par distance de Ward


sur 414 poules.
1 /I depuis le d
est de 0 (colonne SPRSQ), tandis que la diminution du rapport IB
ebut se lit dans
T
la colonne RSQ. Enfin, le logiciel SAS precise qu`a cette etape, plusieurs fusions equivalentes
etaient possibles, car il existe plusieurs paires dobservations pour lesquelles la distance est
minimale (colonne Tie). Dans ce cas, lune des paires est choisie au hasard.
Plus tard, `
a letape 408, la classe CL409 est fusionnee avec la classe 1575. La classe 1575
contient lobservation 1575, et la classe CL409 a ete construite `a letape 409, en fusionnant les
` letape 408, nous regroupons donc les observations {1571, 1574} et
observations 1571 et 1574. A
1575, pour obtenir une classe de 3 observations. Le pourcentage de diminution de linertie interclasse associee `
a cette etape est de 0.0001. Ainsi, les classes construites au fur et `a mesure peuvent
etre reconstituees en considerant les dierentes etapes de fusion. Le dendrogramme resume cet
historique (Figure 4.2). Comme on le voit, cette representation est difficilement exploitable dans
son ensemble, mais nous verrons au paragraphe suivant quil peut etre fructueux dinterpreter
une sous-partie du dendrogramme.

4.1.4

Interpr
etation des r
esultats

Lobjectif premier de letude etait de verifier si la classification `a partir des distances genetiques
permet de reconstituer la classification en race connue. Pour cela, nous pouvons comparer la classification en 14 classes issue de la CAH `a la classification en 14 races. La repartition obtenue est
donnee par la table 4.1. Cette repartition montre clairement une bonne coherence entre classifications genotypiques et phenotypiques : deux races forment des classes parfaitement homog`enes
(BNA et B99), et 8 autres races forment des classes homog`enes `a 1 ou 2 individus pr`es (GLD,
HOU, MR, GAS, GLG, GOU, GLN et GLT).
On constate deux exceptions notables : les races Noire de Challans et Gaulloise Doree se
repartissent en deux classes dierentes. Concernant les Noires de Challans, la classe 2 contient
11 poules, toutes de cette race, tandis que la classe 6 contient 19 Noires de Challans et lensemble
des poules de race Coucou de Rennes. Une etude plus poussee peut ici etre realisee en prenant en
compte leleveur dorigine des dierentes poules. Rappelons quici les poules dune meme esp`ece
proviennent de dierents elevages. Les dierents eleveurs achetant frequemment des poules de
la meme esp`ece mais provenant dun elevage dierent, le brassage genetique est assure entre les
poules dune meme esp`ece.
Les Noires de Challans constituent une exception. En eet, pendant plusieurs decennies seuls
34

Table 4.1 Croisement


35 classification - races.

3 eleveurs (Daviaud, Soret et Milcent, appeles dans la suite eleveurs noyaux) ont eleve des
poules de cette esp`ece, en noperant que tr`es peu dechanges dun elevage `a lautre. Puis dautres
eleveurs ont acquis des specimens de lesp`ece aupr`es des 3 eleveurs noyaux, toujours sans operer
de brassage genetique par croisement. Dans letude consideree, les poules Noires de Challans ont
ete collectees dans 6 elevages dierents, mais il est possible de retracer leur appartenance `a lun
des 3 elevages noyaux. Cette appartenance est donnee dans le tableau suivant (lappartenance
est indiquee par la colonne Origine) :
Obs
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30

identifiant

origine

Eleveur

1550
1551
1552
1553
1554
1555
1556
1557
1558
1559
1560
1561
1562
1563
1564
1565
1566
1567
1568
1569
1570
1571
1572
1573
1574
1575
1576
1577
1578
1579

BoisJoub
BoisJoub
BoisJoub
BoisJoub
BoisJoub
BoisJoub
BoisJoub
BoisJoub
Durancea
Durancea
Durancea
Milcent
Milcent
Milcent
Milcent
Milcent
Daviaud
Daviaud
Daviaud
Daviaud
Daviaud
Soret
Soret
Soret
Soret
Soret
Deloison
Deloison
Deloison
Deloison

Milcent
Milcent
Soret
Daviaud
Daviaud
Milcent
Soret
Soret
Milcent
Milcent
Milcent
Daviaud
Daviaud
Daviaud
Daviaud
Daviaud
Milcent
Milcent
Milcent
Milcent
Milcent
Soret
Soret
Soret
Soret
Soret
Soret
Soret
Soret
Milcent

Ainsi, la poule 1555, genotypee dans lelevage du Bois Joubert, est issue de lelevage noyau
Daviaud.
La comparaison du classement des Noires de Challans obtenu par CAH avec le classement
resultant de lelevage dorigine est representee en Figure 4.3 (gauche). On constate que la classe
36

Figure 4.3 Gauche : Comparaison classe / elevage dorigine pour les Noires de Challans.
Droite : Sous-partie du dendrogramme representant la classe contenant 19 Noires de Challans
et 30 Coucous de Rennes.
2 est uniquement composee des poules issues de lelevage Soret. Par ailleurs, lanalyse de la
sous-partie du dendrogramme contenant la classe 6 (Figure 4.3, droite) montre que les Coucous
de Rennes et les Noires de Challans, bien que reunies dans une meme classe, forment des sousclasses bien separees. En particulier, une classification ne portant que sur les poules de la classe
6 ferait apparatre un decoupage entre Noires de Challans issues de lelevage noyau Milcent,
Noires de Challans issues de lelevage noyau Daviaud, et Coucous de Rennes.
Une telle typologie, relevant plus des elevages dorigine que des races, pourrait faire douter de
lhomogeneite de la race Noire de Challans. En fait, on observe ici un eet de derive genetique. Les
dierents animaux dune meme esp`ece nont pas ete brasses pendant de nombreuses generations
du fait de la politique des eleveurs. Les poules des dierents elevages noyaux ont ainsi accumule
des dierences genetiques telles quelles transparaissent dans la typologie des races. Nonobstant
ce cas tr`es particulier, le reste de la typologie illustre que les dierentes races ont bien des
caracteristiques genetiques dierentes.

4.2
4.2.1

Caract
erisation de la phyllotaxie dArabidopsis
Pr
esentation du probl`
eme

La phyllotaxie est lordre dans lequel sont implantes les feuilles ou les rameaux sur la tige
dune plante. En eet, la disposition des feuilles le long de la tige ne se fait pas au hasard : pour
optimiser la capture des photons, il faut eviter que les feuilles du dessus viennent masquer ou ombrager les feuilles du dessous. Cette disposition est tr`es variee selon les esp`eces. Pour la plupart,
les structures phyllotaxiques appartiennent `a deux familles : les structures verticillees (les feuilles
apparaissent en meme temps au meme endroit sur la tige) ou les structures spirallees (les feuilles
apparaissent une `
a une le long de la tige en formant des spirales). Pour cette phyllotaxie spiralee
37

plantes
1
1
1
1
..
.

angles
110
130
130
160
..
.

Figure 4.4 Jeu de donnees (gauche) et histogramme des angles (droite)


(observee chez la plupart des vegetaux), lorigine dune telle structure sexplique par le fait que les
feuilles se placent successivement le long de la tige avec un angle constant qui est langle dor, egal
`a 137.5(cf http : //www.unice.f r/cours biologie/Cours DSO/cours DSO/06 3 phyllotaxie.htm ou
http : //www.math.smith.edu/phyllo/).
Dans cette etude, nous nous interessons `a la structure phyllotaxique des fleurs chez Arabidopsis thaliana. Cette plante appartient `
a la phyllotaxie spiralee [9], on sattend donc `a observer que
les angles successifs entre les fleurs soient proches de langle dor. Nous disposons de 9 plantes.
Pour chaque plante, les angles successifs `a partir de la formation des fleurs ont ete mesures. Le
nombre de donnees (angles) total est de n = 217. La table donnee dans la figure 4.4 (gauche)
presente les premi`eres lignes du jeu de donnees : la colonne plantes correspond au numero de la
plante et la colonne angles aux angles successifs des fleurs (en degre).
La moyenne des angles est de 149.4. Cette valeur est surprenante, on sattendait en eet
`a retrouver une valeur plus proche de la valeur theorique de 137.5. Quand on regarde lhistogramme de la distribution des angles (figure 4.4), on observe deux modes, un autour de la valeur
140 et un second plut
ot autour de la valeur 250. Ces deux modes indiqueraient lexistence de
deux groupes dangles (un groupe dangles homog`ene aurait conduit `a une seule distribution).
De plus, ces deux groupes semblent bien separes. On peut cependant remarquer que le premier
groupe correspond `
a ce qui etait attendu, `a savoir une distribution homog`ene dont langle moyen
serait proche de la valeur 140.
On cherche `
a voir si il existe reellement deux groupes dangles. Ainsi le but est de realiser une
classification. La variable dinteret (variable angles) etant une variable quantitative, il est donc
possible dutiliser toutes les methodes de classification presentees dans les chapitres 2 et 3.
Nous proposons ici de considerer la classification par mod`ele de melange de distributions gaussiennes en considerant des variances communes k2 = 2 . Au vu de lhistogramme, supposer la
normalite de la distribution de chaque groupe dangles semble satisfaisant.

38

4.2.2

Classification par mod`


ele de m
elange et interpr
etation des r
esultats

Cette classification est realisee `


a laide du logiciel R. Nous avons utilise une fonction dej`
a
existante dans ce logiciel, la fonction Mclust. Quelques details sur cette fonction ainsi que le
programme sont donnes en partie 5.3. Avant de presenter les resultats de la classification, nous
illustrons le probl`eme de la dependance de lalgorithme EM `a linitialisation en comparant les
resultats de deux classifications obtenues `a partir de deux initialisations possibles.
Influence linitialisation de lalgorithme EM
Dans cette partie, nous illustrons le fait que linitialisation peut avoir une forte influence
a` la fois sur les resultats de la classification et sur la selection du nombre de groupes. Nous
considerons deux methodes dinitialisation :
init1 : celle utilisee par defaut dans Mclust (cf partie 5.3),
init2 : une Classification Hierarchique Ascendante. Pour appliquer cette strategie, il est
necessaire de choisir une distance entre groupes (cf chapitre 2). Nous proposons ici dutiliser
une distance basee sur le rapport de vraisemblances : les groupes C et C 0 sont reunis si la
distance
(
)
b C ) L(X
b C0 )
L(X
0
d(C, C ) = log
b C S C0 )
L(X
est la plus petite parmi toutes les distances entre groupes deux `a deux possibles et o`
u

L(XC ) est la vraisemblance des donnees appartenant au groupe C calculee en son maximum.

Influence sur les r


esultats de la classification. Nous fixons le nombre de groupes `a 3 pour
illustrer que linitialisation peut avoir une forte influence sur la classification (avec un nombre de
groupes fixe `
a 2, les deux initialisations donnent le meme resultat). La figure 4.5 represente les
resultats des classifications obtenues avec init1 (colonne de gauche) et init2 (colonne de droite).
Sont representes en haut les probabilites a posteriori, les kt , pour chaque groupe k (noir : groupe
1, gris fonce : groupe 2 et gris clair : groupe 3) et en bas lhistogramme des donnees avec les
densites des 3 groupes ponderees par les proportions
k f (.;
k , 2 ). Rappelons que cest `a partir
des probabilites a posteriori que lon obtient la classification : on classe un individu dans le
groupe qui a la plus forte probabilite a posteriori. On voit clairement que les classifications que
lon obtiendra seront dierentes de part les deux premiers groupes (noir et gris fonce) :
avec init2, les 2 premiers groupes correspondent respectivement `a un petit groupe (avec
peu de mesures) de petits angles (compris entre 20 et 60) et un grand groupe avec des
angles compris entre 80 et 200.
avec init1, cest le contraire : le groupe 1 correspond `a un groupe dangles compris entre
20 et 160 et le groupe 2 `
a un petit groupe dangles compris entre 170 et 200. Cependant
comme on le voit sur le graphe des probabilites a posteriori, le classement dans les groupes
1 et 2 pour des angles inferieurs `
a 200 se fera avec beaucoup moins de certitude (probabilite maximale `
a 0.8). Cela sexplique par le fait que les deux densites associees modelisent
la meme distribution (les densites estimees de ces deux groupes sont pratiquement superposees). La classification ainsi obtenue nest donc pas pertinente.

39

init1
init2

log L(X; K )
-1089.313
-1082.355

Table 4.2 Log-vraisemblances des classifications `a 3 groupes obtenues pour les deux initialisations considerees.

La table 4.2 donne les log-vraisemblances calculees pour ces deux classifications : la classification
`a 3 groupes obtenue avec init2 est donc plus probable que celle obtenue avec init1.
Influence sur la s
election du nombre de groupes. Avec init2, le crit`ere BIC selectionne
3 groupes alors quavec init1 il nen selectionne que 2, la classification a 3 groupes avec cette
initialisation netant pas assez probable.
Classification obtenue et interpr
etation des r
esultats
Seules les classifications obtenues avec linitialisation init2 sont considerees. Tout dabord, il
nous faut choisir le nombre de groupes. En eet, lexistence de groupes dangles dierents netait
pas au depart attendue mais a ete suggeree par les donnees. Ainsi la notion de groupe na pas
de signification precise et donc le nombre de groupes ne peut etre determine `a lavance (meme
si lhistogramme de la distribution des angles sugg`ere lexistence de deux groupes seulement).
Nous sommes ici dans un objectif de classification, cest pourquoi nous utilisons le crit`ere ICL
qui selectionne ici 2 groupes.
La table 4.3 resume lestimation des dierents param`etres du melange `a 2 groupes : les
moyennes estimees
k , les groupes dangles obtenus et le nombre dindividus dans chacun des
groupes :

k
valeurs de angles
Eectif

groupe 1
132.7
[20 ;200]
188

groupe 2
257.27
[210 ;300]
29

Table 4.3 Estimation des param`etres du melange `a 2 groupes.


Ainsi nous obtenons deux groupes dangles : un premier groupe dangles dont la moyenne est
132.7, cest le type dangle le plus observe (86.6% des angles) et un second groupe dangles plut
ot
eleve, avec une moyenne de 257.27 et qui contient 13.3% des mesures dangles. Arabidopsis etant
de la famille des phyllotaxies spiralees, on sattendait `a ne trouver quun seul groupe dont la
moyenne des angles serait centree en 137.5. Une explication de lexistence de ce second groupe
est quil correspond `
a langle attendu dans le cas dune inversion de direction de la phyllotaxie.
En eet, langle attendu dans ce cas est de 360 137.5 = 222.5.
On pourrait penser que certaines plantes ont une inversion compl`ete de direction de leur
phyllotaxie, cest-`
a-dire que tous leurs angles successifs sont proches de langle 222.5. La figure
4.6 (gauche) represente les angles par plante codes selon la classification obtenue, triangle pour
40

Figure 4.5 Probabilites a posteriori et densites ponderees des 3 groupes avec respectivement
linitialisation 1 (`
a gauche) et 2 (`
a droite)

41

Figure 4.6 Classification `


a 2 groupes : classification des angles en fonction de la plante (`
a
gauche) et profils des angles par plante (`a droite).
le groupe 2 et rond pour le groupe 1. On observe que ce nest pas le cas, toutes les plantes sauf
une ont des angles qui appartiennent aux deux groupes. De plus, comme on le voit sur la figure
des profils des plantes (figure 4.6 `
a droite) qui represente le profil des angles pour chaque plante,
il y a des phases transitoires de changements de direction de la plante.
Ainsi lapparition de ce second groupe a permis de mettre en evidence que le mod`ele de
phyllotaxie (phyllotaxie spiralee) dArabidopsis etait transitoirement inverse [8].
Discussion sur le choix du nombre de groupes.
Comme on peut le voir sur la figure 4.7 (haut) qui represente levolution du crit`ere ICL en
fonction du nombre de groupes, ICL(2) et ICL(3) sont tr`es proches. De plus, le crit`ere BIC
selectionne 3 groupes (cf 4.2.2). Il peut donc etre interessant de regarder la classification `a 3
groupes. La table donnee en bas de la figure 4.7 resume les estimations des param`etres de ce
melange `a 3 groupes. On peut remarquer que le groupe 1 de la classification `a 2 groupes est scinde
en deux dans la classification `
a 3 groupes avec un premier groupe tout petit (avec 3 angles).
Cependant, ce groupe na pas dinterpretation biologique. Nous conservons donc la classification
`a 2 groupes.

42


k
valeurs de angles
Eectif

groupe 1
49.7
[20 ;60]
3

groupe 2
132.7
[80 ;200]
185

groupe 3
257.27
[210 ;300]
29

Figure 4.7 Estimation des param`etres du melange `a 3 populations (bas) et crit`ere ICL en
fonction du nombre de groupes (haut).

43

Chapitre 5

Annexes
5.1

Etude des deux


etapes de la proc
edure K-means

Lobjectif est de demontrer que lenchanement des deux sous-etapes de lalgorithme K-means
(redefinition des centres de classes, reaectation des points) resulte en une amelioration (i.e. une
diminution) de lintertie intra-classe. On suppose que la distance entre individus employee est
la distance euclidienne canonique.
Considerons la fin de letape j : les centres de classes j1 , ..., jK ont ete calcules, et les classes
ont ete obtenues en classant chacun des n points de lechantillon avec le centre de
` la fin de cette etape, on definit la quantite
classe dont il est le plus proche. A
j
C1j , ..., CK

Qj =

K X
X

k=1 i2C j

||xi

jk ||2 .

j+1
Dans un premier temps (sous-etape de redefinition), on recalcule les centres de classe j+1
1 , ..., K
j
en fonction des points appartenant `
a chacune des classes C1j , ..., CK
, deectifs respectifs njk . On
a:
K X
X
1 X
2
j+1
=
x
et
W
=
||xi j+1
,
i
j+1
k
k ||
njk
j
j
k=1
i2Ck

i2Ck

44

j
o`
u Wj+1 est linertie intra-classe associee aux classes C1j , ..., CK
. On a :

Qj

K X
X

||xi

jk ||2

K
X

||xi

j+1
+ j+1
k
k

K
X

k=1 i2C j

k=1 i2C j

jk ||2

k=1 i2C j

j+1
j+1
k || + ||k

||xi

jk ||2 + 2hxi

= Wj+1 +

K X
X

k=1 i2C j

||j+1
k

jk ||2 + 2

K
X
k=1

(xi

j+1
j+1
k , k

jk i

j+1
j+1
k ), k

i2Ckj

jk

Wj+1 ,
P
le vecteur i2C j (xi j+1
etant le vecteur nul, par definition de j+1
eme temps
k )
k . Dans un deuxi`
k
(sous-etape de reaectation), on reaecte les points aux centres dont ils sont les plus proches.
j+1
On obtient alors de nouvelles classes C1j+1 , ..., CK
et on definit
Qj+1 =

K
X
X

k=1 i2C j+1

||xi

2
j+1
.
k ||

Lors de cette sous-etape, toutes les distances diminuent puisque chaque point xi de lechantillon
2
est aecte au centre de classe j+1
minimisant lecart ||xi j+1
k
k || . On a donc Qj+1 Wj+1 .
Ainsi, pour tout j, nous avons prouve linegalite suivante
Qj+1 Wj+1 Qj .
On a donc en particulier Wj+2 Qj+1 Wj+1 , ce qui ach`eve la demonstration.

5.2
5.2.1

Programmes pour lanalyse des donn


ees Poules
Programme SAS

/* Importation des donnees */


/* loption lrecl permet de lire des donn
ees (des lignes de fichier) */
/* dune longueur sup
erieure `
a 256 caract`
eres. */
data Poules;
infile france_jra_distance.txt firstobs=5 lrecl=10000 expandtabs;
input identifiant var1-var414;
run;
/*
/*
/*
/*

Mise en forme des donnees */


Loption type=distance de l
etape data est cruciale : elle sp
ecifie, */
pour la proc cluster qui va ^
etre utilis
ee */
ensuite, que la table nest pas une table avec observations en ligne et variables */

45

/* en colonne, mais une table o`


u chaque ligne et chaque colonne correspondent */
/* `
a des individus, le croisement ligne-colonne donnant la distance entre ces individus.
data Poules (type=distance);
set Poules;
race = "RACE";
if (identifiant ge 1306) and
if (identifiant ge 1336) and
if (identifiant ge 1366) and
if (identifiant ge 1396) and
if (identifiant ge 1426) and
if (identifiant ge 1456) and
if (identifiant ge 1486) and
if (identifiant ge 1494) and
if (identifiant ge 1524) and
if (identifiant ge 1550) and
if (identifiant ge 1580) and
if (identifiant ge 1608) and
if (identifiant ge 1638) and
if (identifiant ge 1660) and
if (identifiant ge 5832) and
if (identifiant ge 5920) and
run;

(identifiant
(identifiant
(identifiant
(identifiant
(identifiant
(identifiant
(identifiant
(identifiant
(identifiant
(identifiant
(identifiant
(identifiant
(identifiant
(identifiant
(identifiant
(identifiant

le
le
le
le
le
le
le
le
le
le
le
le
le
le
le
le

1335)
1365)
1395)
1425)
1455)
1485)
1493)
1523)
1549)
1579)
1607)
1637)
1659)
1681)
5839)
5949)

then
then
then
then
then
then
then
then
then
then
then
then
then
then
then
then

race
race
race
race
race
race
race
race
race
race
race
race
race
race
race
race

=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=

"BAZ";
"BNA";
"B99";
"GLN";
"GLG";
"GLT";
"GAS";
"COU";
"CRC";
"NC";
"GLD";
"GOU";
"HOU";
"GAS";
"HOU";
"MR";

/* Verification */
proc print data = Poules (obs=10);
id identifiant;
run;
/* Mise en oeuvre de la CAH */
/* Loption copy permet de garder la variable race dans le fichier de sortie "tree", */
/* m^
eme si cette variable nest pas utilis
ee dans le calcul des distances. */
proc cluster data=Poules method=ward outtree=tree;
id identifiant;
var var1-var414;
copy race;
run;
/* Representation de lhistorique par le dendrogramme */
/* Loption height=rsq sert `
a sp
ecifier que la hauteur des branches doit ^
etre */
/* proportionnelle au pourcentage InertieInter / Inertie totale. */
/* Loption hpages=4 pr
ecise que dans la sortie SAS larbre doit ^
etre repr
esent
e */
/* sur 4 pages plutot quune, pour ^
etre plus lisible. */
/* Loption goptions htext=0.5 sp
ecifie la taille des caract`
eres */
/* dans la sortie SAS, pour
eviter que les noms des feuilles */
/* du dendrogramme se superposent. */
goptions htext=0.5 ;
proc tree data = tree nclusters=14 out = classement height=rsq hpages=4 ;
copy race;
run;

46

*/

/* Croisement classe*race */
ods rtf file =P:\math_enseignement\PolysMath\Classif\ExemplePoules\poule.rtf;
proc freq data = classement;
tables race * cluster;
run;
ods rtf close;
/* Etude des Noires de Challans */
/* La table eleveur contient l
elevage et l
elevage dorigine des 30 Noires de Challans*/
data Eleveur;
infile liste_poules_NC.txt firstobs=2 lrecl=10000 expandtabs;
format eleveur identifiant $32. ;
input GENETIX$ identifiant autre$ origine$
eleveur;
drop autre;
run;
/* Lobjectif des
etapes suivantes est lobtention dune table contenant */
/* `
a la fois linformation sur lorigine des poules et */
/* sur lappartenance des poules aux diff
erents clusters. */
/* Pour cela, on cr
ee la table NC en fusionnant les tables classementNC et Eleveur. */
/* Cette fusion se fait par identifiant (i.e. par poule),*/
/* lidentifiant doit donc avoir le m^
eme format dans chacune des */
/* deux tables `
a fusionner. */
data classementNC;
set classement;
if race=NC;
identifiant=input(_name_,$32.);
drop _name_;
run;
proc sort data=Eleveur;
by identifiant;
run;
proc sort data=classementNC;
by identifiant;
run;
data NC;
merge eleveur classementNC;
by identifiant;
run;
/* Comparaison Eleveur / Cluster */
proc freq data = NC;
tables eleveur*cluster;
run;

5.2.2

Programme R

## Importation et mise en forme des donnees ##


rm(list=ls())
Poules <- read.table(file=france_jra_distance.txt,sep=\t,header=F,skip=4)
colnames(Poules) <- c("identifiant",Poules[,1])
race <- rep("BAZ",414)

47

race[which((Poules$identifiant
race[which((Poules$identifiant
race[which((Poules$identifiant
race[which((Poules$identifiant
race[which((Poules$identifiant
race[which((Poules$identifiant
race[which((Poules$identifiant
race[which((Poules$identifiant
race[which((Poules$identifiant
race[which((Poules$identifiant
race[which((Poules$identifiant
race[which((Poules$identifiant
race[which((Poules$identifiant
race[which((Poules$identifiant
race[which((Poules$identifiant
head(Poules)

>=
>=
>=
>=
>=
>=
>=
>=
>=
>=
>=
>=
>=
>=
>=

1336)
1366)
1396)
1426)
1456)
1486)
1494)
1524)
1550)
1580)
1608)
1638)
1660)
5832)
5920)

&
&
&
&
&
&
&
&
&
&
&
&
&
&
&

(Poules$identifiant
(Poules$identifiant
(Poules$identifiant
(Poules$identifiant
(Poules$identifiant
(Poules$identifiant
(Poules$identifiant
(Poules$identifiant
(Poules$identifiant
(Poules$identifiant
(Poules$identifiant
(Poules$identifiant
(Poules$identifiant
(Poules$identifiant
(Poules$identifiant

<=
<=
<=
<=
<=
<=
<=
<=
<=
<=
<=
<=
<=
<=
<=

1365))] = "BNA";
1395) )] = "B99";
1425) )] = "GLN";
1455) )] = "GLG";
1485) )] = "GLT";
1493) )] = "GAS";
1523) )] = "COU";
1549) )] = "CRC";
1579) )] = "NC ";
1607) )] = "GLD";
1637) )] = "GOU";
1659) )] = "HOU";
1681) )] = "GAS";
5839) )] = "HOU";
5949) )] = "MR ";

## Mise en oeuvre de la CAH ##


## La fonction hclust travaille `
a partir dune matrice de distance
## o`
u seule la partie triangulaire inf
erieure est donn
ee. Pour
## obtenir une matrice de distance sous cette forme `
a partir de la
## matrice de distance Poules, on utilise la fonction as.dist
Dist <- as.dist(Poules[,-1], diag = FALSE, upper = FALSE)
cah.ward <- hclust(Dist^2,method="ward")
plot(cah.ward)
Membership <- cutree(cah.ward,k=14)

##
##
##
##

## Croisement classe - race ##


table(race,Membership)
## Etude des Noires de Challans ##
Eleveur <- read.table(file=liste_poules_NC.txt,skip=1,sep=\t,header=F)
colnames(Eleveur)<-c("genetix","adn","identifiant","origine","eleveur")
OrdreEl <- order(Eleveur$identifiant)
ClassementNC = cbind(Poules$identifiant,Membership)[race=="NC ",]
OrdreCl <- order(ClassementNC[,1])
table(ClassementNC[OrdreCl,2],Eleveur[OrdreEl,5])

5.3
5.3.1

Programme R pour lanalyse des donn


ees de Phyllotaxie
Programme

# Importation des donnees


donnees<-read.table("Donnees_angles.txt",header = TRUE, sep = " ")
# V
erification
head(donnees) #donne les premi`
eres lignes du tableau de donn
ees
names(donnees) #donne les noms des colonnes
# Moyenne,
ecart-type et histogramme des angles

48

mean(donnees$angles)
sd(donnees$angles)
hist(donnees$angles, breaks= seq(0, 360, by =30), xlab="angle")
# Mise en oeuvre du mod`
ele de m
elange
angles.Mclust1 <-Mclust(donnees$angles, G = 1:6, modelName = "E")
# Linitialisation de lalgorithme EM est celle utilis
ee par d
efaut dans Mclust
# (cf la description de la fonction Mclust donn
ee dans la section suivante)
# Initialisaion par CAH
hc.angles <- hc(modelName = "E", data= donnees$angles)
angles.Mclust2 <- Mclust(donnees$angles, 1:6,modelName = "E",...
... initialization = list(hcPairs = hc.angles, subset =NULL))
# Loption G=1:6 indique que les classifications `
a 1,2,...,6 groupes sont r
ealis
ees.
# Loption modelName="E" signifie que lon fait lhypoth`
ese
# que les variances des groupes sont les m^
emes.
names(angles.Mclust1) # permet de savoir quels sont les r
esultats dont on dispose
# Par exemple
angles.Mclust1$G
# donne le nombre de groupes s
electionn
e par BIC (par d
efaut dans Mclust).
angles.Mclust2$parameters$mean
# donne les moyennes estim
ees des deux groupes

# Calcule du crit`
ere ICL pour une classification `
a 1,2,...,6 groupes
Entropie = c()
Entropie[1] = 0
Gseq = 2:6
for (G in Gseq)
{
res2 <- Mclust(donnees$angles, G,modelName = "E",...
...initialization = list(hcPairs = hc.angles, subset =NULL))
Entropie[G] = 2 * sum(sum(res2$z * log(res2$z))) + }
ICL = angles.Mclust2$BIC + Entropie
#graphe du crit`
ere
plot(ICL, xlab = "Nb groupes", ylab ="ICL")
lines(ICL, lty = "solid")

# Repr
esentation graphique des r
esultats
plot(donnees$plantes, donnees$angles,...
... col = angles.Mclust2$classification,pch =angles.Mclust2$classification)

5.3.2

D
etails sur la fonction Mclust

La fonction Mclust ne realise que des classifications par mod`ele de melange de distributions
gaussiennes. Des hypoth`eses sur ces distributions peuvent cependant etre specifiees, comme par
exemple supposer des variances communes dans les groupes, ou des structures particuli`eres de
la matrices de variance-covariance dans le cas multivarie. Pour avoir acc`es `a la description de
la fonction Mclust, il faut utiliser la commande ?Mclust. De plus, lutilisation de cette fonction
necessite linstallation du package mclust (cf 5.3.3 pour linstallation de ce package).

49

Nous precisons ici les methodes utilisees par defaut dans Mclust concernant tout dabord
linitialisation de lEM (cf paragraphe 3.2), puis le crit`ere du choix du nombre de groupes.
Initialisation de lEM. Comme vu dans le paragraphe 3.2, lalgorithme EM necessite une
etape dinitialisation. La fonction Mclust consid`ere une methode dinitialisaion par defaut
qui di`ere selon le cas multivarie (o`
u la classification des individus est realisee sur plusieurs
variables) et le cas univarie qui sont respectivement les suivantes :
Dans le cas multivarie , Mclust consid`ere comme classification initiale celle obtenue par
CAH. La distance utilisee est une distance basee sur le rapport de vraisemblances (cf
paragraphe 4.2.2 o`
u cette distance est precisee).
Dans le cas univarie, cest une initialisation basee sur les quantiles qui est consideree :
lidee consiste `
a trier par ordre croissant les donnees qui seront separees en K groupes
de tailles egales pour une classification en K groupes.
Il est possible de considerer une autre methode dinitialisation (option initialization).
Choix du nombre de groupes. Le nombre de groupes est obtenu par le crit`ere BIC. Seul ce
crit`ere est propose dans Mclust mais il est possible davoir acc`es `a la vraisemblance des
dierentes classifications et ainsi recalculer un autre crit`ere.

5.3.3

Installation du package mclust

Pour installer le package mclust, il faut


dans le volet Packages de R, aller dans installer le(s) package(s), selectionner par
exemple France(Toulouse), une liste de packages apparat, il ne vous reste plus qu`
a
selectionner le package recherche,
dans le volet Packages, selectionner Mettre `a jour les packages,
tapez dans R la commande suivante :
> library(mclust)
pour que R connaisse les fonctions de ce package.

50

Bibliographie
[1] C. Biernacki, G. Celeux, and G. Govaert. Assessing a mixture model for clustering with
the integrated completed likelihood. IEEE Trans. on PAMI, 22 :719725, 2000.
[2] G. Celeux and D. Diebolt. The SEM algorithm : a probabilistic teacher algorithm derived from the em algorithm for the mixture problem. Computational Statistics Quarterly,
2(1) :7382, 1985.
[3] G. Celeux and G. Govaert. A Classification EM algorithm for clustering and two stochastic
versions. Computational Statistics and Data Analysis, 14 :315332, 1992.
[4] A. P. Dempster, N. M. Laird, and D. B. Rubin. Maximum likelihood from incomplete data
via the EM algorithm. Journal of the Royal Statistical Society Series B, 39 :138, 1977.
[5] Philippe Michel. Polycopie de Statistique Exploratoire Multivariee, Annee 1999-2000. Ecole
Nationale de la Statistique et de lAnalyse de lInformation.
[6] M. Nei. Genetic distance between populations. Am. Nat., 106 :283292, 1972.
[7] M. Nei. Estimation of average heterozygosity and genetic distance from a small number of
individuals. Genetics, 89 :583590, 1978.
[8] A. Peaucelle, H. Morin, J. Traas, and P Laufs. Plants expressing a mir164 resistant cuc2
gene reveal the importance of post-meristematic maintenance of phyllotaxy in Arabidopsis.
Development, 134 :10451050, 2007.
[9] D. Reinhardt. Regulation of phyllotaxis. Int. J. Dev. Biol., 49 :539546, 2005.
[10] Y.C. Yao. Estimating the number of change-points via Schwarz criterion. Stat. & Probab.
Lett., 6 :181189, 1988.

51

You might also like