Vous êtes sur la page 1sur 34

L’ANALYSE DES DONNEES

L’analyse des données peut être définie ici comme


une sorte d’extension de la statistique descriptive
unidimensionnel (vecteur de données) au cas
multidimensionnel (matrice de données). On
s’interéssera aux liens existants entre un ensemble
d’objet ou d’observations par deux types de méthodes:
A) Les méthodes de classification
1) méthodes hiérarchiques
2) méthodes non-hiérarchiques
B) Les méthodes factorielles
1) Analyse en Composantes Principales (ACP)
2) Analyse Factorielle des Correspondances(AFC)
Chapitre I
Classification automatique
Objective de la Classification
• Soit E un ensemble de n individus (objets) et à
partir d’une matrice de données sur ces objets on
cherche une partition de E en groupes
homogènes E1, E2, … EK de telle manière que :

- Deux individus appartenant au même groupe


Ei sont proches (distance) ou se ressembles
(similarité).
- Deux individus appartenant à des groupes
différents Ei et Ei’ sont éloignés ou se ressembles
peut.
Tableaux des données
Soit E un ensemble de n individus sur lequel on
a soit:
• Une matrice X(n,p) des observations de p
variables quantitatives (et/ou qualitatives) sur
n individus
Variables X1 …… Xj ….. Xp
Individus
I1 x11 x1p
. .
. .
I2 xi1 xij xip
. .
. .
In xn1 xnp
Tableaux des données
ou
• Une matrice X(n,n) carrée symétrique de
similarités ou de dissimilarité (distances, par
exemple)
Individus I1 …… Ij ….. In
Individus
I1 d11 d1n
. .
. .
I2 di1 dij din
. .
. .
In dn1 dnn
Transformation X(n,p) X(n,n)
► Variables quantitatives
La distance euclidienne est une mesure possible de la
ressemblance, mais aussi indices de dissimilarité et
similarité. Dans le cas de variables hétérogènes, il
faut travailler sur les données centrées réduites.

► Variables qualitatives
• De nombreux indices de similarités. existent en
literature (indice de Jaccard, indice de Russel…, la
distance du qui2… )
Mesure de proximité entre deux individus
► Distance :
1) d(i,j) = d(j,i)
2) d(i,j) ≥ 0 et d(i,j) =0 ⇔ i = j
3) d(i,j) ≤ d(i,k) + d(k,j)
► Dissimilarité : Distance sans (3)
► Similarité
1) s(i,j) = s(j,i)
2) s(i,j) ≥ 0 et s(i,i) ≤ s(i,j)

En pratique on trouve dans la littérature plusieurs


types de distances, de dissimilarités et de similarités
Distances euclidiennes générales
• Soient Xi= (xi1, xi2,…,xip)' et Xj= (xj1, xj2,…,xjp)'
• Les distances euclidiennes générales ce sont des
distances qui vérifient :
d ( X i , X j )  ( X i  X j )' M ( X i  X j )

où M est une matrice symétrique définie positive.


• Distance euclidienne simple : c’est le cas où M=I
matrice identité
• Distance de Mahalanobis : M=V-1 où V est la
matrice de variance-covariance.
• Distance du χ2 : M = D-1 , où D est la matrice de
fréquences. La distance du chi2 est importante en
analyse des données. Elle est particulièrement bien
adaptée aux tableaux de contingence. Elle est
utilisée en analyse factorielle des correspondances,
• Distance de Minkowski :

1
 n q
 q
d q ( X i , X j )    xik  x jk 
 k 1 
 

en particulier si q=1 (Manhaattan), q=2 (Euclidien)


Indices de Similarités
Critère de similarité : mesurer la ressemblance entre
éléments
Exemples pour des variables binaires
S1 S2 S3 S4 S5 S6 S7 S8
(0 ou 1)
P1 1 0 0 1 1 0 1 1
P2 1 1 0 1 0 1 0 1
nij  nombre d' accords positifs (11) P3 1 1 1 1 0 0 1 1
nij  nombre d' accords négatifs (00) P4 0 1 0 0 0 1 0 1
P5 0 0 1 1 0 1 0 1
q ij  nombre de désaccords (01) ou (10)

La similarité est une fonction : ei, ej  E  E


• croissante avec les accords
• décroissante avec les désaccords 
Sei, ej   f nij, nij, q ij 
a) Cas où ni j  nombre d'accords négatifs (00) n'intervient pas

nij
S ei, ej  
nij  q ij

si =0 indice de Kulczinsky.


