L'analisi dei componenti principali può essere applicata a set di dati contenenti una combinazione di variabili continue e categoriali?


147

Ho un set di dati che contiene sia dati continui che categorici. Sto analizzando usando PCA e mi chiedo se sia giusto includere le variabili categoriali come parte dell'analisi. La mia comprensione è che PCA può essere applicato solo a variabili continue. È corretto? Se non può essere utilizzato per dati categorici, quali alternative esistono per la loro analisi?



Risposte:


87

Sebbene un PCA applicato ai dati binari produrrebbe risultati comparabili a quelli ottenuti da un'analisi della corrispondenza multipla (punteggi dei fattori e autovalori sono linearmente correlati), esistono tecniche più appropriate per trattare tipi di dati misti, vale a dire Analisi fattoriale multipla per dati misti disponibili in il pacchetto FactoMineR R ( AFDM()). Se le tue variabili possono essere considerate come sottoinsiemi strutturati di attributi descrittivi, anche l' analisi fattoriale multipla ( MFA()) è un'opzione.

La sfida con le variabili categoriali è trovare un modo adatto per rappresentare le distanze tra le categorie variabili e gli individui nello spazio fattoriale. Per ovviare a questo problema, puoi cercare una trasformazione non lineare di ogni variabile, sia essa nominale, ordinale, polinomiale o numerica, con un ridimensionamento ottimale. Questo è ben spiegato in Metodi Gifi per Proporzioni ottimale in R: Le homals pacchetto , ed un'implementazione è disponibile nelle corrispondenti pacchetto R homals .


2
chl, grazie per il puntatore a FADM. Mi chiedevo però: una volta applicato FADM a un set di dati (obj <- FADM (x)), posso accedere facilmente al set di dati trasformato tramite: obj $ ind $ coord. Tuttavia, se voglio applicare la stessa trasformazione a un altro set di dati, come posso farlo? (Ciò è necessario, ad esempio, se ho un set di treni e trovo i "componenti principali" di questo set di treni e quindi voglio esaminare il set di test attraverso quei "componenti principali"). La documentazione non è molto chiara su questo e il documento su cui si basa la funzione è in francese.
casandra,

Per quanto riguarda: Although a PCA applied on binary data would yield results comparable to those obtained from a Multiple Correspondence Analysisnon possiamo convertire una variabile categoriale nominale (diciamo con cardinalità N) in una raccolta di binari (N-1) fittizi e quindi eseguire PCA su questi dati? (Capisco che ci sono tecniche più appropriate)
Zhubarb,

31

Una ricerca su Google "pca per variabili discrete" offre questa bella panoramica di S. Kolenikov (@StasK) e G. Angeles. Per aggiungere alla risposta chl, l'analisi del PC è in realtà un'analisi degli autovettori della matrice di covarianza. Quindi il problema è come calcolare la matrice di covarianza "corretta". Uno degli approcci consiste nell'utilizzare la correlazione policorica .


(+1) Grazie per il link. È anche possibile considerare una matrice di correlazione eterogenea (vedere, ad esempio, hetcor()dal pacchetto policycor ). A condizione che la matrice VC sia SDP, dovrebbe fare il lavoro, principalmente nello spirito dell'analisi fattoriale. Le variabili nominali potrebbero essere codificate fittizie.
chl,

@StasK, kudos :) Sembra che non solo io abbia trovato utile questo discorso, altrimenti non sarebbe in cima alla ricerca di Google. Questa domanda si presenta di tanto in tanto, quindi forse vuoi fare un post sul blog per il nostro blog della community?
mpiktas,

@StasK, ho modificato il post per menzionare gli autori della panoramica. La mia intenzione iniziale era quella di dimostrare che la ricerca su google può dare buone risposte, quindi non è necessario chiedere esplicitamente qui. Ma questa non è una scusa per non citare gli autori, data la volatilità di Internet.
mpiktas,

1
@mpiktas, grazie. C'era un vero articolo rivolto agli economisti prodotti da questo lavoro: dx.doi.org/10.1111/j.1475-4991.2008.00309.x , sebbene i redattori ci abbiano chiesto di ritagliare così tanto che suggerisco di leggere il documento di lavoro per informazioni e citare quello pubblicato.
StasK,

9

