Vous êtes sur la page 1sur 12

Partitionnement

(clusterization)
Christophe Genolini
10 novembre 2010

Table des matires

Table des matires 1

1 Introduction 1

2 Distances et similarits 2
2.1 Variables continues . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
2.2 Variables binaires . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
2.3 Variables nominales non binaires . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
2.4 Combinaison de plusieurs types de variable . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
2.5 Distance entre groupes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5

3 Partitionnement 5
3.1 Classification hirarchique ascendante . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
3.2 k-means . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
3.3 Modles de mlange . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9

A Codes R 10
A.1 Classification hirarchique ascendante . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
A.2 k means . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
A.3 Modle de mlange . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12

1 Introduction
Objectif. Partitionner, cest dcouper des donnes en sous-groupes homognes. Cela permet, lintrieur dune
population, de dfinir des groupes. Par exemple, on peut identifier le type de maladie dun patient parce que
diffrents type de symptmes ont t identifis comme apparaissant souvent ensemble. On les a donc regroup
sous un mme nom, celui dune maladie.
Du point de vue statistique, partitionner permet de rsumer un grand nombre de variables en une seule (qui sera
[groupe]) que lon peut ensuite inclure dans une rgression : au lieu de rentrer [symptome1], [symptome2], ...,
[symptomeN] dans la rgression (et que rien ne soit significatif pour cause de colinarit), il suffit de rentrer
[groupe].

Exemple. Un patient a :

Fivre, douleur, maux de gorges : On ne sait pas


Fivre, douleur, maux de gorges, maux de tte, grande fatigue, courbature, toux sche. On sait que cest la grippe
(et on sempresse de ne rien faire !)
Fivre, douleur, maux de gorges, coulement nasal. On sait que cest un rhume (et on ne peut rien faire non
plus...)

1
Mthode sous-jacente : on note les symptmes de nombreux patients puis on cherche des grandes familles de
symptmes. Chaque grande famille est probablement une maladie.
Pour regrouper les individus qui se ressemblent, plusieurs mthodes sont possibles.
Certaines se basent sur la proximit entre les individus.
Dautres utilisent la vraisemblance.

2 Distances et similarits
Pour mesurer la proximit entre deux individus, on utilise deux types de fonctions : les distances et les similarits.

Une distance est une fonction qui prend pour argument deux individus et qui renvoie une valeur leve si les
deux individus sont dissemblables, petite si les individus se ressemblent.
Une similarit est une fonction qui prend pour argument deux individus et qui renvoie une valeur leve si
les deux individus sont semblables, petite si les individus sont dissemblables. En gnral, les similarits sont
valeur dans [0,1], 0 signifiant une disconcordance parfaite et 1 une concordance parfaite.

Mathmatiquement, on peut assez facilement passer de lune lautre. Dans ce cours, on utilisera donc soit lune,
soit lautre, selon ce qui est le plus intuitif dfinir.

2.1 Variables continues


On considre deux individus I1 et I2 que lon mesure sur trois variables U, V et W.

Distance Euclidienne : DistEucl (I1 , I2 ) = (U1 U2 )2 + (V1 V2 )2 + (W1 W2 )2


p

Distance Manhattan : Dist Manh (I1 , I2 ) = |U1 U2 | + |V1 V2 | + |W1 W2 |


Distance Maximum : Dist Max (I1 , I2 ) = max{|U 1 U 2 |, |V1 V2 |, |W1 W2 |}
Distance Minkowski : Dist M(k) (I1 , I2 ) = (U1 U2 )k + (V1 V2 )k + (W1 W2 )k
pk

