O que pode fazer com que o PCA agrave os resultados de um classificador?

27

Eu tenho um classificador no qual estou fazendo validação cruzada, juntamente com mais ou menos cem recursos nos quais estou fazendo a seleção direta para encontrar combinações ideais de recursos. Também comparo isso com a execução dos mesmos experimentos com o PCA, onde utilizo os recursos em potencial, aplico SVD, transformo os sinais originais no novo espaço de coordenadas e utilizo os principais recursos do no meu processo de seleção direta.k

Minha intuição era que o PCA melhoraria os resultados, pois os sinais seriam mais "informativos" do que os recursos originais. Minha compreensão ingênua do PCA está me levando a problemas? Alguém pode sugerir alguns dos motivos mais comuns pelos quais o PCA pode melhorar os resultados em algumas situações, mas piorá-los em outras?

Dolan Antenucci
fonte
Sua pergunta pode ser resumida assim ?: "O que é melhor - criar classificadores com base nas variáveis ​​originais ou em alguns componentes principais extraídos dessas?"
ttnphns
1
Eu diria mais ao longo das linhas de: "Existem situações em que é melhor usar as variáveis ​​originais versus alguns componentes principais extraídos dessas?"
Dolan Antenucci
1
Existem muitas técnicas de classificação. Se, por exemplo, fizer uma análise discriminante, recomendo que você leia esta postagem (incluindo meu próprio comentário).
ttnphns
1
O que você quer dizer com 'resultados de um classificador'? Se a proporção for classificada corretamente, essa é uma regra descontínua de pontuação inadequada, ou seja, uma pontuação de precisão otimizada por um modelo falso. Sugiro usar uma regra de pontuação de precisão adequada, para começar.
Frank # # # # Harrell Harrell
1
Tarde demais para a festa, mas: a primeira coisa que eu verificaria seria que os resultados da validação da seleção direta foram realmente obtidos com casos independentes. Caso contrário, você provavelmente estará sujeito a um enorme viés otimista.
Cbeleites suporta Monica

Respostas:

29

Considere um caso simples, extraído de um artigo fantástico e subvalorizado "Uma nota sobre o uso de componentes principais na regressão" .

Suponha que você tenha apenas dois recursos (redimensionados e sem significado), denotá-los e x 2 com correlação positiva igual a 0,5, alinhada em X , e uma terceira variável de resposta Y que você deseja classificar. Suponha que a classificação de Y seja totalmente determinada pelo sinal de x 1 - x 2 .x1x2XYYx1x2

A execução do PCA em resulta nos novos recursos (ordenados por variação) [ x 1 + x 2 , x 1 - x 2 ] , pois Var ( x 1 + x 2 ) = 1 + 1 + 2 ρ > Var ( x 1 - x 2 ) = 2 - 2 ρX[x1+x2,x1x2]Var(x1+x2)=1+1+2ρ>Var(x1x2)=22ρ. Portanto, se você reduzir sua dimensão para 1, ou seja, o primeiro componente principal, estará descartando a solução exata para sua classificação!

O problema ocorre porque PCA é agnóstico para . Infelizmente, não é possível incluir Y no PCA, pois isso resultará em vazamento de dados.YY


O vazamento de dados ocorre quando sua matriz é construída usando os preditores de destino em questão; portanto, qualquer previsão fora da amostra será impossível.X

Por exemplo: em séries temporais financeiras, tentar prever o fechamento do final do dia na Europa, que ocorre às 11h EST, usando fechamentos de fim de dia nos EUA, às 16h EST, há vazamento de dados desde que o americano fecha , que ocorrem horas depois, incorporaram os preços dos fechamentos europeus.

