Vous êtes sur la page 1sur 42

Module C106

Analyse et fouille de données

Analyse Factorielle des Correspondances (AFC)

Introduction
Présentation de l'AFC
Exemple traité

Exercices

Gérard-Michel Cochard
cochard@u-picardie.fr
Module C106 : Analyse et fouille des données

Analyse factorielle des correspondances (AFC)

Introduction

Objet de l'AFC
Profils lignes et profils colonnes

Objet de l'AFC

L'Analyse en Composantes Principales (ACP) concerne les variables quantitatives. L'Analyse


Factorielle des Correspondances (AFC) concerne des variables qualitatives. La philosophie est
toutefois la même : résumer l'information importante à partir d'un tableau volumineux de
données.

Typiquement l'AFC traite les tableaux de contingence dans lesquels les lignes et les colonnes
représentent des modalités de deux variables X et Y. Contrairement aux tableaux traités par
l'ACP, de nature individus x variables, il y a ici une certaine symétrie entre les lignes et les
colonnes qui concernent toutes deux des modalités de variables.

Nous nous limitons dans ce chapitre au cas de deux variables. Toutefois, l'analyse factorielle des
correspondances multiples permet de traiter le cas de plus de deux variables.

Dans l'AFC, on recherche ce qui est "remarquable", ce que l'on traduit par "écart à
l'indépendance". C'est un peu l'analogue de la recherche des corrélations de l'ACP. On
recherche les "dépendances" entre les modalités des deux variables.

Profils lignes et profils colonnes


Notre matériau de départ est un tableau de contingence de n lignes et p colonnes qui permet de
comparer deux variables X à n modalités et Y à p modalités :

Ce tableau se résume à une matrice T (matrice nxp):

i. .
On est amené à calculer les effectifs marginaux k , k et l'effectif total k tels que :
j

Les effectifs marginaux peuvent être rassemblés dans des matrices diagonales D1 (matrice nxn)
et D2 (matrice pxp) dont on verra l'emploi plus loin.
exemple : Afin de mieux cibler ses actions promotionnelles, une banque régionale a réalisé une
étude sur les produits d'épargne qui auraient actuellement la préférence de sa clientèle. Les
données brutes recueillies font l'objet d'une analyse factorielle en composantes principales.
Les clients ont eu à répondre à la question suivante : "Sur lequel de ces 5 produits envisagez-
vous de porter actuellement votre épargne disponible ?" Les réponses ont été les suivantes en
fonction des catégories socioprofessionnelles des personnes interrogées. (d'après un sujet de
DECF)

Le tableau de contingence à étudier est donc :

Plus précisément :

En général, on travaille sur les tableaux de fréquences. On peut en définir trois :

● le tableau des fréquences relatives : on divise chaque valeur par l'effectif total
Comme T, F possède n lignes et p colonnes.

● le tableau des profils lignes : on divise chaque élément d'une ligne par la somme des
valeurs de la ligne

Pl possède n lignes et p colonnes

● le tableau des profils colonnes : on divise chaque élément d'une colonne par la somme des
éléments de la colonne

où est la matrice transposée de T. Ici les colonnes sont représentées... en


lignes. Ceci est naturel dans la mesure où l'on souhaite par la suite appliquer une
analyse en composantes principales (les individus sont traditionnellement en lignes).
Pc possède p lignes et n colonnes.
exemple : reprenons l'exemple précédent.

Les profils lignes et colonnes sont :

Chaque ligne de Pl peut être considérée comme un point Mi dans l'espace Rp. Le tableau Pl
correspond donc à un nuage de n points dans Rp.

.
On affecte chacun de ces points d'une "masse" de valeur k /k.
i
Comme on a la relation

l'ensemble des points Mi appartient à un sous-espace de Rp de dimension p - 1. Le centre de


.
gravité de ces points Mi est le point Gl de coordonnées (k /k
1
k
.2/k ... k.j/k .p/k).
... k

Chaque ligne de Pc peut être considérée comme un point Pj dans l'espace Rn. Le tableau Pc
correspond donc aussi à un nuage de p points dans Rn. On affecte chacun de ces points d'une
.
"masse" k /k. De même, la relation
j