si =1 indice de Jaccard.
si =1/2 indice d’Anderberg.
si =2 indice de Dice.

b) n i j  nombre d' accords négatifs (00) intervient


nij  q ij  nij

S, ei, ej  
nij  q ij  nij

si =0 =2 indice de Rogers&Tanimoto


si =0 =1/2 indice de Sokal&Sneath.
si =1 =1 indice de Hamman.
si =0 =1 indice du simple matching
Les méthodes de classification
• En classification automatique on distingue les
méthodes hiérarchiques et d’autres non-
hiérarchiques.
• Méthodes hiérarchiques: dans ce cas la
classification procède séquentiellement en
regroupant les observations les plus `semblables' en
premier lieu.
• Méthodes non-hiérarchiques: grâce à un
algorithme, elle regroupe en K groupes toutes les
observations simultanément.
Etapes de classification
1) Choisir les variables pour décrire les
individus et determiner la matrice X(n,p) .
2) Calculer le tableau X(n,n) de proximitées
entre les n individus à partir du tableau initial
en choisisant une distance ou indice de
similarité.
3) Choisir une méthode de classification.
4) Interpréter les résultats
Classification ascendante hiérarchique
• La classification procède séquentiellement en regroupant
les observations les plus `semblables' en premier lieu

• L'algorithme des méthodes hiérarchiques ascendantes


consiste à créer, à chaque étape, une partition obtenue en
agrégeant deux à deux les éléments les plus proches. Il y a
différentes manières de considérer le nouveau couple
d'éléments agrégés (choix du critère d’agrégation), d'où
un nombre important de variantes de cette technique.

• L'algorithme ne fournit pas une partition en k classes


d'un ensemble E de n objets mais une hiérarchie (arbre)
de partitions dite Dendrogramme.
Dendrogramme
Héararchie
indicée

(1) ( 3) ( 4) ( 2) ( 5)

Individu d’origine
Algorithme de classification
• Étape 1 : il y a n éléments à classer (qui sont les n individus);
• Étape 2 : on construit la matrice (symétrique) de distances (avec
une distance ou similarité) entre les n éléments et l'on cherche
les deux plus proches, que l'on agrège en un nouvel élément
(classe) E1. On obtient une première partition à n-1 classes;
• Étape 3 : on construit une nouvelle matrice des distances qui
résultent de l'agrégation, en calculant les distances (ayant choisi
un critère d'agrégation) entre le nouvel élément et les éléments
restants (les autres distances sont inchangées). On cherche de
nouveau les deux éléments (parties) les plus proches, que l'on
agrège dans un ensemble Ek.
• Étape m : si Ek = E on arrête l’algorithme, sinon on revient à
l’étape 3..
Critères d’agrégation
Soit A et B deux parties de E, on donnera dans la suite cinq exemples de critère
d’agrégations.

Critère saut minimal : (A,B) = min{d(i,j), iA, iB}

Critère saut maximal : (A,B) = max{d(i,j), iA, iB}

Critère de distance des centres de gravité : (A,B) = d(gA, gB)

Où gA =
1
nA

iA
xi  IRn avec xi= (xi1, xi2,…,xip) et nA= CardA

Critère de distance moyenne : (A,B) = 1


n A nB
 d(i,j)
i A jB

n A nB
Critère ou distance de Ward : (A,B) = d²(gA, gB)
n( n A  n B )
Exemple ( suivant le critère de saut maximal
Les individus : 6 hommes =E={H1, H2, H3, H4 H5,, H6.}

Variable: X=(mesure des épaules, poitrine, ceinture, masse, tille)

x1 x2 x3 x4 x5
H1 106.5 89.5 71.5 65.6 174
H2 110.5 97 79 71.8 175.3
H3 115.1 97.5 83.2 80.7 193.5
H4 104.5 97 77.8 72.6 185.3
H5 107.5 97.5 80 78.8 187.2
H6 119.8 99.9 82.5 74.8 181.5

Étape 1 : il y a n éléments à classer (qui sont les n individus);

P0={{H1}, {H2}, {H3}, {H4} ,{H5}, {H6.}} •


Étape 2 : on construit la matrice (symétrique) de distances
5

Distance : Euclidienne
d (Hi , H j )  (x
k 1
ik  x jk )²

d(H1,H2)= (106,2 -110,5)²  (89,5 - 97)²  (71,5 - 97)²  (65,5 - 71,8)²  (174 -175,3)² = 13,08

H1 H2 H3 H4 H5 H6
H1 13.08 29.81 17.44 22.05 23.56
H2 21.2 12.79 14.17 12.43
H3 16.01 10.55 14.39
H4 7.28 17.16
H5 14.55
H6

et l'on cherche les deux plus proches, que l'on agrège en un nouvel
élément (classe) E1 ={ H4, H5.}
• Étape 3 : on construit une nouvelle matrice des distances qui
résultent de l'agrégation, en calculant les distances (suivant le
Critère saut maximal : (A,B) = max{d(i,j), iA, iB})
entre le nouvel élément et les éléments restants (les autres
distances sont inchangées).
H1 H2 H3 E1 H6
H1 13.08 29.81 22.05 23.56
H2 21.2 14.17 12.43
H3 16.01 14.39
E1 17.16
H6