Suggerirei di dare un'occhiata a Linting & Kooij, 2012 " Analisi dei componenti principali non lineari con CATPCA: un tutorial ", Journal of Personality Assessment ; 94 (1).

Astratto

Questo articolo è impostato come tutorial per l'analisi dei componenti principali non lineari (NLPCA), guidando sistematicamente il lettore attraverso il processo di analisi dei dati effettivi sulla valutazione della personalità mediante il test Rorschach Inkblot. NLPCA è un'alternativa più flessibile al PCA lineare in grado di gestire l'analisi di variabili possibilmente non lineari con diversi tipi di livello di misurazione. Il metodo è particolarmente adatto per analizzare i dati nominali (qualitativi) e ordinali (ad esempio di tipo Likert), possibilmente combinati con dati numerici. Il programma CATPCA dal modulo Categorie in SPSS viene utilizzato nelle analisi, ma la descrizione del metodo può essere facilmente generalizzata ad altri pacchetti software.


4

Devo ancora ottenere il privilegio di commentare il post di qualcuno, quindi aggiungo il mio commento come risposta separata, quindi per favore abbi pazienza.

Continuando su ciò che ha commentato @Martin F, recentemente mi sono imbattuto nei PCA non lineari. Stavo esaminando i PCA non lineari come una possibile alternativa quando una variabile continua si avvicina alla distribuzione di una variabile ordinale man mano che i dati diventano più scarsi (succede in genetica molte volte quando la frequenza minore dell'allele della variabile diventa sempre più bassa e tu rimani con un numero molto basso di conteggi in cui non puoi davvero giustificare una distribuzione di una variabile continua e devi allentare le ipotesi distributive rendendola una variabile ordinale o una variabile categoriale.) Il PCA non lineare può gestire entrambe queste condizioni ma dopo discutere con maestri statistici nella facoltà di genetica, la richiesta di consenso era che i PCA non lineari non sono usati molto spesso e il comportamento di tali PCA non è ancora ampiamente testato (potrebbe essere che si riferissero solo al campo della genetica, quindi per favore prenderlo con grano di sale). In effetti è un'opzione affascinante. Spero di aver aggiunto 2 centesimi (fortunatamente rilevanti) alla discussione.


Accogliendo con favore la tua risposta, Mandar. Ti riferisci alla PCA non lineare con il metodo CATPCA o un'altra PCA non lineare (quale metodo, quindi?). Nota anche che per le variabili binarie , CATPCA è, diciamo, inutile o banale perché una scala dicotomica non può essere quantificata se non per ... dicotomica!
ttnphns,

grazie @ttnphns. Concordo con il tuo punto sulle variabili binarie per quanto riguarda le variabili binarie, qualsiasi ipotesi non ha importanza. Altrimenti mi riferivo in realtà a un capitolo di un libro da "Introduzione al PCA non lineare" [link] ( openaccess.leidenuniv.nl/bitstream/handle/1887/12386/… ). Si riferisce principalmente ai pacchetti CATPCA e PRINQUAL di SAS.
Mandar,

2

Esiste un approccio recentemente sviluppato a tali problemi: modelli generalizzati di basso rango .

Uno dei documenti che utilizzano questa tecnica è persino chiamato PCA su un frame di dati .


La PCA può essere posta in questo modo:

Per x matricem MnmM

trova x matrix e x matrix (questo codifica implicitamente il grado e del vincolo) tale chek X k m Y knkX^kmY^k

X^,Y^ = .argminX,YMXYF2

Il "generalizzato" di GLRM sta per cambiare a qualcos'altro e aggiungendo un termine di regolarizzazione.F2


Sembra più una reinvenzione che una nuova idea. Cerca gifi!
kjetil b halvorsen,

Non hai esattamente ragione, sembra che GLRM sia una generalizzazione (in realtà la carta che ho collegato cita la carta del pacchetto gifi).
Jakub Bartczuk,

1

PCAmixdataPacchetto #Rstats :

Implementa l'analisi dei componenti principali, la rotazione ortogonale e l'analisi dei fattori multipli per una miscela di variabili quantitative e qualitative.

L'esempio della vignetta mostra i risultati per l'output sia continuo che categoriale

inserisci qui la descrizione dell'immagine

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.