implique que l'ensemble des points Pj appartient à un sous-espace de Rn de dimension n-1. Le

. . .
centre de gravité de ces points Pj est le point Gc de coordonnées (k1 /k k /k ... ki /k ... kn /
2 .
k).

exemple : reprenons l'exemple précédent

Les centres de gravité du nuage des profils lignes et du nuage des profils colonnes sont :

En probabilités, on dit que deux variables aléatoires sont indépendantes si p(X=i, Y=j) = p(X=i)p
(Y=j). Par extension, on dira que les modalités i de la variable X et j de la variable Y sont
indépendantes si

Dans ce cas les lignes de Pl ou de Pc seraient identiques. Par exemple kij/k


i . = k.j/k donc
indépendant de i.

exemple : toujours l'exemple précédent

Si les modalités des deux variables étaient indépendantes, on aurait du avoir, à la place de T :

ce qui montre donc une certaine dépendance ou un "écart à l'indépendance".


Module C106 : Analyse et fouille des données

Analyse factorielle des correspondances (AFC)

Pratique de l'AFC

Distance et inertie
Ecart à l'indépendance
ACP sur les profils lignes
ACP sur les profils colonnes
Aides à l'interprétation
Pratique de l'AFC avec Tanagra

Distance et inertie

On définit la distance entre deux profils lignes i et i' (c'est à dire entre les deux points Mi et Mi' de Rp) par la relation suivante qui
donne son carré :

Cette métrique est appelée métrique du χ2 ou du ϕ2. Chaque carré de la différence entre les fréquences relatives est divisé par la

.
masse k /k ce qui revient à donner la même importance à chaque modalité.
j

exemple : reprenons l'exemple du chapitre précédent où le tableau de contingence était

Avec la définition précédente de la distance d, on obtient le tableau des distances suivant :

La distance définie ci-dessus possède deux propriétés intéressantes :


● le poids des lignes n'intervient pas.
● on peut regrouper plusieurs lignes de même profil sans changer les distances entre lignes (et entre colonnes). C'est la
propriété d'équivalence distributionnelle.

En particulier, la distance entre le point Mi et le centre de gravité du nuage de p points est :

en utilisant la notation

On définit de la même façon le carré de la distance entre deux profils colonnes par :

exemple : comme dans le cas précédent, on peut calculer les distances entre colonnes :

Comme en mécanique, on définira l'inertie IGl(i) d'un point ligne par rapport au centre de gravité Gl par

et l'inertie du nuage de points lignes sera

La quantité précédente est souvent notée ϕ2. Au facteur k près, cette valeur est égale au χ2 (CHI-2) de la distribution, défini par :

soit χ2 = kϕ2

On a évidemment des définitions analogues pour les profils colonnes. Cependant, on notera que l'expression de l'inertie est
symtrique en i et j si bien que l'inertie du nuage de points lignes est égale à l'inertie du nuage de points colonnes. Le but de
l'analyse factorielle étant de ramener chaque nuage à ses axes principaux en minimisant l'inertie totale, on peut de manière
équivalente, pratiquer l'analyse factorielle sur le nuage de points lignes ou sur le nuage de points colonnes.
Ecart à l'indépendance

On définit le taux de liaison tij par

Il mesure l'écart par rapport au taux moyen (qui correspond à l'indépendance).

exemple : déterminons le taux de liaison pour l'exemple précédent.

Ainsi, on peut observer que pour l'assurance vie (AV : deuxième ligne), les agriculteurs s'écartent de 59% de la moyenne tandis
que les ouvriers sont en deça de 60%.

La quantité ϕ2 mesure l'écart à l'indépendance. Si les modalités étaient indépendantes, on aurait et donc ϕ2 = 0.

Notons que l'on a

exemple : reprenons l'exemple du chapitre précédent et calculons l'écart à l'indépendance

On a donc ϕ2 = 0,2407 et χ2 = 1843x0,2407 = 443,65


ACP sur les profils lignes