1 ,I2 )
Beaucoup dautres sont possibles comme 1correlation(I
2 . noter, la Minkowski est une gnralisation des trois
autres ; k = 2 donne lEuclidienne, k = 1 donne la Manhattan et k = + inf donne le maximum.

Exemple

Id math francais histoire


I1 5 12 14
I2 6 15 12

On obtient :

DistEucl (I1, I2) = (5 6)2 + (12 15)2 + (14 12)2 = 3, 74


p

Dist Manh (I1, I2) = |5 6| + |12 15| + |14 12| = 6


Dist Max (I1, I2) = max{|5 6|, |12 15|, |14 12|} = 3

Problme : dans lexemple prcdent, toutes les variables sont mesures dans la mme unit. Quand a nest pas
le cas, certaines variables peuvent avoir un poids plus important que dautres. Pire, un simple changement dunit
peut tout changer :

Exemple :

2
Id poids taille (cm) Id poids taille (m)
I1 80 180 I1 80 1,80
I2 81 180 I2 81 1,80
I3 80 170 I3 80 1,70

DistEucl (I1, I2) = 12 + 02 = 1 DistEucl (I1, I2) = 12 + 02 = 1
DistEucl (I1, I3) = 02 + 102 = 10 DistEucl (I1, I3) = 02 + 0.12 = 0.1

La taille a plus dimportance que le poids ; La taille a peu dimportance ;


I1 est plus proche de I2 que de I3. I1 est plus proche de I3 que de I2.
Pour viter cela, il est possible de calculer la distance sur des variables normalises. Diffrentes mthodes de nor-
malisation sont possibles : on peut utiliser la classique division par lcart type mais la division par ltendue a un
intrt supplmentaire : cest celui de borner la contribution de chaque composante de la distance par [0,1] ce qui
permet ensuite une transformation facile en similitude. Cest particulirement utile dans le cas de combinaison de
distances comme nous le verrons au paragraphe 2.4...

Dans notre exemple, on obtient DistEuclNorm (I1, I2) = 1 et DistEuclNorm (I1, I3) = 1.

2.2 Variables binaires


On considre deux individus I1 et I2 que lon mesure sur six variables B1 B6 . On dresse le tableau crois des deux
individus. On note :

a le nombre de variables Bi pour lesquelles Bi (I1 ) = 1 et Bi (I2 ) = 1


b le nombre de variables Bi pour lesquelles Bi (I1 ) = 1 et Bi (I2 ) = 0
c le nombre de variables Bi pour lesquelles Bi (I1 ) = 0 et Bi (I2 ) = 1
d le nombre de variables Bi pour lesquelles Bi (I1 ) = 0 et Bi (I2 ) = 0

Au final, une similitude possible entre I1 et I2 est la concordance simple : S CS (I1 , I2 ) = a+d
a+b+c+d

Exemple

Id B1 B2 B3 B4 B5 B6
I1 1 1 1 1 0 1
I2 1 0 1 0 0 1

On a a = 3 (pour B1 , B3 et B5 ), b = 2 (pour B2 et B4 ), c = 0 et d = 1 (pour B5 ), donc S CS (I1 , I2 ) = 3+1


3+2+0+1 . Cette
similitude peut sinterprter comme le pourcentage de points communs entre I1 et I2 .

Problme : dans le calcul prcdent, a et d on un rle symtrique. Or, a nest pas toujours justifi. Plus prci-
sment, avoir le mme caractre peut rendre deux individus proches alors que ne pas avoir le mme caractre na
pas de signification. Par exemple, si deux individus sont tous les deux membres du rotary club, ils sont proches. Si
deux individus sont tous les deux non membres du rotary club, ils ne sont pas spcialement proches. Ce genre de
caractristiques (tre membre dun club, parler lespranto, faire de la plonge sous-marine, tre sropositif) est dit
dissymtrique. Par opposition, les caractristiques comme le sexe, avoir le bac, tre propritaire de son logement

3
sont symtriques.

En utilisant la formule ci-dessus sur des variables dissymtriques, on trouve des rsultats tranges :

Id 6 pates Ailes Poils Antennes


I1 0 0 0 0
S CS (I1 , I2 ) = 0+3
0+1+0+3 = 0, 75
I2 0 1 0 0
S CS (I3 , I4 ) = 2+0
2+1+1+0 = 0, 50
I3 1 0 1 1
I4 1 1 0 1

Or, aprs enqute, I1 est un ver de terre, I2 est un ptrodactyle, I3 est une fourmi et I4 est une abeille... Dire quun
ver de terre et un ptrodactyle sont plus proches quune abeille et une fourmi est assez trange.

Solution : on ne compte plus le fait de ne pas avoir un critre en commun. On obtient le coefficient de Jaccard
ou similitude de Jaccard : S J (I1 , I2 ) = a+b+c
a
. Appliqu nos individus :

S J (I1 , I2 ) = 0
0+1+0 =0
S J (I3 , I4 ) = 2
2+1+1 = 0, 50

Cela qui semble un peu plus raisonnable.

2.3 Variables nominales non binaires


Pour une nominale plusieurs niveaux, on compte le nombre de paires concordantes et on le divise par le nombre
total de paires.

Exemple :

Id Activit 8 ans Activit 9 ans Activit 10 ans


I1 Judo Judo Tennis
I2 Gym Tennis Tennis

On obtient : S (I1 , I2 ) = 1
3 = 0, 33.

2.4 Combinaison de plusieurs types de variable


Si on a des variables de natures diffrentes, on utilise la similarit de Gower. Elle a pour avantage de mixer
diffrents types de similarits et de prendre en compte les valeurs manquantes. Pour la calculer, on dfinit des si-
milarits S i pour chaque variable Vi . Ensuite, on combine les similarits pertinentes grce un facteur dinclusion
wi . Plusieurs cas de figure :

Pour une variable nominale, S i (I1 , I2 ) vaut 1 si Vi (I1 ) et Vi (I2 ) sont gaux, 0 sinon.
Pour une variable continue, on considre la distance de Manhattan normalise par ltendue de la variable (nor-
malisation qui permet dviter les problmes dchelle vus au paragraphe 2.1) : |VEtendue(V i (I1 )Vi (I2 )|
i)
. Puis on transforme
cette distance en similarit : S i (I1 , I2 ) = 1 |Vi (I1 )Vi (I2 )|
Etendue(Vi )

Le coefficient de Gower est ensuite la moyenne des diffrentes similarits S i obtenues. Toutefois, certaines simila-
rits sont exclure. Cest le rle de wi :

Si Vi (I1 ) ou Vi (I2 ) est manquante, alors wi vaut zro.


Si Vi est une variable binaire non symtrique et que Vi (I1 ) et Vi (I2 ) valent toutes les deux zro (on est dans le cas
o ne pas avoir le mme caractre est sans importance), alors wi vaut zro.
Dans tous les autres cas, wi vaut 1.

wi .S i (I1 ,I2 )
P
Au final, la similarit de Gower est S G (I1 , I2 ) = i P
i wi

4
Exemple :

Id Age T aille S exe Rougeole Oreillon


I1 8 < NA > H Oui Non
I2 9 1, 12 F Oui Non
I3 13 1, 30 F Non Oui

On cherche la similarit de Gower entre I1 et I2 :

Age T aille S exe Rougeole Oreillon


|89| <NA>1.12
Si 1 138 1 1.121.30 0 1 1
wi 1 0 1 1 0

Au final, S G = 10,8+0<NA>+10+11+01
1+0+1+1+0 = 0, 6

2.5 Distance entre groupes


Pour finir avec les distances, certaines mthodes utilisent la notion de distance entre groupes dindividus. L
encore, plusieurs possibilits :

Distance des centres : Distance minimum : Distance maximum : Distance moyenne :


distance entre les centres distance la plus courte distance la plus longue moyenne des distances
de gravit des groupes. entre les deux groupes. entre les deux groupes. entre toutes les paires
dindividus.

De manire gnrale, les distances min et max sont sensibles aux valeurs aberrantes. La distance moyenne est
coteuse calculer. Au final, laquelle doit-on utiliser ? Ca dpend des domaines et des problmes...

noter que le choix dune distance nest pas anodin :

Le groupe A est plus proche du groupe B si on considre la distance min (en bleu), mais plus proche de C si on
considre la distance max (en rouge)...

3 Partitionnement
Dans la suite, pour plus de simplicit et afin de pouvoir reprsenter graphiquement la construction des clusters,
nous considrons que le partitionnement se fait sur deux variables continues.

3.1 Classification hirarchique ascendante


Initialement, chaque individu est un cluster. Puis on fusionne les deux clusters les plus proches. Et on itre jusqu
ce quil ne reste quun seul cluster.

5
! ! ! ! !
0 0 3 4 4
Exemple : on considre les points A = ,B = ,C = ,D = et E = ; on utilise la distance
0 1, 2 2 1 0
euclidienne entre les points, la distance des centres entre les groupes.

Initialement, chaque point est un cluster.

Les clusters D et E tant les plus proches, on les fusionne.


Le nouveau cluster obtenu est nomm DE. Dans la suite,
on considre son centre de gravit.

Les clusters A et B tant les plus proches, on les fusionne


en AB et on considre le centre de gravit de AB.

Les clusters C et DE tant les plus proches, on les fu-


sionne en CDE et on considre le centre de gravit de
CDE.

Les clusters AB et CDE tant les deux derniers ( !), on les


fusionne.

6
Une fois que la classification est termine, on peut reprsenter graphiquement les diffrentes tapes : pour cela,
on crit les noms des deux premiers clusters qui fusionnent. On trace sur leur droite (ou leur verticale) un trait
ayant pour longueur la distance qui spare les deux clusters. Puis on joint les deux traits. Dans notre exemple, on a
initialement fusionn D et E, et ils taient une distance de 1. Puis A et B taient distance 1.2 ; C et DE taient
distance 1,8 ; AB et CDE taient distance 3,69. Larbre obtenu est :

Cet arbre permet ensuite de choisir le nombre de clusters.

Avantages et inconvnients
+ Pas besoin de choisir a priori le nombre de clusters ;
- Deux points spars ne pourront plus tre rassembls ;
- Il faudra quand mme choisir un nombre de clusters.

Hirarchique descendante : le processus de la hirarchique ascendante peut sinverser. On part dun seul clus-
ters que lon coupe en deux. Puis on coupe encore jusqu obtenir des individus. Cette mthode est toutefois plus
complexe mettre en uvre puisque choisir la meilleure manire de couper un clusters en deux est quelque chose
de complexe.

3.2 k-means
On commence par choisir le nombre de groupe. Puis on rpartit alatoirement tous les individus dans lun des
groupes. Commence alors une alternance de 2 phases : esprance et maximisation.
Esprance : le centre de gravit de chaque groupe est calcul
Maximisation : chaque individu est affect au groupe dont il est le plus proche
Lalgorithme sarrte quand plus aucun individu ne change de cluster.

Exemple :

7
1. : on veut partition- 2. Randomisation : 3. Esprance : Les 4. Maximisation :
ner ces 12 points en trois chaque individu est centres de gravit de Chaque individu est
clusters. alatoirement affect chaque groupe sont affect au groupe dont il
un des groupes. calculs. est le plus proche.

5. Esprance : Les nou- 6. Maximisation : 7. Esprance : Et en- 8. Maximisation : Et


veaux centres de gravit Les individus sont core. toujours.
sont calculs. r-affects.

9. Esprance : Et en- 10. Maximisation : Et 11. Fin : Comme rien


core. toujours. ne change entre 8 et
10, lalgorithme sarrte.
Les clusters sont forms.

Problme : comment trouver le bon nombre de clusters ? Premier lment de rponse, le bon nombre de
clusters est une notion subjective, il nest pas vraiment dfini. Nanmoins, comme on a quand mme besoin de
race(VInter ) ng
choisir, on utilise un critre. Le meilleur du moment est Calinski & Harabatz : C(k) = TT race(V . .
Intra ) g1
Il se base sur la division de T race(VInter ) par T race(VIntra ). VInter reprsente la matrice des sparation entre clusters.
Si les clusters sont bien distincts les uns des autres, VInter prendra des valeurs leves. Si les clusters sont proches,
VInter prendra des valeurs faibles. rebourg, VIntra mesure la compacit des clusters. Si les clusters sont compacts,
VIntra prendra des valeurs leves. Si les clusters sont disperss, VInter prendra des valeurs faibles.
Au final, C(k) est grand quand les clusters sont compacts et bien spars ; C(k) est petit quand les clusters sont
disperss et mal spars.

1. Compacts et bien s- 2. Compacts et mal s- 3. Non compacts et bien 4. Non compacts et mal
pars pars spars spars
VInter est grand VInter est petit VInter est grand VInter est petit
VIntra est petit VIntra est petit VIntra est grand VIntra est grand
Donc C est grand Donc C est moyen Donc C est moyen Donc C est petit

8
Au final, C(k) est grand quand le dcoupage est compact et bien spar. Il permet donc de trouver le bon nombre
de clusters (ici, la prfrence va au premier dcoupage plutt quau deuxime ou au troisime) mais aussi de choisir
entre deux dcoupages ayant le mme nombre de clusters (le premier plutt que le quatrime).

3.3 Modles de mlange


Le partitionnement bas sur les modles de mlange fait lhypothse que la population est en fait le mlange de
plusieurs sous populations, sous-populations que la mthode se propose didentifier.
Dans cette section, nous poussons un peu plus loin la simplification du problme puisque nous considrons que le
partitionnement se fait sur une unique variable continue. Naturellement, tout se gnralise un nombre quelconque
de variables. Nous allons galement considrer les distributions dans leur forme discrte. Ainsi, la loi normale
centr rduite discrte est :

Intervalle Probabilit
[0; 1[ 0.341
[1; 2[ 0.136
[2; 3[ 0.021
[3; 4[ 0.001
[4; 5[ 0.0003

Vraisemblance dun individu : La classification par modle de mlange se base sur la notion de vraisemblance.
La vraisemblance est une fonction qui prend deux arguments : un individu et une population (dont on connat la
distribution). tant donn une population et un individu, la vraisemblance prend une valeur leve si lindividu
appartient vraisemblablement la population, une valeur faible sinon. Ainsi, si on a un individu et DEUX popula-
tions, la vraisemblance peut nous permettre de deviner la population dont lindividu est probablement issu.

Exemples de bon sens : un individu aux cheveux long provient plus probablement de la population femme
que de la population homme. Un patient atteint dun cancer des poumons provient plus probablement de la popu-
lation fumeur que non-fumeur. Un patient avec fivre, douleurs et maux de gorges provient plus probablement
de la population rhume que appendicite.

Exemple mathmatique : considrons deux populations et un individu :


La premire suit la loi normale discrtise ND (0, 1) ; la deuxime suit la normale discrtise ND (5, 1). Considrons
un individu dont la variable vaut 1,5. La premire population a 13,6% de chance de produire un tel individu. La
deuxime population a 0,1% de chance de produire un tel individu.

On peut donc raisonnablement penser que notre individu est issu de la premire population.

Vraisemblance dun groupe dindividu : Le processus est gnralisable un groupe dindividus en multipliant
les vraisemblances individuelles afin dobtenir la vraisemblance globale : ainsi, la vraisemblance que le groupe
dindividus {0.5,1.5,3.5} appartienne la premire population est de 0.34 0.13 0.001 = 6e5 alors que la
vraisemblance quil appartienne la deuxime population est de 0.00003 0.001 0.13 = 5e9 . Le groupe est
donc plus vraisemblablement issu de la premire population.

9
Maximiser la vraisemblance : maintenant que la vraisemblance dun groupe est dfinie, on peut maximiser la
vraisemblance. On dispose dun groupe dindividus. On suppose quils sont issus dune distribution que lon ne
connat pas, mais dont on connat nanmoins la forme gnrale. Par exemple, on sait que le groupe est issu dune
loi normale dont on ignore la moyenne et lcart type. Maximiser la vraisemblance, cest trouver les paramtres
de la loi (moyenne et cart type dans notre cas) tels que la vraisemblance soit maximale. On trouve ainsi la loi
dont, le plus vraisemblablement, est issu notre groupe.

Partitionner en utilisant le maximum de vraisemblance : Retour notre problme initial, le partitionnement.


Nous lavons vu dans lintroduction, lhypothse des modles de mlange est que la population que nous souhai-
tons partitionner est en fait le mlange de plusieurs sous-populations. La mthode du maximum de vraisemblance
consiste considrer plusieurs dcoupages possibles, puis valuer leur vraisemblance. La partition finale sera
celle qui aura la plus grande vraisemblance globale. La logique interne de cette mthode est quun cluster homo-
gne aura une grande vraisemblance alors quun cluster htrogne aura une petite vraisemblance.

Exemple : Considrons les points 1,2,6,13,17 et 18. Considrons deux dcoupages : le premier en deux partitions
{1,2,6} et {13,17,18}. Le deuxime en {1,6,17} et {2,13,18}. Dans le premier cas, les groupes sont probablement
issus des lois N(3, 2.6) et N(16, 2.6). Dans le deuxime cas, les groupes sont probablement issus des lois N(8, 8.2)
et N(11, 8.2) :

Clairement, sur cet exemple, il est bien plus probable que le bon dcoupage soit le premier : sur le graphe
de gauche, les trois points rouges sont regroups et la loi normale N(3, 2.6) est une population dont on peut
raisonnablement penser quils sont extraits. La vraisemblance est haute.
Sur le graphe de droite, les trois points rouges sont disperss. La loi normale N(8, 8.2) nest pas une trs bonne can-
didate pour extraire les points rouges, mais dans cette configuration, cest la meilleurs possible. La vraisemblance
est basse.
Au final, on peut donc raisonnablement penser que le dcoupage de gauche est meilleur que celui de droite.

Ainsi fonctionnent les modles de mlange bass sur le maximum de vraisemblance.

A Codes R
Codes utiliss pour tracer les graphes de ce document.

A.1 Classification hirarchique ascendante


###############
### Exemple de classification hierarchique

### Dfinition des points


a <- c(0,0)
b <- c(0,1.2)
c <- c(3,2)
d <- c(4,1)
e <- c(4,0)

10
### Etape 1
M1 <- rbind(a,b,c,d,e)
plot(M1,cex=2,pch=16,xlim=c(-1,5),ylim=c(-1,3),xlab="",ylab="")
dist(M1)
de <- apply(M[4:5,],2,mean)

### Etape 2
M2 <- rbind(a,b,c,de)
plot(M2,cex=c(2,2,2,3),pch=16,xlim=c(-1,5),ylim=c(-1,3),xlab="",ylab="")
dist(M2)
ab <- apply(M[1:2,],2,mean)

### Etape 3
M3 <- rbind(ab,c,de)
plot(M3,cex=c(4,2,3),pch=16,xlim=c(-1,5),ylim=c(-1,3),xlab="",ylab="")
dist(M3)
cde <- apply(M[3:5,],2,mean)

### Etape 4
M4 <- rbind(ab,cde)
plot(M4,cex=c(4,5),pch=16,xlim=c(-1,5),ylim=c(-1,3),xlab="",ylab="")
dist(M4)
abcde <- apply(M,2,mean)

### Etape 5
M5 <- rbind(abcde)
plot(M5,cex=c(9),pch=16,xlim=c(-1,5),ylim=c(-1,3),xlab="",ylab="")
dist(M4)

A.2 k means
#########################
### K means

### 1/ Dfinition de la population


a <- c(0,0,0,2,2,0,2,2)
M <- jitter(matrix(c(a+c(0,10),a+c(5,0),a+c(10,10)),2))
plot(t(M),xlab="",ylab="",col=1,pch=4,lwd=5,cex=2)

### Initialisation du vecteur couleur, utile pour les reprsentation graphiques


color <- rep(0,12)

### 2/ Rpartition alatoire des individus dans les groupes


alea <- floor(runif(12,1,4))
G1 <- (1:12)[alea==1]
G2 <- (1:12)[alea==2]
G3 <- (1:12)[alea==3]

### 2b/ Reprsentation graphique des individus


color[G1] <- 2
color[G2] <- 3
color[G3] <- 4
plot(t(M),xlab="",ylab="",col=color,cex=2,pch=4,lwd=5)

### 3/ Calcul des centres de gravit


C1 <- apply(M[,G1,drop=F],1,mean)
C2 <- apply(M[,G2,drop=F],1,mean)
C3 <- apply(M[,G3,drop=F],1,mean)

11
### 3b/ Reprsentation graphique des centres de gravit
points(t(C1),col=2,cex=3,pch=16)
points(t(C2),col=3,cex=3,pch=16)
points(t(C3),col=4,cex=3,pch=16)

### 4/ Calcul de la distance entre les individus et chacun des centres


distG1 <- apply(M,2,function(x)dist(rbind(C1,x)))
distG2 <- apply(M,2,function(x)dist(rbind(C2,x)))
distG3 <- apply(M,2,function(x)dist(rbind(C3,x)))

### 4b/ R affectation de tous les individus


G1 <- (1:12)[distG1 <= pmin(distG2,distG3)]
G2 <- (1:12)[distG2 <= pmin(distG1,distG3)]
G3 <- (1:12)[distG3 <= pmin(distG1,distG2)]

### Puis retour au 2b

A.3 Modle de mlange


###############
### Exemple de densit selon les clusters

### Dfinition des points


a <- c(1,2,6,13,17,18)
x <- (-500:2500)/100

### Densits du dcoupage correcte


plot(0,ylim=c(0,0.2),xlim=c(-5,25),ylab="",xlab="",type="n")
m1a <- mean(a[1:3])
s1a <- sd(a[1:3])
lines(x,dnorm(x,m1a,s1a),type="l",col=2)

m1b <- mean(a[4:6])


s1b <- sd(a[4:6])
lines(x,dnorm(x,m1b,s1b),type="l",col=4)
points(a,rep(0,6),col=c(2,2,2,4,4,4),pch=16,cex=2)

### Densits du dcoupage incorrect


plot(0,ylim=c(0,0.2),xlim=c(-5,25),ylab="",xlab="",type="n")
m2a <- mean(a[c(1,3,5)])
s2a <- sd(a[c(1,3,5)])
lines(x,dnorm(x,m2a,s2a),type="l",col=2)

m2b <- mean(a[c(2,4,6)])


s2b <- sd(a[c(2,4,6)])
lines(x,dnorm(x,m2b,s2b),type="l",col=4)
points(a,rep(0,6),col=c(2,4,2,4,2,4),pch=16,cex=2)

12

Vous aimerez peut-être aussi