Chapitre 12 Le retour des méthodes factorielles

12.1 Objectifs du chapitre

L’objectif de cette partie est de revenir sur des méthodes traditionnelles mais toujours efficace d’analyse lexicale souvent combiné à des méthode de classification.

comprendre le fonctionnement des différentes techniques de réduction de grands ensembles de données. Leur principe reste de réussir à exprimer sous forme de facteur(s), un ou plusieurs concepts non observés, latents, ou d’intérêt. Ces méthodes de calculs feront l’objet d’une description générale, abordant les sous-bassements statistiques utilisées dans un cas pratique avec un dataset de tweets obtenu par rtweet ( voir chapitre 3).

Trois algorithmes utilisés en analyse factorielle seront abordés :

  • Analyse par Composante Principale (PCA)
  • Analyse Factorielle des Correspondances (AFC)
  • La Classification Hiérarchique (CHA/CHD)
  • Introduction à Reinette
  • Introduction à Wordfish

12.2 Les outils

Les packages permettant de mener les analyses ci-dessous sont FactoMineR et factoextra. Les heat map utilisées pour parvenir au clustering de l’analyse des correspondances sont issues du package NMF ou encore quanteda

12.3 Introduction

Si les méthodes factorielles ont été développées dès 1904 par le psychologue Charles Spearman pour comprendre comment les variables dans une ambition plus confirmatoire et hiérarchique, les méthodes factorielles se sont popularisées sous les travaux de Benzecri, permettant un élargissement de son usage. (???)

Elles se sont progressivement diluées dans la “boîte à outils” des différentes disciplines académiques. Ces principes de fonctionnement et autres calculs originels ont été confrontés à diverses sources et structures de données, que notre environnement de plus en plus numérique à amener à générer. (???)

L’interaction avec ces interfaces mathématiques sont aujourd’hui largement informatisées, et le travail de l’analyste se complète également par le devoir de savoir expliciter ces “sorties logicielles”.

12.4 Méthodes & Données

12.4.1 Principes généraux

L’idée essentielle est qu’un objet peut-être décrit par un ensemble d’attributs observables et en ce sens, mesurables. Des relations peuvent exister entre les \(p\) variables précitées, entre chaque individu \(n\) observé, dans une base de données.

Mathématiquement parlant, le développement accru des travaux de recherche repose sur des questions comme :

  • Le caractère unique ou multiple des facteurs / concepts sous jacents que l’on souhaite utiliser pour résumer les données, ou bien encore sur les modalités de calculs, liéaires ou non, des combinaisons factorielles souhaitées.(???) Les Lois de distribution utilisées pour approcher ces différentes sources de données diffèrent et sont à l’origine de la diversification des algorithmes. (???)

L’idée principale est de trouver \(k\) combinaisons linéaires des \(p\) variables qui capturent succéssivement une part maximale de la variance, ce qui minimise réciproquement l’écart total d’erreurs, d’un effectif \(n\) d’observations, tel que \(k << p\). Cette mécanique de synthèse repose sur le théorème de la Décomposition en Valeurs Singulières des matrices (SVD), tels que pour toute \(X_{(n,p)}\) :

\[ X=\mathbf{U}\mathbf{D} \mathbf{V}^\top \]

\(U_{n}\) Une matrice carrée tel que : \(U=n\) x \(n\) ; \(v=p\) x \(p\) et ; \(D\) de dimensions \(k\) x \(k\), dont la diagonale \(D_{(i,i)}\) comporte les valeurs des eigenvectors \(\lambda_{n}\) calculés par les algorithmes factoriels.

Dans le domaine de l’analyse d’éléments textuels ce tableau correspond au document-term-matrix (dtm) et document-feature-matrix (dfm), où les “individus” sont alors considérés en tant que documents (tweets, reviews, litteratures…) auxquels nous rattachons en colonne, les termes, afin d’en compter chaque occurence.

12.4.2 Données

Nous avons scrappé via le package rtweets un ensemble de 4 hashtags : javascript, Cobol, Python, Java, selon les méthodologies robustes de construction de corpus déjà éprouvées(???)

On peut supposer a priori que les communications autour des langages de programmation soient similaires et uniformes, dans une première proposition relevant du marketing des technologies N/TIC.(???)