• On cherche de nouveau les deux éléments (parties) les plus


proches, que l'on agrège dans un ensemble E2 ={ H2, H6.}

• Étape m : si Ek = E on arrête l’algorithme, sinon on revient à


l’étape 3..
• Étape 3 : on construit une nouvelle matrice des distances qui
résultent de l'agrégation, en calculant les distances (suivant le
Critère saut maximal : (A,B) = max{d(i,j), iA, iB})

H1 E2 H3 E1
H1 23.56 29.81 22.05
E2 21.2 17.16
H3 16.01
E1

• On cherche de nouveau les deux éléments (parties) les plus


proches, que l'on agrège dans un ensemble E3 ={ H3, H4, H5.}

• Étape m : On a E3 ≠ E donc on revient à l’étape 3.


• Étape 3 : on construit une nouvelle matrice des distances qui
résultent de l'agrégation, en calculant les distances (suivant le
Critère saut maximal : (A,B) = max{d(i,j), iA, iB})

H1 E2 E3
H1 23.56 29.81
E2 21.2
E3

• On cherche de nouveau les deux éléments (parties) les plus


proches, que l'on agrège dans un ensemble
E4 ={H2, H3, H4, H5.}

• Étape m : On a E4 ≠ E donc on revient à l’étape 3.


• Étape 3 : on construit une nouvelle matrice des distances qui
résultent de l'agrégation, en calculant les distances (suivant le
Critère saut maximal : (A,B) = max{d(i,j), iA, iB})

H1 E4
H1 29.81
E4

• On cherche de nouveau les deux éléments (parties) les plus


proches, que l'on agrège dans un ensemble
E5 ={H1, H2, H3, H4, H5.}

• Étape m : On a Ek = E donc on arrête l’algorithme.


Dendrogramme
Héararchie
indicée

29.81

21.2
16.01
12.43

7.28

( H4 ) ( H5 ) ( H3 ) ( H2 ) ( H6 ) ( H1 )
Individu d’origine
• À partir de ce Dendrogramme, on peut
déterminer la partition convenable en choisisant le
nombre de classes désirer dans cette partition. Ainsi,
dans l’exemple vue précedament les partions
optimales celon le nombre de classes désiré est :

• 1) K=2 P2={{H1}, {H2, H3, H4, H5, H6.}


• 2) K=3 P3={{H1}, {H2, H6}, {H3, H4, H5}}
• 3) K=4 P3={{H1}, {H2, H6}, {H3}, { H4, H5}}
Classification non-hiérarchique

Les méthodes non hiérarchiques consistent à


regrouper, en optimisant un critère donné, en
K groupes toutes les observations
simultanément. Autrement dit, l'algorithme
s'arrête une fois qu'il y a K classes.
On s'intéressera ici seulement à une méthode
qui est largement utilisée en pratique.
Algorithme kmeans
• Chaque individu i est représenté par une
observation xi=(x1i, x2i,…,xpi). Donc les n
objets seront représentés par un nuage
dans IRp. Désignant par Ek une partie
d'individus de E, nk son effectif, gk son
centre de gravité et g celui de l'ensemble
des individus E.
On définie :
► L'inertie d'un groupe Ek : Ik =  d²( xi, gk)
iEk
K

► L'inertie intra- groupe: IW =  Ik


k 1
K

► L'inertie inter- groupe: IB =  nk d²( gk, g)


k 1
n

► L'inertie totale: Itot =  d²( xi, g) = IW + IB


i 1

Bonne partition  IW minimum (groupes homogènes)


 IB maximum (séparation inter-groupe)
