L’analyse en composantes principales peut-elle être appliquée à des ensembles de données contenant un mélange de variables continues et catégorielles?


147

J'ai un jeu de données qui contient à la fois des données continues et catégoriques. J'analyse en utilisant PCA et je me demande s'il est acceptable d'inclure les variables catégoriques dans le cadre de l'analyse. D'après ce que j'ai compris, l'ACP ne peut être appliquée qu'à des variables continues. Est-ce exact? S'il ne peut pas être utilisé pour des données catégoriques, quelles alternatives existent pour leur analyse?



Il y a une discussion à propos de ResearchGate: researchgate.net/post/Should_I_use_PCA_with_categorical_data
GoingMyWay

Réponses:


87

Bien qu’une ACP appliquée à des données binaires donnerait des résultats comparables à ceux obtenus par une analyse à correspondances multiples (les facteurs et les valeurs propres sont linéairement liés), il existe des techniques plus appropriées pour traiter des types de données mélangés, à savoir l’analyse à facteurs multiples pour des données mélangées disponibles dans le package FactoMineR R ( AFDM()). Si vos variables peuvent être considérées comme des sous-ensembles structurés d'attributs descriptifs, l' analyse à plusieurs facteurs ( MFA()) est également une option.

Le défi des variables catégorielles consiste à trouver un moyen approprié de représenter les distances entre les catégories de variables et les individus dans l’espace factoriel. Pour résoudre ce problème, vous pouvez rechercher une transformation non linéaire de chaque variable, qu'elle soit nominale, ordinale, polynomiale ou numérique, avec une mise à l'échelle optimale. Ceci est bien expliqué dans Méthodes Gifi pour une mise à l'échelle optimale dans R: Les homales de package , et une implémentation est disponible dans les homales de package R correspondantes .


