A análise de componentes principais pode ser aplicada a conjuntos de dados que contêm uma mistura de variáveis ​​contínuas e categóricas?


147

Eu tenho um conjunto de dados que possui dados contínuos e categóricos. Estou analisando usando o PCA e estou me perguntando se é bom incluir as variáveis ​​categóricas como parte da análise. Meu entendimento é que o PCA só pode ser aplicado a variáveis ​​contínuas. Isso está correto? Se não puder ser usado para dados categóricos, que alternativas existem para sua análise?



Respostas:


87

Embora um PCA aplicado em dados binários produza resultados comparáveis ​​aos obtidos em uma Análise de Correspondência Múltipla (as pontuações fatoriais e os valores próprios são linearmente relacionados), existem técnicas mais apropriadas para lidar com tipos de dados mistos, ou seja, Análise de Fatores Múltiplos para dados mistos disponíveis em o pacote FactoMineR R ( AFDM()). Se suas variáveis ​​puderem ser consideradas como subconjuntos estruturados de atributos descritivos, a Análise Fatorial Múltipla ( MFA()) também será uma opção.

O desafio com variáveis ​​categóricas é encontrar uma maneira adequada de representar distâncias entre categorias de variáveis ​​e indivíduos no espaço fatorial. Para superar esse problema, você pode procurar uma transformação não linear de cada variável - seja nominal, ordinal, polinomial ou numérica - com escala ideal. Isso está bem explicado nos Métodos Gifi para Escalabilidade Ótima no R: Os homals do Pacote , e uma implementação está disponível nos homals do pacote R correspondentes .


2
chl, obrigado pelo ponteiro para FADM. Eu estava pensando: depois de aplicar o FADM a um conjunto de dados (obj <- FADM (x)), posso acessar o conjunto de dados transformado facilmente via: obj $ ind $ coord. No entanto, se eu quiser aplicar a mesma transformação a outro conjunto de dados, como posso fazer isso? (Isso é necessário, por exemplo, se eu tiver um conjunto de trens e encontrar os "componentes principais" desse conjunto de trens, e desejar examinar o conjunto de testes através desses "componentes principais"). A documentação não é muito clara sobre isso, e o papel em que a função se baseia está em francês.
Casandra2

Em relação a Although a PCA applied on binary data would yield results comparable to those obtained from a Multiple Correspondence Analysis:, não podemos converter uma variável categórica nominal (digamos com cardinalidade N) em uma coleção de binários fictícios (N-1) e executar o PCA nesses dados? (Eu compreendo que há técnicas mais apropriadas)
Zhubarb

31

Uma pesquisa no Google "pca para variáveis ​​discretas" fornece uma boa visão geral de S. Kolenikov (@StasK) e G. Angeles. Para adicionar à resposta chl, a análise de PC é realmente uma análise de vetores próprios da matriz de covariância. Portanto, o problema é como calcular a matriz de covariância "correta". Uma das abordagens é usar correlação policórica .


(+1) Obrigado pelo link. Também é possível considerar uma matriz de correlação heterogênea (consulte, por exemplo, hetcor()o pacote polycor ). Desde que a matriz de VC seja SDP, ela deve fazer o trabalho - principalmente no espírito da Análise Fatorial. Variáveis ​​nominais podem ser codificadas fictícias.
chl

@StasK, parabéns :) Parece que não só eu achei essa palestra útil, caso contrário ela não estaria no topo da pesquisa do gooogle. Essa pergunta aparece de tempos em tempos. Talvez você queira fazer uma postagem sobre isso no blog da comunidade?
Mkttas

@StasK, editei o post para mencionar os autores da visão geral. Minha intenção inicial era demonstrar que a pesquisa no google pode oferecer boas respostas, portanto não há necessidade explícita de perguntar aqui. Mas isso não é desculpa para não citar os autores, dada a volatilidade da internet.
Mpgtas 23/08/11

