Padronizando recursos ao usar o LDA como uma etapa de pré-processamento

9

Se uma Análise Discriminante Linear de várias classes (ou às vezes também leio Análise Discriminante Múltipla) for usada para redução de dimensionalidade (ou transformação após redução de dimensionalidade via PCA), entendo que, em geral, uma "normalização do escore Z" (ou padronização) de os recursos não serão necessários, mesmo que sejam medidos em escalas completamente diferentes, correto? Como o LDA contém um termo semelhante à distância de Mahalanobis, que já implica distâncias euclidianas normalizadas?

Portanto, não seria apenas necessário, mas os resultados após um LDA em recursos padronizados e não padronizados deveriam ser exatamente os mesmos !?

ameba
fonte
11
in general a "Z-score normalization" (or standardization) of features won't be necessary, even if they are measured on completely different scalesNão, esta declaração está incorreta. A questão da padronização com o LDA é a mesma de qualquer método multivariado. Por exemplo, PCA. A distância de Mahalanobis não tem nada a ver com esse tópico.
23614 Ttnphns
Obrigado, seria ótimo se você pudesse comentar sobre esse "problema de padronização" no PCA, por exemplo. Se os recursos não forem padronizados para o PCA, alguns recursos não contribuirão mais (ponderados) se forem medidos em uma escala diferente e me fornecerem eixos componentes completamente diferentes? E para a LDA, por que não será necessário? O resultado (os discriminantes lineares) é diferente, se não, por quê?
2
Ao padronizar (ou seja, centralizar e depois escalar), você estará analisando correlações. Se você não padronizar, apenas centralizar, estará analisando covariâncias. Os resultados serão diferentes, o que é normal, porque é como se você lida com dados diferentes. Este fato não deve te preocupar. Você pode ler o tópico stats.stackexchange.com/q/62677/3277 .
ttnphns
2
@SebastianRaschka, ameba: devo reconsiderar meu comentário The issue of standardization with LDA is the same as in any multivariate method. Na verdade, com o LDA (em oposição ao PCA, por exemplo), os resultados não devem diferir se você apenas centralizou (o LDA sempre centraliza variáveis ​​internamente, para extrair discriminantes) ou padronizou os dados em z.
ttnphns
2
(Cont.) Valores próprios, coeficientes padronizados, correlações de estrutura, pontuações discriminantes - tudo será o mesmo. Somente os autovetores serão diferentes. A razão pela qual não há efeito da padronização nos principais resultados do LDA é que o LDA decompõe a proporção de covariâncias Entre-e-Dentro, e não a covariância em si tendo sua magnitude (como o PCA).
ttnphns

Respostas:

13

O crédito para esta resposta vai para @ttnphns, que explicou tudo nos comentários acima. Ainda assim, eu gostaria de fornecer uma resposta estendida.

Para sua pergunta: Os resultados da LDA em recursos padronizados e não padronizados serão exatamente os mesmos? --- a resposta é sim . Primeiro darei um argumento informal e depois prosseguirei com algumas contas.

Imagine um conjunto de dados 2D mostrado como um gráfico de dispersão em um lado de um balão (foto original do balão tirada daqui ): LDA em um balão

Aqui os pontos vermelhos são uma classe, os pontos verdes são outra classe e a linha preta é o limite da classe LDA. Agora o reescalonamento dos eixos ou corresponde a esticar o balão na horizontal ou na vertical. É intuitivamente claro que, embora a inclinação da linha preta mude após esse alongamento, as classes serão exatamente tão separáveis ​​quanto antes, e a posição relativa da linha preta não mudará. Cada observação de teste será atribuída à mesma classe que antes do alongamento. Então, pode-se dizer que o alongamento não influencia os resultados do LDA.xy


Agora, matematicamente, o LDA encontra um conjunto de eixos discriminantes calculando os vetores próprios de , onde e estão dentro e entre classes matrizes de dispersão. Equivalentemente, esses são vetores próprios generalizados do problema do valor próprio generalizado .W1BWBBv=λWv

Considere uma matriz de dados centralizada com variáveis ​​em colunas e pontos de dados em linhas, para que a matriz de dispersão total seja fornecida por . Padronizar os dados significa escalar cada coluna de por um determinado número, ou seja, substituí-lo por , onde é uma matriz diagonal com coeficientes de escala (inversos dos desvios padrão de cada coluna) na diagonal. Após esse redimensionamento, a matriz de dispersão será alterada da seguinte forma: , e a mesma transformação ocorrerá comXT=XXXXnew=XΛΛTnew=ΛTΛWnew e .Bnew

Seja um vetor próprio do problema original, ou seja,Se multiplicarmos esta equação por à esquerda e inserir nos dois lados antes de , obteremos ou seja que significa quev

Bv=λWv.
ΛΛΛ1v
ΛBΛΛ1v=λΛWΛΛ1v,
BnewΛ1v=λWnewΛ1v,
Λ1vé um vetor próprio após o redimensionamento com exatamente o mesmo valor próprio antes.λ

Portanto, o eixo discriminante (fornecido pelo vetor próprio) mudará, mas seu valor próprio, que mostra o quanto as classes são separadas, permanecerá exatamente o mesmo. Além disso, a projeção nesse eixo, originalmente fornecida por , agora será feita por , ou seja, também permanecerá exatamente o mesmo (talvez até um fator de escala).XvXΛ(Λ1v)=Xv

ameba
fonte
2
+1. A "moral" de toda a história é que a diferença entre os únicos dados centralizados e os dados padronizados está totalmente ausente nos autovetores. Portanto, quando os dados são multiplicados pelos vetores próprios correspondentes para produzir pontuações discriminantes, o efeito da padronização é cancelado. XXΛΛ
ttnphns