Como posso saber que não há um padrão nos resultados do PCA?

9

Eu tenho um conjunto de dados de mais de 1000 amostras de 19 variáveis. Meu objetivo é prever uma variável binária com base nas outras 18 variáveis ​​(binárias e contínuas). Estou bastante confiante de que seis das variáveis ​​de previsão estão associadas à resposta binária, no entanto, gostaria de analisar melhor o conjunto de dados e procurar outras associações ou estruturas que possam estar faltando. Para fazer isso, decidi usar o PCA e o armazenamento em cluster.

Ao executar o PCA nos dados normalizados, é necessário manter 11 componentes para manter 85% da variação. insira a descrição da imagem aqui Ao traçar os gráficos de pares, recebo o seguinte: insira a descrição da imagem aqui

Não sei ao certo o que vem a seguir ... Não vejo um padrão significativo no pca e estou me perguntando o que isso significa e se poderia ter sido causado pelo fato de algumas das variáveis ​​serem binárias. Ao executar um algoritmo de clustering com 6 clusters, obtenho o seguinte resultado, que não é exatamente uma melhoria, embora alguns blobs pareçam se destacar (os amarelos). insira a descrição da imagem aqui

Como você provavelmente pode perceber, não sou especialista em PCA, mas vi alguns tutoriais e como pode ser poderoso ter uma visão geral das estruturas no espaço de alta dimensão. Com o famoso conjunto de dados dígitos do MNIST (ou o IRIS), ele funciona muito bem. Minha pergunta é: o que devo fazer agora para dar mais sentido ao PCA? O armazenamento em cluster parece não pegar algo útil, como posso saber que não há padrão no PCA ou o que devo tentar em seguida para encontrar padrões nos dados do PCA?

mickkk
fonte
Por que você está executando o PCA para encontrar preditores? Por que não usar outro método? por exemplo, você pode incluí-los todos em um reg logística, você poderia usar LASSO, você poderia construir um modelo de árvore, há ensacamento, aumentando etc.
Peter Flom - Reintegrar Monica
O que você quer dizer com "padrão" específico que o PCA pode revelar?
ttnphns
@ttnphns o que estou tentando fazer é encontrar um subgrupo de observações que possa ter algo em comum para explicar melhor o resultado da resposta binária que estou tentando prever (isso foi parcialmente inspirado no everydayanalytics.ca/2014/ 06 / ... ). Também usando pca e clustering no conjunto de dados da íris, é útil isolar as espécies ( scikit-learn.org/stable/auto_examples/decomposition/… ), embora isso seja super fácil, pois já sabemos o número de clusters.
Mckkk 16/09/2015
@PeterFlom Já executei regressão logística e um modelo de floresta aleatório e eles estão executando decentemente, mas gostaria de investigar mais os dados.
Mckkk 16/09/2015

Respostas:

7

Você explicou que o gráfico de variância me diz que o PCA não faz sentido aqui. 11/18 é 61%, então você precisa de 61% de suas variáveis ​​para explicar 85% da variação. Esse não é o caso do PCA, na minha opinião. Uso PCA quando 3-5 fatores de 18 explicam 95% ou mais da variação.

ATUALIZAÇÃO: observe o gráfico da porcentagem acumulada de variação explicada pelo número de PCs. Isso é do campo de modelagem da estrutura a termo da taxa de juros. Você vê como três componentes explicam mais de 99% da variação total. Pode parecer um exemplo inventado para publicidade de PCA :) No entanto, isso é algo real. Os prazos de taxa de juros estão muito correlacionados, é por isso que o PCA é muito natural nesse aplicativo. Em vez de lidar com algumas dezenas de tenores, você lida com apenas 3 componentes.

insira a descrição da imagem aqui

