PCA na correlação ou covariância: o PCA na correlação faz algum sentido? [fechadas]

32

Na análise de componentes principais (PCA), pode-se escolher a matriz de covariância ou a matriz de correlação para encontrar os componentes (de seus respectivos vetores próprios). Eles fornecem resultados diferentes (cargas de PC e pontuações), porque os vetores próprios entre as duas matrizes não são iguais. Meu entendimento é que isso é causado pelo fato de que um vetor de dados brutos e sua padronização não podem ser relacionados por uma transformação ortogonal. Matematicamente, matrizes semelhantes (isto é, relacionadas por transformação ortogonal) têm os mesmos valores próprios, mas não necessariamente os mesmos vetores próprios.XZ

Isso levanta algumas dificuldades em minha mente:

  1. O PCA realmente faz sentido, se você puder obter duas respostas diferentes para o mesmo conjunto de dados inicial, ambas tentando obter a mesma coisa (= encontrando instruções de variação máxima)?

  2. Ao usar a abordagem da matriz de correlação, cada variável está sendo padronizada (escalada) por seu próprio desvio padrão individual, antes de calcular os PCs. Como, então, ainda faz sentido encontrar as direções da variação máxima se os dados já foram dimensionados / compactados de forma diferente de antemão? Eu sei que esse PCA baseado em correlação é muito conveniente (variáveis ​​padronizadas são adimensionais, portanto, suas combinações lineares podem ser adicionadas; outras vantagens também são baseadas no pragmatismo), mas está correto?

Parece-me que o PCA baseado em covariância é o único verdadeiramente correto (mesmo quando as variações das variáveis ​​diferem bastante) e que sempre que essa versão não pode ser usada, o PCA baseado em correlação também não deve ser usado.

Eu sei que existe esta discussão: PCA sobre correlação ou covariância? - mas parece focar apenas em encontrar uma solução pragmática, que pode ou não ser também algebricamente correta.

Lucozade
fonte
4
Vou ser sincero e dizer que parei de ler sua pergunta em algum momento. PCA faz sentido. Sim, os resultados podem ser diferentes dependendo se você optar por usar a matriz de correlação ou variância / covariância. O PCA baseado em correlação é preferido se suas variáveis ​​forem medidas em escalas diferentes, mas você não deseja que isso domine o resultado. Imagine se você tiver uma série de variáveis ​​que variam de 0 a 1 e algumas que possuem valores muito grandes (relativamente falando, como 0 a 1000), a grande variação associada ao segundo grupo de variáveis ​​será dominante.
Patrick
4
Mas esse também é o caso de muitas outras técnicas e acho que o argumento de Patrick é razoável. Também foi apenas um comentário, sem necessidade de se tornar agressivo. De um modo geral, por que você supõe que deveria haver uma maneira correta “algebricamente” de abordar o problema?
Gala
5
Talvez você esteja pensando no PCA da maneira errada: é apenas uma transformação, portanto não há dúvida de que ele está correto ou incorreto ou se baseia em suposições sobre o modelo de dados - ao contrário, digamos, de regressão ou análise de fatores.
Scortchi - Restabelece Monica
5
O cerne dessa questão parece repousar em um mal-entendido sobre o que a padronização faz e como o PCA funciona. Isso é compreensível, porque uma boa compreensão do PCA requer visualização de formas de dimensões mais altas. Eu sustentaria que essa pergunta, como muitas outras questões baseadas em algum tipo de mal-entendido, é, portanto, boa e deve permanecer aberta, porque suas respostas podem revelar verdades que muitas pessoas talvez não tenham apreciado completamente antes.
whuber
6
O PCA não "reivindica" nada. As pessoas fazem reivindicações sobre o PCA e, de fato, o usam de maneira muito diferente, dependendo do campo. Alguns desses usos podem ser tolos ou questionáveis, mas não parece muito esclarecedor supor que uma única variante da técnica deva ser a “algebricamente correta”, sem referência ao contexto ou objetivo da análise.
Gala