Cam.Davidson.Pilon
fonte
2
o que é "vazamento de dados"?
user603
@Wayne caro demais haha
Cam.Davidson.Pilon
(-1) por causar confusão: (1) o PCA não é supervisionado, portanto nunca incluirá Y na claculação da transformação. A técnica supervisionada correspondente é o PLS, que usa X e Y. (2) O vazamento de dados (como em: teste com dados estatisticamente dependentes) não segue por si só o uso de um método supervisionado. Pelo contrário: ocorrerá com o PCA da mesma forma que com o PLS se você não obedecer à regra de que, desde a primeira etapa da análise que usa mais de um caso (por exemplo, centralização, dimensionamento, projeção de PCA / PLS) em todos os cálculos, é necessário ser feita sobre os dados de treinamento apenas (ou seja, precisam ser ...
cbeleites suportes Monica
... recalculado para cada um dos modelos substitutos. Os resultados destes cálculos pode então ser aplicada para os dados de teste, ou seja, subtrair o centro obtido a partir dos dados de formação, girar pela rotação obtida por PCA sobre os casos de formação, etc.
cbeleites suporta Monica
Como no exemplo: as séries temporais são particularmente difíceis, pois o que constitui um caso independente dependerá muito da aplicação. Veja, por exemplo, stats.stackexchange.com/questions/76376/…
cbeleites suporta Monica
23

Há uma explicação geométrica simples. Tente o exemplo a seguir em R e lembre-se de que o primeiro componente principal maximiza a variação.

library(ggplot2)

n <- 400
z <- matrix(rnorm(n * 2), nrow = n, ncol = 2)
y <- sample(c(-1,1), size = n, replace = TRUE)

# PCA helps
df.good <- data.frame(
    y = as.factor(y), 
    x = z + tcrossprod(y, c(10, 0))
)
qplot(x.1, x.2, data = df.good, color = y) + coord_equal()

# PCA hurts
df.bad <- data.frame(
    y = as.factor(y), 
    x = z %*% diag(c(10, 1), 2, 2) + tcrossprod(y, c(0, 8))
)
qplot(x.1, x.2, data = df.bad, color = y) + coord_equal()

Ajuda do PCA O PCA ajuda

A direção da variação máxima é horizontal e as classes são separadas horizontalmente.

O PCA prejudica O PCA dói

A direção da variação máxima é horizontal, mas as classes são separadas verticalmente

vqv
fonte
... e no exemplo 2, o analogon supervisionado, PLS realmente ajudaria.
Cbeleites suporta Monica
3

Vejo que a pergunta já tem uma resposta aceita, mas queria compartilhar este artigo que fala sobre o uso do PCA para transformação de recursos antes da classificação .

A mensagem para levar para casa (que é visualizada lindamente na resposta do @ vqv) é:

A Análise de Componentes Principais (PCA) é baseada na extração dos eixos nos quais os dados mostram a maior variabilidade. Embora o PCA “espalhe” os dados na nova base e possa ser de grande ajuda no aprendizado não supervisionado, não há garantia de que os novos eixos sejam consistentes com os recursos discriminatórios em um problema de classificação (supervisionado).

Para os interessados, se você observar a Seção 4. Resultados experimentais , eles comparam as precisões de classificação com 1) os artistas originais, 2) recursos transformados por PCA e 3) combinação de ambos, o que era algo novo para mim.

Minha conclusão:

As transformações de recursos baseadas em PCA permitem resumir as informações de um grande número de recursos em um número limitado de componentes, isto é, combinações lineares dos recursos originais. No entanto, os componentes principais geralmente são difíceis de interpretar (não intuitivos) e, como os resultados empíricos deste artigo indicam, eles geralmente não melhoram o desempenho da classificação.

PS: Observo que uma das limitações do artigo que deveria ter sido listada foi o fato de os autores limitarem a avaliação de desempenho dos classificadores apenas a 'credenciamento', o que pode ser um indicador de desempenho muito tendencioso.

Zhubarb
fonte
3

Suponha um caso simples com 3 variáveis ​​independentes x1,x2,x3 e a saída y e suponha agora que x3=y e você deve conseguir um modelo de erro 0.

Suponha agora que no treinamento defina a variação de y é muito pequeno e também a variação de x3.

Agora, se você executar o PCA e decidir selecionar apenas 2 variáveis, obterá uma combinação de x1 e x2. Então a informação dex3 essa foi a única variável capaz de explicar y está perdido.

Donbeo
fonte