Introdução
A Análise de Componentes Principais(ACP) ou Principal Component Analysis (PCA), é uma técnica matemática e estatística usada para reduzir a dimensionalidade de um conjunto de amostras.
PCA utiliza a transformada de Karhunen-Loève (KLT) para calcular uma base de autovetores nas quais as características das amostras apresentam a menor correlação possível entre si. Os autovetores calculados através da KLT são chamados de componentes principais. A importância de cada autovetor para representar as amostras na nova base pode ser avaliada através da magnitude do seu respectivo autovalor associado. Assim, as componentes principais podem ser ordenadas de forma decrescente. Após o ordenamento, a primeira componente retém a maior parte da variância dos dados, a segunda retém a segunda maior parte da variância e assim por diante. Em muitas análises, parte-se do princípio que “maior variância” em uma determinada característica significa “mais informação”. Por isso, poderíamos utilizar apenas as componentes de maior autovalor associado(maior variância) e ignorar componentes com autovalores muito baixo(menor variância). Desta forma estaríamos reduzindo a dimensionalidades dos dados originais, mas preservando a maior parte da informação contida nas amostras. Isso realmente funciona em muitas aplicações práticas. Entretanto, não há nada que realmente garante que variância alta signifique mais informação. Ou seja, é incomum, mas perfeitamente possível remover indevidamente informação útil em uma análise PCA. Assim, os procedimentos de redução de dimensionalidade e eliminação de redundâncias em amostras utilizando PCA devem ser conduzidos com bastante critério.
Principais aplicações da PCA são:
- Redução de dimensionalidade: A PCA pode reduzir a quantidade de variáveis em um conjunto de dados mantendo a maior parte da informação.
- Eliminação de redundância: Variáveis com alta correlação geralmente carregam informação redundante. A PCA ajuda a eliminar essa redundância, criando novos componentes ortogonais (não correlacionados).
- Visualização: Em alguns casos, a PCA é usada para visualização de dados de alta dimensionalidade em 2 ou 3 dimensões.
Principais passos de uma PCA
Os principais passos envolvendo a análise de componentes principais podem ser resumidos em 7 procedimentos básicos descritos logo abaixo.
1. Colocar os dados no formato de uma matriz $[X]$.
Os dados podem ser dispostos em formato de matriz vetor linha ou matriz vetor coluna. Na notação matriz vetor linha, as características ficam ao longo das colunas e as amostras nas linhas. Na notação matriz vetor coluna, as características ficam dispostas ao longo das linhas e as amostras nas colunas. No exemplo abaixo, vamos utilizar a notação matriz vetor linha.
\[ [X]_{m \times n} = \begin{bmatrix} a_{11} && \ldots && a_{1n} \\ \vdots && \ddots && \vdots \\ a_{m1} && \ldots && a_{mn} \end{bmatrix} \]
Ou seja, $m$ é o número da amostra e $n$ é o número da característica.
2. Calcular o valor médio $\bar{x}$ das amostras de $[X]$.
\[ \bar{x}_{1 \times n} = \dfrac{1}{m} \sum_{i=1}^m [ a_{i1} \ldots a_{in} ]\]
3. Calcular a matriz $[\hat{X}]$ de amostras com média zero.
No procedimento PCA a matriz de amostras precisa ter média zero. Ou seja, ser sem enviesamento. Neste exemplo, utilizamos a notação $[\hat{X}]$ para designar a matriz de amostras com média zero.
\[ [\hat{X}]_{m \times n} = [X]_{m \times n} – {\begin{bmatrix} 1 \\ \vdots \\ 1 \end{bmatrix}}_{m \times 1} \bar{x}_{1 \times n} \]
4. Calcular a matriz de covariância $[\Sigma]$
A matriz de covariância $[\Sigma]$ é calculada a partir da matriz $[\hat{X}]$ da seguinte forma:
\[ [ \Sigma ]_{n \times n} = [ \hat{X} ]^T [ \hat{X} ] \]
5. Calculo dos autovetores e autovalores de $[\Sigma]$
Os autovetores $[A]$ e autovalores $[\Lambda]$ utilizados para formar uma nova base para os dados são calculados a partir da matriz $[\Sigma]$.
\[ [A][\Sigma] = [\Lambda] [\Sigma] \]
6. Ordenamento dos autovetores $[A]$ e autovalores $[\Lambda]$
A matriz $[A]$ apresenta os autovetores em notação vetor-coluna. Ou seja, os vetores estão dispostos ao longo das colunas da matriz $[A]$. Suas respectivas características ficam dispostas ao longo das linhas da matriz $[A]$. Para cada autovetor $v_i$ há um autovalor associado $\lambda_i$ (escalar) em $[\Lambda]$, como na ilustração abaixo:
\[ [A]_{n \times n} = \begin{bmatrix} v_{1} && \ldots && v_{i} && \ldots && v_{n} \end{bmatrix} \]
\[ v_{i} = \begin{bmatrix} a_{11} \\ \vdots \\ a_{n1} \end{bmatrix} \leftrightarrow \lambda_{i} \]
\[ [\Lambda]_{1 \times n} = \begin{bmatrix} \lambda_{1} && \ldots && \lambda_{i} && \ldots && \lambda_{n} \end{bmatrix} \]
A matriz $[A]$ pode ser vista como uma nova base para os dados em $[\hat{X}]$. Ou seja, se fizermos:
\[ [X]_A = [A][\hat{X}] \]
$[X]_A$ é a projeção dos dados $[\hat{X}]$ em uma base $[A]$. $[\hat{X}]$ e $[X]_A$ representam os mesmos dados. Entretanto, em $[X]_A$ as características ou dimensões das amostras estão minimamente correlacionadas. Contudo, $[\hat{X}]$ e $[X]_A$ ainda apresentam o mesmo número $n$ de características ou dimensões.
Cada autovetor em $[A]$ produz uma nova característica em $[X]_A$ que é uma combinação linear das características originais de $[\hat{X}]$. Frequentemente, a importância de cada autovetor na representação dos dados está associada a respectiva magnitude do seu autovalor. Assim, poderíamos construir uma nova base reduzida $[Ã]$ utilizando apenas as componentes de maior autovalor associado e ainda conseguir ter uma boa representação dos dados originais. E frequentemente essa nova base pode ter um número de características bem menor que $n$. Ou seja,
\[ [Ã] = {\begin{bmatrix} \ldots && v_{i} && v_{j} && \ldots \end{bmatrix}}_{n \times k} \leftrightarrow \biggl\{ \begin{matrix} \lambda_i \geq \lambda_j \\ k \leq n \end{matrix} \]
7. Calculo da projeção dos dados em uma base reduzida.
Uma vez definida uma base reduzida $[Ã]$, podemos calcular uma projeção $[X]_Ã$ que tem uma dimensão menor que a dos dados originais $[\hat{X}]$, mas que preserva a maior parte da “informação” contida nos dados originais.
\[ [X]_Ã = [Ã][\hat{X}] \]
Obter uma boa representação $[X]_Ã$ de baixa dimensionalidade dos dados originais é, normalmente, a principal aplicação da PCA. Após obter uma representação $[X]_Ã$ , podemos aplicar outros métodos de processamento nestes dados e tirar vantagem dessa redução de dimensionalidade.
Exemplos ilustrativo
A teoria é simples, 7 passinhos básicos … E as aplicações e exemplos? Por ora, é só teoria mesmo. Entretanto, nos próximos dias vou colocar aqui alguns exemplos aplicados. Quando fizer isso atualizo esse artigo e coloco os links para os exemplos.
That’s all folks!
Deixe um comentário