Respostas:

29

Espero que essas respostas às suas duas perguntas acalmem sua preocupação:

  1. Uma matriz de correlação é uma matriz de covariância dos dados padronizados (isto é, não apenas centralizados, mas também redimensionados); isto é, uma matriz de covariância (como se) de outro conjunto de dados diferente. Portanto, é natural e não deve incomodá-lo que os resultados sejam diferentes.
  2. Sim, faz sentido encontrar as direções da variação máxima com dados padronizados - elas são as direções de - por assim dizer - "correlação", não "covariância"; isto é, após o efeito de variações desiguais - das variáveis ​​originais - sobre a forma da nuvem de dados multivariada.

Próximo texto e fotos adicionados por @whuber (agradeço a ele. Além disso, veja meu comentário abaixo)

Aqui está um exemplo bidimensional mostrando por que ainda faz sentido localizar os eixos principais dos dados padronizados (mostrados à direita). Observe que no gráfico à direita a nuvem ainda tem uma "forma", embora as variações ao longo dos eixos das coordenadas agora sejam exatamente iguais (a 1,0). Da mesma forma, em dimensões mais altas, a nuvem de pontos padronizada terá uma forma não esférica, mesmo que as variações ao longo de todos os eixos sejam exatamente iguais (a 1,0). Os eixos principais (com seus valores próprios correspondentes) descrevem essa forma. Outra maneira de entender isso é notar que todo o redimensionamento e deslocamento que ocorre ao padronizar as variáveis ​​ocorre apenas nas direções dos eixos de coordenadas e não nas próprias direções principais.

Figura

O que está acontecendo aqui é geometricamente tão intuitivo e claro que seria muito difícil caracterizá-lo como uma "operação de caixa preta": pelo contrário, padronização e PCA são algumas das coisas mais básicas e rotineiras que fazemos com os dados para para entendê-los.


Continua por @ttnphns

Quando alguém preferiria fazer PCA (ou análise fatorial ou outro tipo similar de análise) em correlações (isto é, em variáveis ​​padronizadas z) em vez de fazê-lo em covariâncias (isto é, em variáveis ​​centralizadas)?

  1. Quando as variáveis ​​são diferentes unidades de medida. Está claro.
  2. Quando se quer que a análise reflita apenas e somente associações lineares . Pearson r não é apenas a covariância entre as variáveis ​​não calculadas (variância = 1); de repente, é a medida da força do relacionamento linear, enquanto o coeficiente de covariância usual é receptivo ao relacionamento linear e monotônico.
  3. Quando se quer as associações para refletir parente co-deviatedness (a partir da média) em vez de co-deviatedness cru. A correlação é baseada em distribuições, seus spreads, enquanto a covariância é baseada na escala de medição original. Se eu fosse fatorialmente analisar o perfil psicopatológico dos pacientes conforme avaliado pelos psiquiatras em algum questionário clínico composto por itens do tipo Likert, eu preferiria covariâncias. Porque não se espera que os profissionais distorçam a escala de classificação por via intrapsíquica. Se, por outro lado, eu analisasse os autorretratos dos pacientes pelo mesmo questionário, provavelmente escolheria correlações. Como se espera que a avaliação dos leigos seja relativa "outras pessoas", "a maioria" "desvio permitido" lupa que "encolhe" ou "estica" a escala de classificação de um.
