Eu me deparei com um cenário em que tenho 10 sinais / pessoa para 10 pessoas (então 100 amostras) contendo 14000 pontos de dados (dimensões) que preciso passar para um classificador. Gostaria de reduzir a dimensionalidade desses dados e o PCA parece ser o caminho para fazê-lo. No entanto, só consegui encontrar exemplos de PCA em que o número de amostras é maior que o número de dimensões. Estou usando um aplicativo PCA que localiza os PCs usando SVD. Quando passo o meu conjunto de dados 100x14000, 101 PCs são retornados, portanto a grande maioria das dimensões é obviamente ignorada. O programa indica que os 6 primeiros PCs contêm 90% da variação.
É uma suposição razoável que esses 101 PCs contenham essencialmente toda a variação e as dimensões restantes sejam negligenciáveis?
Um dos artigos que li afirma que, usando um conjunto de dados semelhante (embora de qualidade um pouco menor) que o meu, eles foram capazes de reduzir 4500 dimensões para 80, mantendo 96% da informação original. As ondas de papel sobre os detalhes da técnica de PCA usada, apenas 3100 amostras estavam disponíveis, e eu tenho razões para acreditar em menos amostras do que as usadas para realmente executar a PCA (para remover o viés da fase de classificação).
Estou faltando alguma coisa ou é realmente assim que o PCA é usado com um conjunto de dados de alta dimensionalidade e tamanho de amostra baixo? Qualquer comentário seria muito apreciado.
fonte
Respostas:
Eu olhava o problema de um ângulo um pouco diferente: quão complexo um modelo você pode pagar com apenas 10 indivíduos / 100 amostras?
E essa pergunta eu costumo responder com: muito menos de 100 PCs. Observe que eu trabalho em um tipo diferente de dados (espectros vibracionais), portanto as coisas podem variar um pouco. No meu campo, uma configuração comum usaria 10, 25 ou 50 PCs calculados a partir de O (1000) espectros de O (10) sujeitos.
Aqui está o que eu faria:
Veja a variação coberta por esses 100 PCs. Normalmente, acho que apenas alguns componentes realmente contribuem para a variação de nossos dados.
Eu prefiro o PLS como pré-tratamento para classificação do PCA, pois ele faz um trabalho muito melhor na classificação de direções com alta variação que não ajuda na classificação (no meu caso, podem ser variações de foco, diferentes espessuras da amostra). ..) Na minha experiência, geralmente recebo classificadores semelhantes com 10 variáveis latentes PLS ou 25 a 50 PCs.
As amostras de validação precisam ser processadas com a rotação do PCA calculada apenas a partir do conjunto de treinamento, caso contrário, a validação pode (e em casos extremos como o seu provavelmente terá) um grande viés super-otimista.
Em outras palavras, se você fizer uma validação sem inicialização ou cruzada, o pré-processamento do PCA ou PLS precisará ser calculado para cada combinação de trem / conjunto de testes separadamente.
fonte
fonte
Chegando a isso de um ângulo diferente:
fonte