1
@mpiktas, obrigado. Havia um artigo real destinado a economistas produzido a partir deste trabalho: dx.doi.org/10.1111/j.1475-4991.2008.00309.x , embora os editores tenham nos pedido que cortássemos tanto que eu sugiro ler o documento de trabalho para informações e cite o publicado.
Stask

9

Eu sugeriria dar uma olhada em Linting & Kooij, 2012 " Análise de componentes principais não lineares com CATPCA: um tutorial ", Journal of Personality Assessment ; 94 (1).

Abstrato

Este artigo foi criado como um tutorial para análise não linear de componentes principais (NLPCA), guiando sistematicamente o leitor através do processo de análise de dados reais sobre avaliação de personalidade pelo Teste de Rorschach Inkblot. A NLPCA é uma alternativa mais flexível ao PCA linear que pode lidar com a análise de variáveis ​​possivelmente não linearmente relacionadas com diferentes tipos de nível de medição. O método é particularmente adequado para analisar dados nominais (qualitativos) e ordinais (por exemplo, tipo Likert), possivelmente combinados com dados numéricos. O programa CATPCA do módulo Categorias no SPSS é usado nas análises, mas a descrição do método pode ser facilmente generalizada para outros pacotes de software.


4

Ainda tenho o privilégio de comentar na postagem de alguém, por isso estou adicionando meu comentário como uma resposta separada. Por isso, tenha paciência comigo.

Continuando o que o @Martin F comentou, recentemente me deparei com os PCAs não lineares. Eu estava olhando para PCAs não lineares como uma alternativa possível quando uma variável contínua se aproxima da distribuição de uma variável ordinal à medida que os dados ficam mais escassos (isso acontece na genética muitas vezes quando a menor frequência de alelo da variável fica mais e mais baixa e você fica com um número muito baixo de contagens em que você realmente não pode justificar uma distribuição de uma variável contínua e precisa afrouxar as suposições distributivas, tornando-a uma variável ordinal ou uma variável categórica.) O PCA não linear pode lidar com essas duas condições, mas depois discutindo com maestros estatísticos na faculdade de genética, a chamada de consenso foi que os PCAs não-lineares não são usados ​​com muita frequência e o comportamento desses PCAs ainda não foi testado extensivamente (podem estar se referindo apenas ao campo da genética, por favor, leve-o com grãos de sal). Na verdade, é uma opção fascinante. Espero ter adicionado 2 centavos (felizmente relevantes) à discussão.


Congratulando-se com sua resposta, Mandar. Você está se referindo ao PCA não linear pelo método CATPCA ou outro PCA não linear (que método, então?). Observe também que, para variáveis binárias , CATPCA é, por exemplo, inútil ou trivial, porque uma escala dicotômica não pode ser quantificada além de ... dicotômica!
ttnphns

thnak você @ttnphns. Concordo com o seu ponto de vista sobre as variáveis ​​binárias quanto à variável binária, qualquer suposição não importa. Caso contrário, na verdade, eu estava me referindo a um capítulo de livro de "Introdução ao PCA não linear" [link] ( openaccess.leidenuniv.nl/bitstream/handle/1887/12386/… ). Refere-se principalmente aos pacotes CATPCA e PRINQUAL do SAS.
Mandar

2

Há uma abordagem recentemente desenvolvida para esses problemas: Modelos Generalizados de Classificação Baixa .

Um dos papéis que usa essa técnica é chamado PCA em um Data Frame .


O PCA pode ser colocado assim:

nmM

nkX^kmY^k

X^,Y^umargmEunX,Y__M-XY__F2

____F2


Isso soa mais como reinvenção do que nova idéia. Procure gifi!
precisa saber é o seguinte

Você não está exatamente certo, parece que o GLRM é uma generalização (na verdade, o artigo que vinculei cita o documento do pacote gifi).
Jakub Bartczuk

1

PCAmixdata#Rstats package :

Implementa análise de componentes principais, rotação ortogonal e análise de múltiplos fatores para uma mistura de variáveis ​​quantitativas e qualitativas.

Exemplo da vinheta mostra resultados para saída contínua e categórica

insira a descrição da imagem aqui

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.