ttnphns
fonte
1
1. Desculpe, mas isso incomoda muito. Para um indivíduo externo, a padronização é uma operação de caixa preta, parte do pré-condicionamento de dados do PCA (também na ICA). Ele deseja uma resposta para seus dados de entrada (brutos), especialmente se estiverem relacionados a dados físicos (dimensionados) para os quais a saída do PCA também precisa ser interpretada fisicamente (ou seja, em termos de variáveis ​​não padronizadas).
precisa
1
Sua revisão mais recente parece ser uma reafirmação de que "o PCA baseado em covariância é o único verdadeiramente correto". Como a totalidade das respostas até agora é essencialmente "Não; maneira errada de pensar sobre isso; e aqui está o porquê", é difícil saber como você espera direcionar a discussão contra uma discordância tão esmagadora.
Nick Cox
4
@Lucozade: Fiquei confuso com a descrição do seu aplicativo: - Como a PCA está recomendando alguma coisa? Como você mediu o desempenho ? Da mesma forma para o seu último comentário: - O ideal para quê?
Scortchi - Restabelece Monica
5
@Lucozade: De fato, ouça o que Scortchi disse, você parece continuar perseguindo fantasmas. O PCA é simplesmente uma forma especial de rotação de dados no espaço. Ele sempre faz da maneira ideal o que faz com os dados de entrada. O dilema cov-corr é pragmático, enraizado no pré-processamento de dados e sendo resolvido nesse nível, não no nível do PCA.
ttnphns
1
@Lucozade: Seria minha opinião (não especializada) com base em sua resposta para mim que, em sua necessidade específica, você está certo em querer PCA baseado em cov. Novamente, suas variáveis ​​são todas homogêneas em termos de tipo de dados / medição (mesmo tipo de máquina e todos os dados em volts). Para mim, seu exemplo é claramente um caso em que cov-PCA está correto, mas observe que esse nem sempre é o caso, e acho que esse é o ponto importante disso enquanto thread (a escolha de cor v. Cov é específica do caso e precisa a ser determinado pela pessoa que entende melhor os dados e o aplicativo). Boa sorte com sua pesquisa!
Patrick
6

Falando de um ponto de vista prático - possivelmente impopular aqui - se você tiver dados medidos em diferentes escalas, siga a correlação ('UV scaling' se você é quimiométrico), mas se as variáveis ​​estiverem na mesma escala e o tamanho delas for importante (por exemplo, com dados espectroscópicos), a covariância (centralizando apenas os dados) faz mais sentido. O PCA é um método dependente da escala e a transformação de log também pode ajudar com dados altamente distorcidos.

Na minha humilde opinião, baseada em 20 anos de aplicação prática da quimiometria, você precisa experimentar um pouco e ver o que funciona melhor para o seu tipo de dados. No final do dia, você precisa ser capaz de reproduzir seus resultados e tentar provar a previsibilidade de suas conclusões. Como você chega lá, geralmente há um caso de tentativa e erro, mas o importante é que o que você faz é documentado e reproduzível.

marca
fonte
4
A abordagem prática que você parece defender aqui se resume a - quando covariâncias e correlações são necessárias - "tente as duas e veja o que funciona melhor". Essa postura empírica pura mascara o fato de que qualquer escolha tem suas próprias suposições ou paradigmas sobre a realidade da qual o pesquisador deve estar ciente de antemão, mesmo que entenda que prefere uma delas de forma totalmente arbitrária. Selecionar "o que funciona melhor" é capitalizar a sensação de prazer, a narcomania.
ttnphns
-2