Effectuons une ACP sur les profils lignes. Nous partons avec le tableau Pl des fréquences correspondantes kij/k = (kij/k)(k/k ) =
i. i.
fij/f
i.

Nous effectuons une transformation sur ce tableau en divisant chaque terme ij par ce qui permet d'utiliser la propriété
suivante : la distance euclidienne dE(i, i') est égale à la distance du CHI-2, dχ (i, i'). En effet,
2

Le centre de gravité du nuage des points ainsi transformés a pour coordonnées :

On peut donc ensuite centrer le nuage de points sur le centre de gravité et passer aux données centrées :

Nous avons à minimiser l'inertie totale

On voit donc qu'il faut multiplier les données centrées par le poids relatif de chaque ligne . On est alors conduit à diagonaliser
la matrice X'X où X est la matrice des xij, précédemment définis, et X' sa transposée. Nous poserons V = X'X qui est une matrice
carrée nxn.

Toutefois, on peut simplifier le calcul des valeurs et vecteurs propres de V en s'appuyant sur les résultats qui suivent. Posons

élément d'une matrice X*. On notera que


On pose de même V*=X*'X* et on a

On posera également dans la suite Gj = g'j = qui est la composante du vecteur G

Propriété 1 : VG = 0 ce qui signifie que G est vecteur propre de V avec la valeur propre 0

Propriété 2 : V*G = G ce qui signifie que G est vecteur propre de V* avec la valeur propre 1

Propriété 3 : Si U est orthogonal à G, alors VU = V*U ce qui signifie que V et V* possède les mêmes vecteurs propres (orthogonaux
à G) et les mêmes valeurs propres.

Soit U un vecteur orthogonal à G. On adonc U'G = 0 soit

Il ressort des trois propriétés précédentes que

V* possède V possède

● 1 vecteur propre G de valeur ● 1 vecteur propre G de valeur


propre 1 propre 0
● p-1 vecteurs propres Uα ● p-1 vecteurs propres Uα
orthogonaux à G et de valeurs orthogonaux à G et de valeurs
propres λα propres λα

Autrement dit, au lieu de diagonaliser la matrice V, il suffit de diagonaliser la matrice V* (et ne pas tenir compte de la valeur
propre triviale 1).
exemple : appliquons les résultats précédents à notre exemple. Le tableau des fréquences relatives est

On en déduit la matrice X* :

Calculons alors la matrice V* = X*'X* (qui n'est pas ici la matrice des corrélations) :

dont la trace est trace(V*) = 1,241 = 1 + 0,241. La trace représente la somme des valeurs propres de V*. Utilisons le logiciel
Scilab pour calculer les valeurs et vecteurs propres.

Extrait de Scilab :

Les valeurs propres, par ordre décroissant, sont 0,999 = 1 0,197 0,029 0,010 0,002 0,001

On ne tient pas compte de la valeur propre 1 et on peut constater que les deux valeurs propres les plus importantes (surtout la
première) sont 0,197 et 0,029. On peut donc envisager une représentation plane avec deux axes factoriels.
On pourra vérifier que le vcteur propre associé à la valeur propre 1 correspond bien aux valeurs (vecteur G)

Les points représentatifs des lignes sont les points Xi de coordonnées .Les coordonnées dans le systèmes d'axes défini par

les vecteurs propres sont :

exemple : dans l'exemple considéré, les points lignes sont, dans le système initial

Calculons leurs coordonnées dans le plan (U1, U2)

ce qui permet d'obtenir une représentation graphique :

ACP sur les profils colonnes

On peut utiliser la symétrie entre les profils lignes et les profils colonnes pour obtenir rapidement les résultats attendus. En
permutant i et j, on peut obtenir la matrice qu'il faut diagonaliser pour analyser factoriellement le nuage des points colonnes.
Comme on avait V* =X*'X* (matrice carrée pxp), on a maintenant W* = X*X*' (matrice carrée nxn)

On démontre que

