Typologie avec R

En marketing, on appelle typologie un traitement de données qui vise à régrouper des individus en fonction de leur proximité/ressemblance sur un ensemble de variables. En terme d’analyse statistique, on va utiliser une analyse factorielle de type « ACM » (= Analyse des Correspondances Multiples) suivie d’une classification ascendante hiérarchique (« CAH »).

Nous allons donc voir comment faire cela avec R.
 

+ Chargement des données :

> Type du fichier d’exemple : CSV, séparateur « point-virgule », questions de type qualitatif et questions à choix multiples au format dichotomique (1 = « Cité » / 0 = « Non Cité »)
 
+ Visualiser le nom des variables/en-têtes de colonnes :

 
+ Gestion des valeurs manquantes NA :

 
+ Sélection d’individus d’après un filtre :

 
+ Sélection des variables typo :

Un certain nombre de variables ont été retenues pour réaliser la typologie. On va donc récupérer les données correspondant à ces variables en particulier.

> Au final, « list_vars » contient les numéros suivants : 3, 4, 5, 12, 24, 25, 26 et 27

> La matrice « X » va contenir uniquement les variables (actives et illustratives) qui serviront dans la typologie (dans notre exemple : 8 variables).
 
+ Vecteur de poids :

Dans le cas où il existe une pondération sur les individus, on va avoir besoin d’un vecteur contenant ces poids.

 

- Analyse des Correspondances Multiples -
 
+ Type des variables = « factor » :

Dans R, il va falloir spécifier que les variables utilisées pour notre analyse sont de type « qualitatif » (ie. avec un nombre fini de modalités entières) : il s’agit de mettre les variables de « X » au format « factor ».

 
+ ACM :

Syntaxe : Arguments de la fonction « MCA »

X matrice des variables actives et illustratives utilisées pour l’ACM
ncp nombre de composantes retenues au maximum
graph = FALSE empêche l’affichage de sorties graphiques (TRUE pour l’autoriser)
quali.sup = c(…) quali.sup = vecteur des numéros de colonnes dans X qui correspondent aux variables illustratives (existe aussi « quanti.sup »)
row.w = poids permet de spécifier le vecteur des poids des individus (si pas de pondération, ne pas mettre cet argument)

 
+ Sélection des composantes :

On va sélectionner un nombre de composantes permettant d’obtenir le maximum d’informations (par exemple 80%).

> On va ensuite sauvegarder les composantes retenues (ainsi que les données initiales) dans un fichier csv :

 

- Classification -
 
On va maintenant réaliser une classification sur les composantes de l’ACM que nous avons retenues afin de séparer nos individus en plusieurs groupes.

+ Dendrogramme :

> L’observation de l’arbre va nous permettre de décider d’un nombre k de groupes dans lesquels seront répartis les individus de l’étude.

Exemple de dendrogramme :

dendro5

+ Répartition des individus dans les groupes et effectifs :

> On va ensuite sauvegarder les numéros de groupe des individus (ainsi que les résultats de l’ACM et les données initiales) dans un fichier csv :

 

- Description des groupes -
 
Maintenant que nous avons une répartition de nos individus en k groupes, ce qui va nous intéresser c’est de déterminer quels sont les éléments (variables) qui caractérisent ces différents groupes.
Pour cela, on peut utiliser la fonction : « catdes.w« , donc vous trouverez le code ci-dessous :
(il s’agit en fait d’une version très légèrement modifiée de la fonction « catdes » du package « FactoMineR », afin de pouvoir prendre en compte un poids sur les individus)


Afficher code



 
Utilisation :

 

- Lecture des résultats -
 
Exemple de description d’un groupe :

Cla / Mod Mod / Cla Global p.value v.test
Q18 – Satisfaction : Clarté de la présentation = ST Pas satisfait 71.43 78.43 13.93 3.70 10^-20 11.72

 
> Cla / Mod = 71,43 : 71,43 % des individus (parmis l’ensemble de la population à qui est posée cette question) qui sont « Non Satisfaits » par « la clarté de la présentation des informations » se retrouvent dans ce groupe.

> Mod / Cla = 78,43 et Global = 13,93 : dans ce groupe il y a 78,43 % des individus qui sont « Non Satisfaits » par « la clarté de la présentation des informations » alors que dans la population global il n’y en a que 13,93 %, il y a donc une sur-représentation de cette modalité dans le groupe.

> p.value = 3.70 10^-20 : La sur-représentation dans ce groupe de la modalité « Non Satisfaits » pour « la clarté de la présentation des informations » est significative au seuil 3.70×10^-20.

> v.test = 11.72 : valeur de la statistique de test permettant de déterminer la significativité des variables de description du groupe (si la valeur est positive, on aura une sur-représentation de la modalité considérée, si elle est négative, une sous-représentation).

C’est cette description de chacun des différents groupes qui va permettre ensuite de classer nos répondants dans des catégories bien spécifiques auxquelles on pourra donner des noms en rapport avec la description obtenue (par exemple « Les insatisfaits »).

 

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Vous pouvez utiliser ces balises et attributs HTML : <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code class="" title="" data-url=""> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> <pre class="" title="" data-url=""> <span class="" title="" data-url="">