Não tenho tempo para entrar em uma descrição mais completa dos aspectos técnicos e detalhados do experimento que descrevi, e os esclarecimentos sobre palavras (recomendação, desempenho, ótimo) nos desviariam novamente do problema real, que é o tipo de dado de entrada . o PCA pode (não) / não (deve) estar tomando. O PCA opera utilizando combinações lineares de números (valores de variáveis). Matematicamente, é claro, pode-se adicionar dois números (reais ou complexos). Mas se eles foram redimensionados antes da transformação do PCA, a combinação linear (e, portanto, o processo de maximização) ainda é significativa para operar? Se cada variável tem a mesma variação , então claramente sim, porquexis2(x1/s1)+(x2/s2)=(x1+x2)/sainda é proporcional e comparável à superposição física dos dados . Mas se , a combinação linear de quantidades padronizadas distorce os dados das variáveis ​​de entrada para diferentesx1+x2s1s2graus. Parece pouco, então, maximizar a variação de sua combinação linear. Nesse caso, o PCA fornece uma solução para um conjunto diferente de dados, em que cada variável é dimensionada de maneira diferente. Se você não padronizar posteriormente (ao usar corr_PCA), isso poderá ser bom e necessário; mas se você simplesmente pegar a solução corr_PCA bruta como está e parar por aí, obteria uma solução matemática, mas não uma relacionada aos dados físicos. Como a padronização posterior parece obrigatória no mínimo (ou seja, 'esticar' os eixos pelos desvios padrão inversos), cov_PCA poderia ter sido usado para começar. Se você ainda está lendo agora, estou impressionado! Por enquanto, termino citando o livro de Jolliffe, p. 42, que é a parte que me preocupa:'Não se deve esquecer, no entanto, que os PCs da matriz de correlação, quando reexpressos em termos das variáveis ​​originais, ainda são funções lineares de x que maximizam a variação em relação às variáveis ​​padronizadas e não em relação às variáveis ​​originais.' Se você acha que estou interpretando isso incorretamente ou suas implicações, esse trecho pode ser um bom ponto de foco para uma discussão mais aprofundada.

Lucozade
fonte
3
É tão divertido que sua própria resposta, que está em sintonia com tudo o que as pessoas aqui estavam tentando transmitir a você, permanece inquieta para você. Você ainda discute There seems little pointno PCA sobre correlações. Bem, se você precisar ficar perto dos dados brutos ("dados físicos", como estranhamente o chama), não deve usar correlações, pois elas correspondem a outros dados ("distorcidos").
ttnphns
2
(Cont.) A citação de Jolliffe afirma que os PCs obtidos em correlações jamais serão eles mesmos e não poderão ser "devolvidos" a PCs por covariâncias, mesmo que você possa expressá-los novamente como combinações lineares das variáveis ​​originais. Assim, Jolliffe sublinha a ideia de que os resultados PCA são totalmente dependentes do tipo de pré-processamento utilizado e que não existem "verdadeiros", "genuínos" ou PCs "universais" ...
ttnphns
2
(Cont.) E, de fato, várias linhas abaixo de Jolliffe falam de mais uma "forma" de PCA - PCA na X'Xmatriz. Este formulário é ainda mais "próximo" dos dados originais do que o cov-PCA, porque nenhuma centralização de variáveis ​​está sendo feita. E os resultados geralmente são totalmente diferentes . Você também pode fazer PCA em cossenos. As pessoas fazem PCA em todas as versões da matriz SSCP , embora covariâncias ou correlações sejam usadas com mais frequência.
ttnphns
3
Subjacente a essa resposta está uma suposição implícita de que as unidades nas quais os dados são medidos têm um significado intrínseco. Isso raramente é o caso: podemos optar por medir o comprimento em Angstroms, parsecs ou qualquer outra coisa, e o tempo em picossegundos ou milênios, sem alterar o significado dos dados nem um pouco. As mudanças feitas na passagem da covariância para a correlação são meramente alterações de unidades (que, a propósito, são particularmente sensíveis a dados externos). Isso sugere que a questão não é covariância versus correlação, mas sim encontrar maneiras proveitosas de expressar os dados para análise.
whuber
3
@ttnphns Vou ficar com o "meramente", obrigado. Independentemente de as implicações serem "profundas", permanece o fato de que a padronização de uma variável é literalmente uma reexpressão afim de seus valores: uma mudança em suas unidades de medida. A importância dessa observação está em suas implicações para algumas afirmações que aparecem nesta discussão, das quais a mais proeminente é "a PCA baseada em covariância é a única verdadeiramente correta". Qualquer concepção de correção que, em última análise, dependa de um aspecto essencialmente arbitrário dos dados - como os escrevemos - não pode estar certa.
whuber