## 
##    0    1 
## 1930  217

La répartition des tweets primaires pour chaque langage varie de 70% à 15%. Cette première observation peut justifier que l’on souhaite étudier plus en détails le rôles de certaines variables dans les effets de diffusion.

Une première idée est que les communautés et les modes d’apparitions de ces langages étudiés sur Twitter semblent, sur l’échantillon donné, singuliers.

12.5 Analyse par Composantes Principales (ACP/PCA)

L’ACP et ses dérivées appliquées à des données de comptage comme l’AFCM sous l’influence de J. Benzecri, ont longtemps étés les méthodes “reines”, et restent aujourd’hui, toujours les plus fréquemment utilisées.

Historiquement elle a été développée pour analyser des matrices de corrélations multiples où, \(X\) est une matrice de \(n\) d’individus et \(p\) de variables suivant une loi de distribution Gausienne.

Notre travail ici est donc de chercher à savoir si les caractéristiques des comptes (Nombres de Tweets,followers,posts,Maturité,amis,Caractères produits) traduisent une éventuelle présence différenciée.

On sélectionne un sous ensemble de données quantitatives et l’on calcule volontairement ici deux nouvelles variables dépendantes : le volume total de caractères produit sur la plateforme pour un internaute ainsi que la somme de ses tweets.

Nous nous concentrons sur la population de comptes ayant produit des tweets retweetés au moins 19 fois. Cela représente un tableau de 2975 individus. On signale à l’ACP que la première colonne est qualitative afin qu’elle soit prise en compte dans les calculs

Pourcentage de variance exprimée par les dimensions

Figure 12.1: Pourcentage de variance exprimée par les dimensions

Sur cette représentation l’on voit que la somme des variances reste toujours égale à 100 %, lorsque \(k=p\).

L’intérêt est donc de savoir quels facteurs extraire. L’on souhaite donc voir plus en détails leurs évolutions au sein de l’échantillon. On décide de réaliser des matrices de covariance, corrélation et contribution.

Directions, Corrélations et Contribution des Variables aux dimensions

Figure 12.2: Directions, Corrélations et Contribution des Variables aux dimensions

Représenter les variables

Figure 12.3: Représenter les variables

Les contributions des \(p\) variables aux \(k\) dimensions factorielles sont différenciées. A première vue, les deux variables auto-corrélées sont bien co-évolutives et presque orthogonales aux autres variables du set. On se concentre alors sur la ventilation des \(n\) individus.

Représenter les individus

Figure 12.4: Représenter les individus

Quatre populations émergent mais restent très inégales dans leurs effectifs. En effet, les comptes mentionnant “cobol” sont nettement plus réduits.On représente alors le couple variables/individus ensemble :

Représenter les individus et variables

Figure 12.5: Représenter les individus et variables

Les coefficients ici visualisés peuvent être utilisés dans un modèle confirmatoire en tant que coefficients \(\alpha_{ii}\) de régression. Ce sont les éléments présentés par ordre décroissant de la diagonale de la matrice \(D\).

12.6 Analyse des Correspondances

Les bases de données Twitter étant pauvre en variable qualitatives, on travaille alors nouvellement sur les mots. Les tableaux sont dits croisés, se sont des tables de contingence entre différentes variables catégorielles.

12.6.1 Table de contingence

Le corpus est composé de 2147 tweets français et après annotation, fournit 60 360 adjectifs, noms et verbes différents. L’annotation a été réalisée selon les procédures détaillées dans le chapitre précédent.

On utilise quanteda pour regrouper les mots et produisons une document-feature-matrix que l’on transpose en term-document-matrix, considérant que les langages de programmation sont nos \(p\) variables catégorielles et les mots, nos \(n\)observations. Différentes étapes de filtrage sont nécessaire ici : suppression de la ponctuation et des liens internet.

On peut être amener à penser que deux mondes s’ignorent, et que des usages situés des langages s’apprécient ici via différents contextes qui leurs sont propres.

12.6.2 Modèle

A l’aide de l’analyse factorielle des correspondances, nous allons réussir à obtenir et spécifier :

  • La relation qu’il existe entre les individus (Mots) et les dimensions

  • La relation qu’il existe entre les variables (Langages) et les dimensions

  • La relation qu’il existe entre les individus (Mots) et les variables (Langages).