● V* et W* ont les mêmes valeurs propres non nulles λα (α =1, min(n, p)-1)
● Soit Uα vecteur propre de V* et Zα vecteur propre de W* pour la même valeur propre λα (différente de 0). Alors

En particulier, la ième composante de Zα est

En permutant les rôles de i et j, on obtient aussi

Ψαi est la composante du point ligne i sur l'axe factoriel défini par Uα ; Φαj est la composante du point colonne j sur l'axe factoriel
défini par Zα. On voit donc que l'on peut passer, avec ces relations de transitions de l'espace des profils lignes à l'espace des
profils colonnes.

Par ailleurs, on a soit

qui sont les relations de transition usuelles.

exemple : En utilisant les relations de transition, on peut donner les résultats de notre exemple usuel pour les profils colonnes.
On se limitera aux deux premières valeurs propres.

Nous avons besoin du tableau F des fréquences relatives et du tableau transposé F' :
Aides à l'interprétation

la forme du nuage de points

La forme du nuage de points peut donner quelques indications sur la distribution. Une forme classique est ce qui est appelé l'effet
Guttman et qui correspond à un aspect parabolique.
Cette forme indique des oppositions entre modalités. Elle correspond à un tableau de contingence où la diagonale est plus chargée
que le reste du tableau.

On peut aussi avoir des accumulations de points ou paquets de points :

Cette situation corespond à un tableau de contingence qui peut être découpé en blocs diagonaux.

les contributions à l'inertie

Les contributions d'un point à l'inertie d'un axe factoriel traduit la part que ce point prend dans la construction de l'axe . La
somme des variances des points projetés sur un axe factoriel de numéo α est égale à λα . Les contributions respectives du point
ligne i et du point colonne j s'écrivent :

La somme des contributions pour un axe donné est égale à 1 aussi bien pour les lignes que pour les colonnes; On a un résultat
identique pour les colonnes .

les cosinus carrés

les cosinus carrés représentent la qualité de représentation des points sur les axes :
où G et H sont les centres de gravité des nuages lignes et colonnes respectivement.

exemple : sur l'exemple précédent, on peut remarquer une forme relativement parabolique des nuages de points :

On peut voir l'opposition entre PEL et PT, entre PT et AV d'une part et l'opposition entre CSUP et OU et entre CSUP, EMP, OU
et PI, ARCOM, AG.

Calcul des contributions à l'inertie :

Ces tableaux montrent par exemple que PEL contribue fortement à l'inertie pour l'axe 1 tandis que c'est AV qui contribue le plus
fortement à l'inertie pour l'axe 2.

Pratique de l'AFC avec Tanagra


Tanagra n'est pas iunitialement conçu pour l'AFC. Cependant, il est tout à fait possible d'utiliser Tanagra pour effectuer une AFC
dans la mesure où certaines fonctionnalités le permettent.

On partira du tableau Excel donnant l'exemple qui a servi de fil rouge dans ce chapitre (on suppose qu'Excel incorpore l'éxécution
de Tanagra comme expliqué au chapitre précédent).

A l'exécution de Tanagra, on a la situation de départ suivante :

Avec le composant Define status et l'option Parameters, on définit les colonnes en Input
et les lignes (avec le nom générique CSP) en Target :
On peut alors utiliser la fonctionnalité Factorial analysis et le composant Correspondence Analysis.
Avec l'option Parameters de ce composant, on sélectionne les 3 premiers axes et on choisit de calculer les contributions au CHI-2 :

Les résultats de l'analyse sont alors obtenus immédiatement (option View) :


La représentation graphique dans les deux premiers axes est
Module C106 : Analyse et fouille des données

Analyse factorielle des correspondances (AFC)

Exemple traité

Cet exemple a été proposé par Annie Morin ( MIAGE Rennes) lors d'une première version de ce module. Il est repris ici
avec le logiciel Tanagra dans modifier les commentaires de l'auteur initial

Date de la dernière modification : 29 juillet 2008

Un sociologue a dépouillé une moitié aléatoire du fichier d'inscription d'une année du Conservatoire National Supérieur
de Musique et de Danse de Paris. Profession des Parents et Instrument joué.

