No PCA, existe uma maneira sistemática de descartar variáveis ​​para maximizar a segregação de duas populações?

7

Estou tentando investigar, usando a análise de componentes principais, se é possível adivinhar com boa confiança de qual população ("Aurignaciana" ou "Gravetiana") veio um novo ponto de dados. Um ponto de dados é descrito por 28 variáveis, a maioria das quais são frequências relativas de artefatos arqueológicos. As demais variáveis ​​são computadas como proporções de outras variáveis.

Usando todas as variáveis, as populações segregam parcialmente (subparcela (a)), mas ainda há alguma sobreposição em sua distribuição (elipses de previsão de distribuição de 90% t, embora eu não tenha certeza se posso assumir a distribuição normal das populações). Por isso, pensei que não era possível prever com boa confiança a origem de um novo ponto de dados:

insira a descrição da imagem aqui

Removendo uma variável (r-BEs), a sobreposição se torna muito mais importante (subparcelas (d), (e) e (f)), pois as populações não segregam em nenhuma parcela PCA emparelhada: 1-2, 3- 4, ..., 25-26 e 1-27. Entendi que isso significava que r-BEs era essencial para separar as duas populações, porque eu pensava que, juntas, essas parcelas de PCA representam 100% da "informação" (variação) no conjunto de dados.

Fiquei, portanto, extremamente surpreso ao notar que as populações realmente segregavam quase completamente se eu abandonasse todas as variáveis, exceto algumas:

insira a descrição da imagem aqui Por que esse padrão não é visível quando executo um PCA em todas as variáveis? Com 28 variáveis, existem 268.435.427 maneiras de eliminar várias delas. Como encontrar aqueles que maximizarão a segregação populacional e melhor permitirão adivinhar a população de origem de novos pontos de dados? De maneira mais geral, existe uma maneira sistemática de encontrar padrões "ocultos" como esses?

EDIT: Por solicitação da ameba, aqui estão os gráficos quando os PCs são dimensionados. O padrão é mais claro. (Eu percebo que estou sendo travesso continuando a eliminar variáveis, mas o padrão dessa vez resiste ao knock-out de r-BEs, o que implica que o padrão "oculto" é captado pela escala):

insira a descrição da imagem aqui

Pertinax
fonte
11
+1 para figuras muito bonitas. Você está executando seu PCA na matriz de covariância ou na matriz de correlação, ou seja, todas as variáveis ​​estão normalizadas ou não? Será que você não normalizou suas variáveis ​​e as variáveis ​​G1 / 2/7/8/9 têm muito menos variação do que as variáveis ​​que o PCA "completo" está captando principalmente?
Ameba
@amoeba Obrigado pelo elogio :) As porcentagens não são normalizadas. Tentei dimensionar agora e parece ajudar. Decidi não escalar a princípio, porque achei que poderia adicionar ruído: artefatos muito raros com porcentagens baixas poderiam ser amplificados e, com eles, o efeito do acaso. Ainda é surpreendente, no entanto, que o efeito do G1 / 2/7/8/9 não possa ser visto nem nas variáveis ​​menos importantes.
Pertinax 21/05
Quero dizer nos PCs menos importantes
Pertinax
11
Não acho isso particularmente surpreendente. O que você parece ter aqui é um grupo de variáveis ​​(Gs) fortemente correlacionadas positivamente entre si (consulte a segunda linha da segunda figura) e que podem prever bem a identidade da população. No entanto, essas variáveis ​​têm menos variação do que algumas das outras variáveis ​​e não são selecionadas quando você faz o PCA em todas as variáveis. Ao mesmo tempo, acontece que eles não entram em um único componente do PCA-28 (eles se espalham em vários PCs), é por isso que você não vê essa separação em nenhum dos gráficos de dispersão em pares.
Ameba
11
Obrigado. Parece legal. As setas não devem ter o mesmo comprimento; após a normalização, eles têm o mesmo comprimento no espaço total de 28 dimensões, mas depois que você projeta tudo no 2D, eles terão comprimentos diferentes. Quanto maior a seta, maior a contribuição da variável correspondente para o PC1 / 2.
Ameba 22/05