On utilise maintenant l’analyse des correspondances sur notre table de contingence :

12.6.3 explor

L’accès aux vocabulaires reste limité par une visualisation statique. Afin de pouvoir explorer dynamiquement le corpus, on privilégie la solution fournie par le package présenté ci-dessous.

Analyse des Correspondances : Biplot Individus/variables

Figure 12.6: Analyse des Correspondances : Biplot Individus/variables

explor qui permet d’accélerer l’analyse exploratoire d’une fouille de données. Afin d’être représenté dans le livre, nous mettons l’éxécution dynamique de cette application shiny en commentaire.

On peut alors représenter les dimensions souhaitées, ainsi que disposer du nuage de points :

exploration

exploration

La multitude de mots ne facilite pas la lecture graphique, tout comme pour le cas des résultats pour l’ACP. Les disparités des effectifs recensés ne nous permet pas de réduire leur échantillonage, tout en conservant les spécificités de chacun. On propose donc d’utiliser des techniques de clustering, que sont les classifications hiérarchiques de types acsendantes et descendantes :

12.7 Classification Hiérarchique

Afin de répondre à ces problèmes de saturation, et pour permettre la création de *typologies* des techniques de clustering permettent de subdiviser l’ensemble de données étudié. Ces dernières se basent sur différentes techniques de détermination. (???) Les individus d’un même groupe sont supposés avoir une variance intra-faible et une variance inter-forte avec les autres groupes, de la sorte :

12.7.1 Classification Hiérarchique Ascendante

Classification Hiérarchique Ascendante des tweets

Figure 12.7: Classification Hiérarchique Ascendante des tweets

Une synthèse plus lisible des clusters est présentée ici :

Représentation des groupes

Figure 12.8: Représentation des groupes

12.7.2 Classification Hiérarchique Ascendante Double

12.7.2.1 Théorème généralisé de la décomposition en valeurs singulières

Si l’on y regarde de plus près, le résultat de l’analyse des correspondances contient deux matrices de résultats qui nous intéressent. La première, est celle des mots, associés aux dimensions.

Heatmap des relations & contributions

Figure 12.9: Heatmap des relations & contributions

On observe que les mots semblent bien reliés de manière différenciés aux facteurs. Les contributions varient et contrastent :

  • Les dimensions 2 et 1 semblent avoir le plus de mots corrélés dans des dimensions similaires.

  • La dimension 3 semble assez spécifique, et bien quelle soit corrélée de manière fabile avec les autres, une petite proportion de mots semble la refléter largement.

Une seconde matrice suscitant alors notre intérêt, est celle des Langages, associés aux dimensions :

Heatmap des langages corrélés aux dimensions

Figure 12.10: Heatmap des langages corrélés aux dimensions

Sans surprise, le petit groupe de mots identifiés préalablement correspond à une corrélation forte entre Cobol et la deuxième dimension.

Heatmap des contribution des langages

Figure 12.11: Heatmap des contribution des langages

Cobol est effectivement le langage qui semble le plus contribuer à la dimension 2, elle même représentée très fortement par un très petit nombre de Mots. Les matrices que nous manipulons sont rectangulaires. Dans ce cas précis, les deux matrices sont liées par \(k=3\) dimensions. On peut donc retrouver, dans une généralisation de la théorie de la décomposition en valeur singulière, cette matrice “probable” nommée \(S\), comme énoncé dans son théorème généralisé GSVD:

\[\begin{align*} S=\mathbf{U}\mathbf{D} \mathbf{V}^\top \end{align*} \]

avec, \(U_{n}\) une matrice carrée tel que : \(U=n\) x \(k\) ; \(v=k\) x \(p\) cette fois…

Double Clustering des lignes et colonnes

Figure 12.12: Double Clustering des lignes et colonnes

A cette étape, le double clustering ne nous renseigne que très peu. Il faut manipuler et filtrer les variables afin de récupérer les mots qui sont les plus représentatifs de chacun des langages. Le résultat épouse bien la réalité.

12.8 Classification Hiérarchique Descendante : Wordfish