Le fichier Excel, musique.xls, peut être consulté. Le tableau de contingence croise les catégories socio professionnelles
des parents et les instruments joués.

On constate que 19 enfants n'ont pas donné la profession de leurs parents (dernière colonne : sans réponse pour la
profession des parents).

Les sorties qui apparaissent sont des sorties du logiciel TANAGRA


Le problème

On va essayer de mettre en évidence les écarts à l'indépendance pour le tableau précédent.

Etude avec un tableur

Analyse exploratoire du tableau Dans un premier temps, il est utile de construire quelques tableaux ou graphes
permettant déjà de se faire une idée de cet écart à l'indépendance. On va donc examiner les profils lignes et les profils
colonnes du tableau de contingence. On pourra faire cette étude avec un tableur.
Les nombres indiqués représentent pour une ligne les pourcentages des élèves dont les parents appartiennent à la CSP
considérée. Par exemple, 1% des élèves qui apprennent le violon ont des parents agriculteurs ou exploitants agricoles,
tandis 47% d'entre eux ont des parents cadres ou exerçant une profession dite intellectuelle. Par ligne, la somme de ces
nombres est égale à 100.
Le graphe précédent permet de comparer les profils de distribution des instruments par CSP. En général un seul des
deux graphes est utile. Il y a redondance à examiner les deux. Si les deux variables CSP et Instruments étaient
indépendantes, les profils de distribution seraient sensiblement les mêmes. On peut faire les remarques suivantes : si on
considère les enfants de cadres, ils ont tendance à pratiquer de préférence des instruments comme le violon, le
violoncelle, le violon alto et la flûte au détriment d'instruments comme le tuba, trombone ou trompette.

Analyse factorielle des correspondances du tableau (Tanagra)

Les CSP sont entrées en Input, les instruments en Target.

L'inertie totale est ici égale à 0.1876. C'est la somme des valeurs propres. Dans la copie listing que vous avez ci-dessous,
on voit que la première valeur propre est égale à 0.1153 et que par conséquent l'inertie expliquée par le premier axe est
égal à 0.1153/0.1876, soit donc 61.45%. Ceci est illustré par le diagramme des valeurs propres.
La variable CSP : nous commençons la lecture par les contributions des modalités à la construction des axes. On voit
immédiatement que le premier axe est déterminé par la contribution des cadres et dans une moindre mesure des
ouvriers ; sur le premier demi-axe négatif, la modalité la plus éloignée du centre est "agriculteurs" suivie de "ouvrier".
Cadres et ouvriers ont une très bonne qualité de représentation sur le premier axe (cosinus carrés égaux
respectivement à 0.97 et 0.75) tandis que la qualité de représentation des agriculteurs est légèrement moindre. Sur le
second axe, il faut noter les contributions des professions intermédiaires et des non-réponses. Le point le plus éloigné
sur le demi-axe négatif concerne les agriculteurs et la qualité de représentation n'est pas très bonne.

Variables instruments : Le premier axe est caractérisé par les contributions du violon et du tuba trombone. On peut
cependant noter qu'à l'extrémité du demi-axe positif, on trouve bien sûr le violon (coordonnée 0.40) mais aussi la flûte
(0.48) tandis qu'à l'extrémité du demi-axe négatif,outre le tuba trombone, la trompette est aussi excentrée. Ces quatre
instruments sont très bien représentés sur le premier axe. En effet, leur qualité de représentation, ie le cosinus carré
est de respectivement 0.93 pour le violon , 0.61 pour la flûte, 0.87 pour le tuba trombone et 0.84 pour la trompette. On
peut donc dire que cet axe oppose le violon et la flûte à la trompette et au tuba trombone.

En ce qui concerne le second axe, il est caractérisé par les contributions de la corde basse et du hautbois. Nous
reviendrons sur ces tableaux ainsi que sur le tableau original lors de l'examen des projections dans les plans factoriels.
Le graphique suivant représente le premier plan principal et explique 78% de l'inertie totale. premier axe est
caractérisé par les contributions du violon et du tuba trombone, chacun des instruments étant situé à une extrémité du
premier axe, le second par la corde basse et le hautbois et le troisième par la flûte et à un moindre degré le cor. Nous
reviendrons sur ces tableaux ainsi que sur le tableau original lors de l'examen des projections dans les plans factoriels.