Respostas:

5

Os componentes principais (PCs) são baseados nas variações das variáveis ​​/ recursos preditores. Não há garantia de que os recursos mais altamente variáveis ​​sejam os que estão mais altamente relacionados à sua classificação. Essa é uma explicação possível para seus resultados. Além disso, quando você se limita a projeções em 2 PCs por vez, como faz em seus gráficos, pode estar perdendo melhores separações que existem em padrões de dimensões mais altas.

Como você já está incorporando seus preditores como combinações lineares nos gráficos de seu PC, considere configurá-lo como um modelo de regressão logística ou multinomial. Com apenas duas classes (por exemplo, "Aurignaciana" versus "Gravetiana"), uma regressão logística descreve a probabilidade de pertencer a uma classe como uma função de combinações lineares das variáveis ​​preditoras. Uma regressão multinomial generaliza para mais de uma classe.

Essas abordagens fornecem flexibilidade importante em relação à variável resultado / classificação e aos preditores. Em termos do resultado da classificação, você modela a probabilidade de pertencer à classe em vez de fazer uma escolha irrevogável de tudo ou nada no próprio modelo. Assim, você pode, por exemplo, permitir pesos diferentes para diferentes tipos de erros de classificação com base no mesmo modelo logístico / multinomial.

Especialmente quando você começa a remover variáveis ​​preditoras de um modelo (como fazia nos exemplos), existe o perigo de o modelo final ficar muito dependente da amostra de dados específica em questão. Em termos de variáveis ​​preditivas na regressão logística ou multinomial, você pode usar métodos de penalização padrão como LASSO ou regressão de crista para potencialmente melhorar o desempenho do seu modelo em novas amostras de dados. Um modelo logístico ou multinomial de regressão de crista está próximo ao que você parece estar tentando realizar em seus exemplos. É fundamentalmente baseado nos componentes principais do conjunto de recursos, mas pesa os PCs em termos de suas relações com as classificações, e não pelas frações de variação do conjunto de recursos que eles incluem.

EdM
fonte
+1. Vale ressaltar que o uso da penalidade de Lasso fornecerá soluções esparsas (e, portanto, mais interpretáveis), que é o que parece ser o OP aqui.
Ameba
Muito obrigado por suas sugestões. Na verdade, eu havia notado que se pode perder um padrão PC1-PC3 se olhar apenas para PCs seqüenciais (PC1-PC2, PC3-PC4). O que estou procurando é uma declaração do tipo "Para cada ponto de dados futuro, posso atribuir associação corretamente à classe A com confiança de XX%, se for da classe A, e à classe B com confiança de YY, se for da classe B ". A regressão logística e a regressão cume me permitiriam obter isso?
Pertinax
11
A regressão logística fornece declarações como: "Dados esses valores preditores, a probabilidade é XX de que este caso esteja na Classe A." Geralmente, é o mais útil para a previsão, com um limite de participação na classe normalmente de 1/2. Uma declaração como a que você procura também requer conhecimento das distribuições de valores preditores entre os casos das Classes A e B. Como sua amostra de dados é uma estimativa dessas distribuições, você pode usar a validação cruzada ou o bootstrap para ajudar a gerar essa declaração. O ISLR fornece detalhes úteis.
Edm
2
@TheThunderChimp sua situação não é diferente de muitos problemas de classificação, nos quais a classe ajuda a determinar os valores das variáveis ​​"preditoras" e você está tentando inferir a classe subjacente. Uma abordagem LASSO ou rede elástica para a regressão logística deve ajudar com variáveis ​​correlacionadas. A separação perfeita é frequentemente vista na regressão logística, não necessariamente relacionada a correlações variáveis. Siga a hauck-donner-effecttag neste site para obter conselhos; esta resposta pode ser particularmente útil.
Edm
11
@TheThunderChimp Não sei até que ponto essa abordagem seria generalizada para mais de duas dimensões. Esta página pode ser ainda mais útil do que o que vinculei em um comentário anterior.
EdM