O PCA funcionaria para tipos de dados booleanos (binários)?

38

Quero reduzir a dimensionalidade dos sistemas de ordem superior e capturar a maior parte da covariância em um campo de preferência bidimensional ou unidimensional. Entendo que isso pode ser feito por meio da análise de componentes principais e usei o PCA em muitos cenários. No entanto, nunca o usei com tipos de dados booleanos e fiquei pensando se é significativo fazer o PCA com esse conjunto. Por exemplo, finja que tenho métricas qualitativas ou descritivas e atribua um "1" se essa métrica for válida para essa dimensão e "0" se não for (dados binários). Por exemplo, finja que você está tentando comparar os Sete Anões em Branca de Neve. Nós temos:

Doc, Dunga, Bashful, Grumpy, Sneezy, Sleepy and Happy, e você deseja organizá-los com base nas qualidades, e fez o seguinte:

(euumactose EuntoeuerumantUMA Honor RoeueuUMAtheuetEucWeumaeuthyDoc1 10 01 11 1Dopey0 00 00 00 0Bumashfvocêeu1 10 01 11 1Grvocêmpy1 11 11 11 1Sneezy0 01 11 10 0Seueepy1 10 00 00 0Humappy1 11 10 00 0)

Assim, por exemplo, Bashful é intolerante à lactose e não faz parte do papel de honra A. Esta é uma matriz puramente hipotética, e minha matriz real terá muito mais colunas descritivas. Minha pergunta é: ainda seria apropriado fazer o APC nessa matriz como meio de encontrar a semelhança entre os indivíduos?

Alvin Nunez
fonte
11
Esta questão é (quase) uma duplicata dessa . O PCA pode ser feito com dados binários / booleanos, mas a análise fatorial (incluindo o PCA "como se" fosse FA) nesses dados é problemática .
ttnphns
11
O PCA em dados binários como o seu ("presente" vs "ausente") normalmente seria realizado sem centralizar as variáveis ​​porque não há razão para sugerir a origem (o ponto de referência) além do 0. original. Portanto, em vez de covariância- ou PCA baseado em correlação, chegamos ao SSCP ou cosseno . Essa análise é muito semelhante, quase equivalente à análise de correspondência múltipla (= análise de homogeneidade), que pode ser a sua escolha.
ttnphns
a means of finding the similarity between individuals. Mas essa tarefa é para uma análise de cluster, não para PCA.
ttnphns
Resposta curta: PCA linear (se usado como técnica de redução de dimensionalidade e não como variável variável latente como análise fatorial) pode ser usado para dados de escala (métricos) ou binários. O PCA simples (linear) não deve ser utilizado com dados ordinais ou dados nominais - a menos que esses dados sejam transformados em métricos ou binários (por exemplo, fictícios) de alguma forma.
ttnphns
@ttnphns O PCA pode ser visto como uma maneira de agrupar variáveis. Além disso, APC e análise de agrupamento pode ser utilizado em sequência
Antoine

Respostas:

12

Gostaria de sugerir uma técnica relativamente recente para a extração automática da estrutura a partir de dados variáveis ​​categóricos (isso inclui binário). O método é chamado CorEx de Greg van Steeg da University of Southern California. A idéia é usar a noção de Correlação Total com base nas medidas de entropia. É atraente devido à sua simplicidade e sem ajuste de grande número de hiperparâmetros.

O artigo sobre representações hierárquicas (o mais recente, baseia-se nas medidas anteriores). http://arxiv.org/pdf/1410.7404.pdf

Vladislavs Dovgalecs
fonte
11
@AlvinNunez De nada! A implementação do python pode ser encontrada no GitHub github.com/gregversteeg/CorEx. É muito fácil obter seus dados e ver o que sai.
Vladislavs Dovgalecs 02/07/2015
13

Você também pode usar a Análise de Correspondência Múltipla (MCA), que é uma extensão da análise de componentes principais quando as variáveis ​​a serem analisadas são categóricas em vez de quantitativas (como é o caso das variáveis ​​binárias). Veja, por exemplo, Husson et al. (2010) ou Abdi e Valentin (2007) . Um excelente pacote R para executar o MCA (e cluster hierárquico em PCs) é o FactoMineR .

Antoine
fonte
11
Uma resposta interessante, eu prefiro concordar com isso. Será um grande trunfo se você explicar com mais detalhes o fenômeno do inflation of the feature spacee por que ele ocorreria no PCA e não no MCA.
precisa saber é o seguinte
Eu não entendi o inflation of the feature spacefenômeno. Parece estar entrando em jogo ao passar da CA para a MCA, mas não é um problema inerente ao PCA. Vou remover minha resposta quando você ler este comentário. Obrigado por me fazer perceber isso.
Antoine
Eu não acho que você precise remover a resposta. MCA é uma das escolhas certas, para mim, e sua resposta está certa.
precisa saber é o seguinte
Eu adicionei de volta a resposta porque acho MCA pode ser útil aqui, mas eu removi a discussão sobre a inflação do espaço de características, uma vez que não parecem ser relevantes
Antoine
Como o resultado do MCA em dados binários difere do resultado de um PCoA com uma medida de distância apropriada para dados binários como Jaccard ou correspondência simples?
emudrak
9

Se você pensa no PCA como uma técnica exploratória para fornecer uma maneira de visualizar os relacionamentos entre variáveis ​​(e, na minha opinião, essa é a única maneira de pensar sobre isso), então sim, não há razão para que você não possa colocar no modo binário. variáveis. Por exemplo, aqui está um biplot de seus dados

insira a descrição da imagem aqui

Parece razoavelmente útil. Por exemplo, você pode ver que Doc e Bashful são muito semelhantes; que o RH é bastante diferente das três outras variáveis; Sleepy e Sneezy são muito diferentes, etc.

Solha
fonte