2
chl, merci pour le pointeur sur FADM. Je me demandais cependant: une fois que j'appliquais FADM à un ensemble de données (obj <- FADM (x)), je pouvais accéder facilement à l'ensemble de données transformé via: obj $ ind $ coord. Toutefois, si je souhaite appliquer la même transformation à un autre ensemble de données, comment puis-je le faire? (Cela est nécessaire, par exemple, si j'ai un train et que je trouve les "composants principaux" de ce train, puis que je souhaite examiner le jeu de tests à travers ces "composants principaux"). La documentation n'est pas très claire là-dessus, et le papier sur lequel la fonction est basée est en français.
Casandra

Concernant:, Although a PCA applied on binary data would yield results comparable to those obtained from a Multiple Correspondence Analysisne pouvons-nous pas convertir une variable catégorique nominale (par exemple, avec une cardinalité à N) en une collection de binaires factices (N-1), puis effectuer une PCA sur ces données? (Je crois comprendre qu'il existe des techniques plus appropriées)
Zhubarb

31

Une recherche Google "pca pour les variables discrètes" donne cette belle vue d' ensemble de S. Kolenikov (@StasK) et G. Angeles. Pour ajouter à la réponse chl, l’analyse par ordinateur est en réalité une analyse des vecteurs propres de la matrice de covariance. Le problème est donc de savoir comment calculer la matrice "correcte" de covariance. L'une des approches consiste à utiliser la corrélation polychorique .


(+1) Merci pour le lien.Il est également possible de considérer une matrice de corrélation hétérogène (voir, par exemple, hetcor()du paquet polycor ). Pourvu que la matrice VC soit SDP, elle devrait faire le travail - principalement dans l’esprit de l’analyse factorielle. Les variables nominales peuvent être codées factices.
chl

@StasK, kudos :) Il semble que non seulement cette discussion m'a été utile, sinon elle ne serait pas au top dans la recherche gooogle. Cette question apparaît de temps en temps, alors peut-être souhaitez-vous publier un article à ce sujet sur notre blog communautaire?
Mpiktas

@StasK, j'ai édité le message pour mentionner les auteurs de l'aperçu. Mon intention initiale était de démontrer que la recherche sur Google peut apporter de bonnes réponses. Il n’est donc pas nécessaire de demander explicitement ici. Mais ce n’est pas une excuse pour ne pas citer les auteurs, compte tenu de la volatilité d’internet.
Mpiktas

1
@mpiktas, merci. Il y avait un vrai article destiné aux économistes, issu de ce travail: dx.doi.org/10.1111/j.1475-4991.2008.00309.x , bien que les rédacteurs en chef nous aient demandé de réduire tellement le nombre de questions que je suggère de lire le document de travail informations, et citer celle publiée.
StasK

9

Je suggérerais de jeter un coup d'oeil à Linting & Kooij, 2012 " Analyse non linéaire en composantes principales avec CATPCA: un tutoriel ", Journal of Personality Assessment ; 94 (1).

Abstrait

Cet article est conçu comme un didacticiel pour l’analyse non linéaire de composants principaux (NLPCA), guidant systématiquement le lecteur tout au long du processus d’analyse des données réelles relatives à l’évaluation de la personnalité par le test de Rorschach Inkblot. NLPCA est une alternative plus souple à l'ACP linéaire qui peut gérer l'analyse de variables éventuellement non liées de manière linéaire avec différents types de niveaux de mesure. La méthode est particulièrement adaptée à l'analyse de données nominales (qualitatives) et ordinales (par exemple de type Likert), éventuellement combinées à des données numériques. Le programme CATPCA du module Catégories de SPSS est utilisé dans les analyses, mais la description de la méthode peut facilement être généralisée à d’autres progiciels.


4

Je n'ai pas encore obtenu le privilège de commenter le message de quelqu'un, j'ajoute donc mon commentaire comme réponse distincte, alors veuillez vous en tenir à moi.

Pour poursuivre ce que @Martin F a commenté, je suis récemment tombé sur les PCA non linéaires. Je cherchais des ACP non linéaires comme alternative possible lorsqu'une variable continue approche de la distribution d'une variable ordinale à mesure que les données se raréfient (il arrive souvent en génétique que la fréquence allélique mineure de la variable devienne de plus en plus basse et que avec un très petit nombre de comptages dans lesquels vous ne pouvez pas vraiment justifier une distribution d'une variable continue et vous devez assouplir les hypothèses de distribution en le transformant en une variable ordinale ou en une variable catégorielle.) La PCA non linéaire peut traiter ces deux conditions mais après discuter avec des maestros statistiques de la faculté de génétique, L'appel de consensus était que les PCA non linéaires ne sont pas beaucoup utilisés et que le comportement de ces PCA n'est pas encore testé de manière approfondie (peut-être qu'ils se référaient uniquement au domaine de la génétique, alors prenez-le avec un grain de sel). En effet c'est une option fascinante. J'espère avoir ajouté 2cents (heureusement pertinents) à la discussion.


Accueillant votre réponse, Mandar. Faites-vous référence à la PCA non linéaire par la méthode CATPCA ou à une autre PCA non linéaire (quelle méthode, alors?). Notez également que pour les variables binaires , CATPCA est, disons, inutile ou trivial car une échelle dichotomique ne peut pas être quantifiée autrement que pour ... dichotomique!
ttnphns

thnak vous @ttnphns. Je suis d'accord avec votre point sur les variables binaires, comme pour les variables binaires, toute hypothèse importe peu. Sinon, je faisais référence à un chapitre de livre tiré de "Introduction à la PCA non linéaire" [link] ( openaccess.leidenuniv.nl/bitstream/handle/1887/12386/… ). Il fait référence à CATPCA principalement et aux packages PRINQUAL de SAS.
Mandar

2

Il existe une approche récemment développée à ces problèmes: les modèles généralisés de bas rang .

L'un des articles utilisant cette technique s'appelle même PCA sur un cadre de données .


La PCA peut être posée comme ceci:

nmM

nkX^kmY^k

X^,Y^unergmjenX,YM-XYF2

F2


Cela ressemble plus à une réinvention qu'à une nouvelle idée. Rechercher gifi!
kjetil b halvorsen

Vous n'êtes pas tout à fait raison, il semble que GLRM soit une généralisation (en fait, le document que j'ai lié cite le papier d'emballage gifi).
Jakub Bartczuk

1

PCAmixdata#Rstats package :

Implémente l'analyse en composantes principales, la rotation orthogonale et l'analyse factorielle multiple pour un mélange de variables quantitatives et qualitatives.

L'exemple de la vignette montre les résultats pour la sortie continue et catégorique

entrez la description de l'image ici

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.