Vetores principais,
valores principais e redução de dimensões
Análise de componentes principais é um dos métodos
estatísticos multivariados mais antigos. Teremos uma noção bem geral da ACP (ou
PCA, Principal Component Analysis),
descrevendo os autovalores e autovetores e mostrando como se pode reduzir as dimensões
dos dados utilizando essa técnica. Apesar da matemática ser um pouco
complicada, só precisaremos ter uma ideia geral do que acontece para sermos
capazes de usar essa ferramenta de maneira efetiva.
Vamos utilizar, na medida do possível, a menor quantidade de
matemática e muitas figuras.
O que é Análise de
Componentes Principais?
Em primeiro lugar, o nome já é uma boa pista. Ela faz o que
se propõe, ou seja, encontra os componentes principais dos dados.
É geralmente útil medir dados em termos de seus
componentes principais, ao invés de utilizar gráficos multidimensionais (imagine 10 dimensões!). Então,
o que são componentes principais? Eles são as estruturas subjacentes básicas dos
dados. São as direções nas quais há a maior variância, as direções onde os
dados estão mais dispersos. Isso é fácil de explicar através
de um exemplo. Na figura abaixo há alguns triângulos espalhados de forma oval:
Imagine que os
triângulos são pontos de um conjunto de dados. Para achar a direção onde há maior variância,
deve-se encontrar a linha onde os dados estão mais dispersos quando são projetados
nela. Uma linha vertical com os dados projetados pode ser traçada da seguinte
forma:
Há alguma dispersão, mas notamos que alguns triângulos
possuem muito pouca distância (variância) da linha, enquanto outros estão muito
distantes. Nesse caso, não há muita variância, o que sugere que esse não é o
componente principal.
Vamos, agora, projetar uma linha horizontal
nesses mesmos dados.
Nesse caso, podemos notar que os dados estão muito mais dispersos em relação à linha horizontal e, portanto, há maior variância sendo
representada. Na verdade, nesse caso, não há outra linha que se possa traçar
que representará maior variância do que a linha horizontal.
Afortunadamente, podemos utilizar a matemática para
encontrar o componente principal ao invés de termos que ficar desenhando linhas
para encontrá-lo. E é aqui que os autovetores e autovalores entram em cena.
Autovetores e
autovalores
Quando temos um conjunto de dados, como os triângulos do
exemplo, podemos desconstruir esse conjunto em autovetores e autovalores. Autovetores
e autovalores existem aos pares: cada autovetor tem um autovalor
correspondente. Um autovetor é uma direção. No exemplo acima, o autovetor é uma
direção da linha (vertical, horizontal, 45 graus, etc.). Um autovalor é um
número que nos diz quanta variância há nos dados naquela direção. No exemplo
acima, o autovalor é um número que diz o quanto os dados estão espalhados na
linha traçada. O autovetor com o maior autovalor é, portanto, o componente
principal.
Ok, então, mesmo que eu pudesse, no exemplo acima, desenhar
minha linha em qualquer direção, acontece que não há muitos autovetores/autovalores
em um conjunto de dados. Na verdade, a quantidade de autovetores/autovalores
que existem é igual ao número de dimensões que o conjunto de dados possui.
Digamos que eu esteja medindo idade e horas na internet em um grupo de pessoas.
Há duas variáveis, ou seja, é um conjunto de dados com duas dimensões.
Portanto, há dois autovetores/autovalores. Se estou medindo idade, horas na
internet e horas no celular, há três variáveis, um conjunto de dados de 3
dimensões (3-D), então 3 autovetores e autovalores. O motivo para isso é que autovetores
colocam os dados em um novo conjunto de dimensões e essas novas dimensões devem
ser iguais ao número original de dimensões. Isso parece complicado, mas,
novamente, um exemplo deve tornar claro.
Abaixo, vemos um gráfico com o conjunto oval de
triângulos:
Nesse momento, os
dados ovais estão em um eixo x-y. O eixo “x” pode ser idade e o “y” horas na
internet. Essas são as duas dimensões nas quais os dados estão sendo medidos.
Agora, lembre-se que o componente principal desse conjunto oval de dados é uma
linha que o divide pelo maior comprimento:
Acontece que o outro
autovetor (lembre-se que há apenas dois deles, pois estamos olhando para um
conjunto 2-D) é perpendicular ao componente principal. Como dissemos, os
autovetores devem ser capazes de abranger toda área x-y. Para fazer isso (mais
eficientemente), as duas direções devem ser ortogonais (ou seja, 90 graus). Por
isso que os eixos “x” e “y” são ortogonais. Seria realmente estranho se o eixo “y”
estivesse a 45 graus do eixo “x”. Então, o segundo autovetor apareceria assim:
Os autovetores nos
deram um eixo muito mais útil para colocar os dados. Agora, podemos reorganizar
os dados nessas novas dimensões mais ou menos dessa forma:
Note que nada foi feito aos próprios dados. Estamos apenas
olhando para eles de outra forma. Então, o uso de autovetores nos leva de um
conjunto de eixos para outro. Esses eixos são muito mais intuitivos em relação
à forma dos dados agora. Nessas direções é onde estão as maiores variações e,
por consequência, é onde há maior informação (pense de forma inversa, se não
houvesse variação nos dados [se tudo fosse igual a 1], então, não haveria
informação. Nesse cenário, o autovalor para aquela dimensão seria 0 (zero),
pois não haveria variação).
Mas o que esses autovetores realmente representam? Os eixos
antigos eram bem definidos (idade e horas na internet, ou quaisquer duas
variáveis que foram explicitamente medidas), enquanto os novos eixos não o são.
Aqui é onde precisamos pensar. Há, geralmente, uma boa razão para que esses
eixos representem melhor os dados, mas a matemática não irá lhe dizer, você
terá que pensar a respeito (aqui, entra a parte do significado, ou seja, o
objetivo maior da análise relacionado com o objetivo e a hipótese de seu estudo).
Como uma ACP e os autovetores nos ajudam de verdade na
análise de dados? Bem, há alguns usos, mas o maior deles é a redução de
dimensões.
Redução de dimensões
ACP pode ser utilizada para reduzir as dimensões de um
conjunto de dados. A redução de dimensões é análoga ao reducionismo filosófico.
Reduz os dados em seus componentes básicos, deixando fora qualquer parte
desnecessária.
Vamos dizer que tenhamos medido três variáveis:
idade, horas na internet e horas ao celular. Há 3 variáveis, então é um
conjunto de dados 3-D. Três dimensões são representadas por um gráfico “x”, “y”
e “z”. Ele mede largura, profundidade e altura (como as dimensões do mundo
real). Agora, imagine que os dados tenham uma forma oval, como acima, mas que
essa forma oval está em um plano, ou seja, todos os pontos de dados estão
posicionados em duas dimensões (como em um pedaço de papel) dentro desse
gráfico 3-D (tendo largura e profundidade, mas não altura), assim:
Quando encontramos os
três autovetores e autovalores do conjunto de dados (lembre-se, um problema 3-D
= 3 autovetores), dois dos autovetores terão grandes autovalores e um deles
terá um autovalor de zero. Os primeiros dois autovetores mostrarão a largura e
a profundidade dos dados, mas pelo fato de não haver altura nos dados (eles
estão em um pedaço de papel), o terceiro autovalor será zero. Na figura abaixo,
ev1 é o primeiro autovetor (aquele com o maior valor, o componente principal),
ev2 é o segundo vetor (que não tem um autovalor nulo) e ev3 é o terceiro
autovetor, que tem um autovalor de zero.
Podemos, agora,
rearranjar nossos eixos para estarem ao longo dos autovetores, ao invés de
idade, horas na internet e horas ao celular. Entretanto, sabemos que ev3, o
terceiro autovetor, é inútil. Então, ao invés de representar os dados em três
dimensões, podemos nos livrar da direção inútil e apenas representá-los em duas
dimensões, como antes:
Isso é redução de dimensões. Reduzimos um problema 3-D para
um problema 2-D, nos livrando de uma dimensão. A redução de dimensões ajuda a
simplificar os dados e torna a visualização mais fácil.
Note que podemos reduzir dimensões mesmo que o autovalor não
seja zero. Imagine o exemplo novamente, só que ao invés da forma oval dos dados
ser em um plano 2-D, há uma pequena quantidade de altura neles. Ainda haverá 3
autovetores, mas dessa vez todos serão diferentes de zero. Os valores serão
algo como 10, 8 e 0,1. Os autovetores correspondendo a 10 e 8 são as dimensões
onde há muito mais informação; o autovetor correspondendo a 0,1 não terá muita
informação. Então, podemos descartar o terceiro autovetor novamente de forma a
tornar os dados mais simples.
ACP (ou PCA, como mais comumente conhecida) é uma técnica de
análise muito utilizada na ecologia. Geralmente, ela é utilizada para reduzir as
dimensões de grandes conjuntos de dados de variáveis explicativas em duas ou
três dimensões que traduzem a maior parte da variância dos dados. A posteriori,
esses novos dois ou três vetores podem ser utilizados como novas variáveis explicativas
em análises de regressão ou canônicas. Em geral, essa técnica terá melhores
resultados se utilizada em matrizes de dados altamente correlacionados
(multicolinearidade alta). Por quê? Em se tratando de dados com alta
correlação, espera-se que a covariância entre eles seja grande e, portanto, a
variância que será explicada nos primeiros componentes (aqueles que extraem a
maior variância) será maior, de modo que os dados serão reduzidos a poucos, em
geral dois, componentes. Adicionalmente, a multicolinearidade é resolvida, pois
os componentes principais (autovetores) resultantes são ortogonais!
É importante observar que esse tipo de ordenação não é ideal para investigar matrizes de abundâncias de espécies, pois ela está baseada especificamente em distâncias Euclidianas. Esse tipo de distância é limitada para descrever diferenças entre comunidades. Porém, há algumas transformações, que podem ser feitas na matriz de abundâncias, que a tornarão adequada para o uso com PCA. Essa observação é especialmente relevante quando se pensa em usar RDA (Análise de Redundância), já que um dos passos dessa análise envolve a realização de uma PCA.