Análise de componentes principais: diferenças entre revisões
Conteúdo apagado Conteúdo adicionado
ajustes conforme WP:CHECKWIKI, typos fixed: Indices → Índices utilizando AWB |
|||
Linha 5:
[[Imagem:GaussianScatterPCA.png|thumb|right|PCA de uma [[distribuição Gaussiana multivariada]] centrada em (1,3) com um desvio padrão de 3 aproximadamente na direção (0.878, 0.478) e desvio padrão 1 na direção ortogonal. Os vetores na figura são os autovetores da [[matriz de covariância]] multiplicados pela raiz quadrada do autovalor correspondente, e transladados de forma a iniciarem na média.]]
'''A Análise de Componentes Principais''' ou ''principal component analysis'' (PCA) é um procedimento matemático que utiliza uma [[transformação ortogonal]] para converter um conjunto de observações de variáveis
O PCA foi inventado em 1901 por [[Karl Pearson]].<ref>{{Cite journal| author = Pearson, K. | authorlink=Karl Pearson |year = 1901 | title = On Lines and Planes of Closest Fit to Systems of Points in Space | journal = Philosophical Magazine | volume = 2 | issue = 6 | pages = 559–572 | url = http://stat.smmu.edu.cn/history/pearson1901.pdf |format=PDF}}</ref> Agora, é mais comumente usado como uma ferramenta de [[
O PCA é a mais simples das verdadeiras análises multivariadas por [[autovetor]]es. Com frequência, sua operação pode ser tomada como sendo reveladora da estrutura interna dos dados, de uma forma que melhor explica a
O PCA é fortemente ligado à [[
== Detalhes ==
Linha 17:
</ref> como uma [[transformação linear]] [[orthogonal transformation|ortogonal]] que transforma os dados para um novo [[sistema de coordenadas]] de forma que a maior variância por qualquer projeção dos dados fica ao longo da primeira coordenada (o chamado ''primeiro componente''), a segunda maior variância fica ao longo da segunda coordenada, e assim por diante.
Seja a [[Matriz (
: <math>
Linha 27:
</math>
'''V''' não é definida
Se desejarmos uma representação de dimensionalidade reduzida, pode-se projetar '''X''' ao espaço reduzido definido apenas pelos primeiros ''L'' vetores singulares, '''W'''<sub>L</sub>:
Linha 37:
: <math>\mathbf{X}\mathbf{X}^\top = \mathbf{W}\mathbf{\Sigma}\mathbf{\Sigma}^\top\mathbf{W}^\top</math>
Dado um conjunto de pontos no [[espaço euclidiano]], o primeiro componente principal corresponde a uma linha que passa através da média multidimensional e minimiza a soma dos quadrados das distâncias dos pontos à linha. O segundo componente principal corresponde ao mesmo conceito, depois de subtrair-se toda a correlação com o primeiro componente principal dos pontos. Os valores singulares (em '''Σ''') são as raízes quadradas dos [[autovalor]]es da matriz '''XX'''<sup>T</sup>. Cada autovalor é proporcional à porção de "variância" (mais precisamente da soma dos quadrados das distâncias dos pontos à média multidimensional dos mesmos) que é correlacionada com cada autovetor. A soma de todos os autovalores é igual à soma dos quadrados dos pontos à média multidimensional dos mesmos. O PCA essencialmente rotaciona o conjunto de pontos em torno da média de forma a alinhá-los com os componentes principais. Isto move o máximo possível de variância (usando uma transformação ortogonal) a algumas das primeiras dimensões. Os valores nas dimensões restantes, portanto, tendem a serem pequenos e podem ser descartados com o mínimo de perda de informação. O PCA é comumente utilizado dessa
O PCA é sensível à escala das variáveis. Se tivermos apenas duas variáveis de [[variâncias amostrais]] iguais e positivamente correlacionadas, então o PCA irá consistir de uma rotação de 45°, e os "carregamentos" (ou '''loadings''') para as duas variáveis relativos ao componente principal serão iguais. Mas se multiplicarmos todos os valores da primeira variável por 100, então o componente principal será quase igual a essa variável, com uma pequena contribuição da outra variável, ao passo que o segundo componente será quase que alinhado com a segunda variável original. Isso significa que, sempre que as diferentes variáveis têm unidades diferentes (como massa e temperatura), o PCA é de certa forma um método arbitrário de análise de dados. Por exemplo, resultados diferentes seriam obtidos se Farenheit fosse usado em vez de Celsius. Note-se que o artigo original de Pearson foi intitulado "On Lines and Planes of Closest Fit to Systems of Points in Space" – "in space" (no espaço) implica o espaço físico euclidiano, no qual tais ressalvas não ocorrem. Uma maneira de tornar o PCA menos arbitrário é usar as variáveis renormalizadas para variância unitária.
== Discussão ==
Subtração de média, ou "centralização na média", é necessária no PCA para garantir que os primeiros componentes principais descrevam a direção de máxima variância. Se a subtração da média não for feita, os primeiros componentes principais podem corresponder mais ou menos à média dos dados. Uma média de zero é necessária para encontrar a base que minimiza o [[
Assumindo-se uma [[média empírica]] nula, ou seja, a média empírica da distribuição foi subtraída do conjunto de dados, o componente principal ''w''<sub>1</sub> de um conjunto de dados '''X''' pode ser definido como:
Linha 60:
\right)^2 \right\}.</math>
O PCA é equivalente a [[
Uma [[Rede neural artificial|rede neural]] ''[[autoencoder]]'' com uma camada linear escondida é similar ao PCA. À convergência, os vetores de peso dos ''K'' neurônios na camada escondida formarão uma base para o espaço formado pelos primeiros ''K'' componentes principais. Diferente do PCA, essa técnica não necessariamente produz [[vetores ortogonais]].
O PCA é uma técnica fundamental em [[reconhecimento de padrões]]. No
== Propriedades e limitações do PCA ==
Linha 72:
== Calculando o PCA através do método da covariância ==
O cálculo do PCA
O
: <math> \mathbf{Y} = \mathbb{KLT} \{ \mathbf{X} \} </math>
Linha 90:
:: <math>u[m] = {1 \over N} \sum_{n=1}^N X[m,n] </math>
=== Calcule os
A subtração de média é uma parte fundamental no cálculo de uma base de componentes principais que minimize o erro médio da aproximação dos dados.<ref>A.A. Miranda, Y.-A. Le Borgne, and G. Bontempi. [http://www.ulb.ac.be/di/map/yleborgn/pub/NPL_PCA_07.pdf New Routes from Minimal Approximation Error to Principal Components], Volume 27, Number 3 / June, 2008, Neural Processing Letters, Springer</ref> Logo, centralizam-se os dados da seguinte forma:
* Subtraia o vetor de média empírica '''u''' de cada coluna da matriz de dados '''X'''.
Linha 111:
=== Encontra-se os autovetores e autovalores da matriz de covariância ===
* Calcula-se a matriz '''V''' de [[
:: <math>\mathbf{V}^{-1} \mathbf{C} \mathbf{V} = \mathbf{D} </math>
: onde '''D''' é a [[matriz diagonal]] de [[autovalor|
* A matriz '''D''' toma a forma de uma matriz diagonal ''M'' × ''M'', onde
:: <math>D[p,q] = \lambda_m \qquad \text{para } p = q = m</math>
Linha 144:
=== Converte-se os dados originais para pontuações-Z ===
* Criar um vetor desvio padrão ''M'' × 1 '''s''' da
:: <math> \mathbf{s} = \{ s[m] \} = \{ \sqrt{C[m,m]} \} \qquad \text{for } m = 1, \ldots, M </math>
* Calcular a matriz ''M'' × ''N'' de [[standard score|pontuações-Z]]:
Linha 155:
:: <math> \mathbf{Y} = \mathbf{W}^* \cdot \mathbf{Z} = \mathbb{KLT} \{ \mathbf{X} \}.</math>
* '''W*''' é a [[conjugada transposta]] da matriz de autovetores.
* As colunas da matriz '''Y''' representam as [[
== Software/código fonte ==
Linha 177:
retorne <math>\mathbf{p}</math>
Esse algoritmo é simplesmente uma maneira eficiente de calcular '''XX<sup>T</sup>p''', normalizando, e colocando-se o resultado de volta em '''p''' (''[[:en:Power iteration]]''). Ele evita as ''nm''² operações de cálculo da matriz de
'''p''' ficará
Componentes principais subsequentes podem ser calculados subtraindo-se o componente '''p''' de '''X<sup>T</sup>''' (ver [[Gram–Schmidt]]) e então
Uma forma de se calcular o autovalor que corresponde a cada componente principal é medir a diferença na soma de distâncias ao quadrado entre as linhas e a média, antes e depois de subtrair-se o componente principal. O autovalor que corresponde ao componente que foi removido é igual a essa diferença.
Linha 225:
== Generalizações ==
=== Generalizações
[[Imagem:Elmap breastcancer wiki.png|thumb|300px| Linear PCA versus nonlinear Principal Manifolds<ref>A. N. Gorban, A. Y. Zinovyev, [http://arxiv.org/abs/0809.0490 Principal Graphs and Manifolds], In: Handbook of Research on Machine Learning Applications and Trends: Algorithms, Methods and Techniques, Olivas E.S. et al Eds. Information Science Reference, IGI Global: Hershey, PA, USA, 2009. 28-59.</ref> para [[visualização]] de dados de [[microarray]] de [[câncer de mama]]: a) Configuração de nós e superfície principal 2D na variedade linear 3D de PCA. O conjunto de dados é curvo e não pode ser adequadamente mapeado num plano principal 2D; b) A distribuição nas coordenadas não-lineares internas da superfície principal (ELMap2D) junto com uma estimativa da densidade de pontos; c) O mesmo que b), mas para a variedade PCA 2D (PCA2D). O subtipo de câncer de mama "basal" é melhor
A maioria dos métodos modernos para ''[[:en:nonlinear dimensionality reduction]]'' encontram suas raízes teóricas e algorítmicas no PCA ou K-means. A ideia original de Pearson era tomar uma reta (ou plano) que seja o "melhor ajuste" a um conjunto de pontos/dados. '''[[Curvas]] principais e [[variedade]]s'''<ref>A. Gorban, B. Kegl, D. Wunsch, A. Zinovyev (Eds.), [http://pca.narod.ru/contentsgkwz.htm Principal Manifolds for Data Visualisation and Dimension Reduction,]
Linha 238:
=== Robustez - PCA com pesos ===
Apesar do PCA encontrar o método matematicamente ótimo (no sentido de minimizar o erro quadrático), ele é sensível a ''[[
== Ver também ==
|