Aksakal
fonte
Isso é o que eu suspeitava em primeiro lugar. Não indiquei diretamente, porque não sei muito sobre o PCA para fazer uma declaração tão ousada. É seguro dizer que, quando mais de x% dos componentes são necessários, o PCA não ajuda muito? Quero dizer, nos exemplos de aplicação que vi, geralmente poucos componentes explicam a maior variação.
Mickkk 16/09/15
@ mickkk, não existe uma regra firme. Para mim, a indicação é convexidade, o gráfico explicado pela variância. Se você desenhá-lo como uma porcentagem acumulada da variação total explicada pelo número de PCs, deseja ver um gráfico muito côncavo. Você teria sido quase linear: cada componente parece conter aproximadamente as mesmas informações sobre os dados; nesse caso, por que usar o PCA em vez dos dados originais?
Aksakal
A edição com o novo exemplo foi muito útil.
Mickkk 16/09/15
5

Se você tiver amostras e apenas preditores, seria bastante razoável usar apenas todos os preditores em um modelo. Nesse caso, uma etapa do PCA pode muito bem ser desnecessária.p = 19N>1000p=19

Se você está confiante de que apenas um subconjunto de variáveis ​​é realmente explicativo, o uso de um modelo de regressão esparso, por exemplo, Elastic Net, pode ajudá-lo a estabelecer isso.

Além disso, a interpretação dos resultados do PCA usando entradas do tipo misto (binário versus real, escalas diferentes etc., consulte a pergunta CV aqui ) não é tão direta e você pode evitá-lo, a menos que haja uma razão clara para fazê-lo.

conjecturas
fonte
4

Vou interpretar sua pergunta da maneira mais sucinta possível. Deixe-me saber se isso muda o seu significado.

Estou bastante confiante de que 6 das variáveis ​​de previsão estão associadas à resposta binária [mas] não vejo padrão significativo no pca

Também não vejo nenhum "padrão significativo", além da consistência em seus gráficos de pares. São apenas bolhas mais ou menos circulares. Estou curioso para saber o que você esperava ver. Clusters de pontos claramente separados em alguns dos pares de gráficos? Algumas parcelas muito próximas de linear?

Os resultados do seu PCA - os pares de bloblike e apenas 85% da variação capturada nos 11 principais componentes principais - não impedem que seu palpite sobre seis variáveis ​​sejam suficientes para a previsão de resposta binária.

Imagine estas situações:

  1. Digamos que os resultados do PCA mostrem que 99% da variação é capturada por 6 componentes principais.

    Isso pode parecer apoiar seu palpite sobre 6 variáveis ​​preditivas - talvez você possa definir um plano ou alguma outra superfície nesse espaço tridimensional que classifique os pontos muito bem e você possa usar essa superfície como um preditor binário. O que me leva ao número 2 ...

  2. Digamos que seus 6 principais componentes principais possuam gráficos pareados assim

    "Padrão" em pares.

    Mas vamos codificar por cores uma resposta binária arbitrária

    "Padrão" é inútil.

    Mesmo que você tenha conseguido capturar quase toda (99%) da variação em 6 variáveis, ainda não é garantido que você tenha uma separação espacial para prever sua resposta binária.

Você pode realmente precisar de vários limites numéricos (que podem ser plotados como superfícies nesse espaço tridimensional), e a associação de um ponto à sua classificação binária pode depender de uma expressão condicional complexa feita da relação desse ponto com cada um desses limites. Mas isso é apenas um exemplo de como uma classe binária pode ser prevista. Existem inúmeras estruturas e métodos de dados para representação, treinamento e previsão. Este é um teaser. Citar,

Muitas vezes, a parte mais difícil de resolver um problema de aprendizado de máquina pode ser encontrar o estimador certo para o trabalho.

kdbanman
fonte
11
O rosto sorridente é realmente bom, porque não está correlacionado! Eu gostei.
Ameba
@amoeba, você pode ter um rosto sorridente de PCs não relacionados?
Aksakal
@ Aksakal, sim, o gráfico de dispersão de smiley parece exibir correlação zero. Kdbanman, agradeço a atualização, +1.
Ameba
@amoeba, ok, você quer dizer correlação linear .
Aksakal