Algorithme kmeans
• 1er étape: (Initialisation)
► On choisie une métrique pour calculer la distance entre
individus.
► On définie à priori un nombre de classes (K).
► On choisie de façon arbitraire K centres (Ck, k=1,2,…,K)
de classes. C'est souvent K individus tirés au hasard
• 2eme étape: On calcule la distance de chaque individu aux K
centres de classes.
• 3eme étape: On affecte chaque individu i à la classe dont le
centre est le plus proche, puis on calcule pour chaque
groupe Ek le nouveau centre de classe Ck (qui n'est autre
que le centre de gravité gk de ce groupe).
• 4eme étape: On calcule pour chaque individu i la distance au
centre de chaque groupe et on calcule le critère d'inertie IW
présent. Si la dispersion (IW) décroît, on revient à l'étape 2,
Exemple ( On reprend le même exemple)
recherche d’une partition de 3 classes (K=3)
E={H1, H2, H3, H4 H5,, H6.}
x1 x2 x3 x4 x5
H1 106.5 89.5 71.5 65.6 174
H2 110.5 97 79 71.8 175.3
H3 115.1 97.5 83.2 80.7 193.5
H4 104.5 97 77.8 72.6 185.3
H5 107.5 97.5 80 78.8 187.2
H6 119.8 99.9 82.5 74.8 181.5

1er étape: On choisie une métrique pour calculer la distance entre •
individus. H H H E H
1 2 3 1 6

H1 13.08 29.81 22.05 23.56


H2 21.2 14.17 12.43
H3 16.01 14.39
E1 17.16
H6
► On définie à priori un nombre de classes (K=3). •
► On choisie ici par exemple 3 centres C1={H1.} ; C2 = {H2.} ; C3={H3.} •
• 2eme étape: On calcule la distance de chaque individu aux 3
centres de classes. 5
d (H , G )  i j 
( x  g )²
k 1
ik jk

H1=G1 H2=G2 H3=G3


H1 0 13.08 29.81
H2 13.08 0 21.2
H3 29.81 21.2 0
H4 17.44 12.79 16.01
H5 22.05 14.17 10.55
H6 23.56 12.43 14.39

• 3eme étape: On affecte chaque individu i à la classe dont le


centre est le plus proche :
P’1={{H1}, {H2, H4, H6}, {H3,H5}}
puis on calcule pour chaque groupe Ek le nouveau centre de •
classe Ck (qui n'est autre que le centre de gravité gk de ce
groupe).
• C1=H1 , Ck =
1

n k iE
Hi
k

C2 =
1
3

iEk
(110,5+104,5+119,8 ; 97+ 97+99,9 ; 79+77,8+82,5 ; 71,8+72,6+74,8 ; 175,3+185,3+ 181,5)

=( 111,6; 97,97 ; 79,767 ; 73,07 ; 180,7)

C3 =
1

(115,1+107,5; 97,5+ 97,5; 83,2+80 ; 80,7+78,8; 193,5+187,2)=( 111,3; 97,5 ; 81,6; 79,75; 190,35)
• 4eme2 étape:
iEk On calcule pour chaque individu i la distance au
centre de chaque groupe H1=C1 C2 C3
H1 0 15,97 25,62
H2 13.08 6,3 17,24
H3 29,81 25,69 5,28
H4 17,44 8,75 10,7
H5 22,05 9,76 5,28
H6 23,56 9,1 19,2
• et on calcule le critère d'inertie IW présent. Si la dispersion
(IW) décroît, on revient à l'étape 2, sinon on arrête
l’algorithme.

L’inertie d’une classe Ek est Ik =  d²( xi, gk)


iEk

Donc l’inertie de {H1} est I1=d²( H1,H1)=0,


l’inertie de { H2,H4,H6} est I2= d²( H2,C2)+ d²( H4,C2)+ d²( H6,C2)
=39,69+76,56+82,81=199,06,
l’inertie de { H3,H5} est I3= d²( H3,C3)+ d²(H6,C3)
=27,88+368,64=396,52,

 IW=595,58
Puisque c’est la première partition en de trois classe obtenue
par cette algorithme, on revient obligatoirement à l’étape 2.
► On définie à priori un nombre de classes (K=3). •
► On choisie ici par exemple 3 centres (C1={H1.} ; C2 = {H2.} ; C3={H3.} •
• 2eme étape: On les distance de chaque individu aux 3 centres
de classes.
H1=C1 C2 C3
H1 0 15,97 25,62
H2 13.08 6,3 17,24
H3 29,81 25,69 5,28
H4 17,44 8,75 10,7
H5 22,05 9,76 5,28
H6 23,56 9,1 19,2
• 3eme étape: On affecte chaque individu i à la classe dont le
centre est le plus proche :
P’1={{H1}, {H2, H4, H6}, {H3,H5}}
Donc on obtient la même partition  on arrête le
programme