Sur ce plan factoriel, il est préférable d'oublier quelques points mal représentés à savoir artisan pour la CSP, violon alto
et cor pour les instruments. Le premier axe ordonne les professions de cadre à agriculteur exploitant en passant par
profession intermédiaire,employés et ouvriers et regroupe les instruments en deux classes :l'une avec le violon , la flûte
et le violoncelle plus associée aux CSP Cadre et l'autre trombone, tuba, trompette plus associée à la CSP ouvrier et
agriculteur.(harmonie?). Ceci se confirme si nous reconsidérons les deux tableaux des profils .

Tanagra donne aussi les contributions pricipales au CHI-2 :


Module C106 : Analyse et fouille des données

Analyse factorielle des correspondances (AFC)

Exercices

Exercice 1 : qualité des eaux


Exercice 2 : les boissons

auteurs : Annie Morin, Miage Rennes . Date de la dernière modification : 10 décembre 2002

Exercice 1

Le tableau suivant donne la répartition en 1995 en Bretagne du nombre de points de surveillance suivant la classe de qualité des eaux de baignade selon la situation eau
douce, eau de mer. La qualité est bonne ou assez bonne.(tableaux de l'économie bretonne 1998/1999 page 25)
On a 4 catégories : baignade en eaux douces de bonne qualité noté qualitéOdouc , baignade en eaux douces de qualité moyenne ou pouvant être momentanément polluées
qualOdouab , baignade en eaux de mer de bonne qualité qualOmertb , baignade en eaux de mer de qualité moyenne ou pouvant être momentanément polluées
qualOmerab. Nous considérons les 4 départements bretons.
département qualiteOdouce qualOmertb qualOmerab qualOdouab

cotesdarmor 5 58 2 1

finistere 4 115 118 2

illeetvilaine 9 21 25 17

morbihan 6 75 40 3

Première question : que signifie la première ligne du tableau de données précédent?

On va procéder à une AFC sur ce tableau de données . Voici les résultats :


Deuxième question :

1. Combien d'axes factoriels va-t-on conserver dans cette analyse?


2. Quel est le département le plus éloigné du profil moyen?
3. premier axe :
❍ quels sont les départements qui contribuent le plus à l'inertie du premier axe?
❍ quels sont les sites qui contribuent le plus à l'inertie du premier axe?
4. deuxième axe :
❍ quels sont les départements qui contribuent le plus à l'inertie du deuxième axe?

❍ quels sont les sites qui contribuent le plus à l'inertie du deuxième axe?

5. Que pensez vous de la qualité des points projetés sur le premier plan factoriel?
6. En considérant le graphique suivant donnant la projection de spoints sur le premier plan factoriel, interprétez les résultats.
Exercice 2

Le tableau suivant croise 8 boissons et les contextes ou caractéristiques (il y en a 20) auxquelles elles sont associées. Vous avez une copie du fichier de données sous
format Excel.

Nous commençons par une représentation graphique des profils de lignes en utilisant la fonction AMADO de Spad.
On va procéder à une AFC sur ce tableau de données . Voici les résultats :
Question :

1. Combien d'axes factoriels va-t-on conserver dans cette analyse?


2. Quel est le département le plus éloigné du profil moyen?
3. premier axe :
❍ quels sont les départements qui contribuent le plus à l'inertie du premier axe?
❍ quels sont les sites qui contribuent le plus à l'inertie du premier axe?
4. deuxième axe :
5.
❍ quels sont les départements qui contribuent le plus à l'inertie du deuxième axe?
❍ quels sont les sites qui contribuent le plus à l'inertie du deuxième axe?
6. Que pensez vous de la qualité des points projetés sur le premier plan factoriel?
7. En considérant le graphique suivant donnant la projection des points sur le premier plan factoriel, interprétez les résultats.