2.2.10. PCA - Principal Component Analysis
A análise de componentes principais ou PCA ou transformada de Hotelling ou de Karhunen-Loève é uma técnica de redução do número total de variáveis. Esta técnica é empregada quando existe redundância nos dados de uma amostra, onde redundância pode ser entendida como dados correlacionados, provavelmente em função de estarem medindo o mesmo evento. A existência de redundância é o que permite a redução no número de variáveis. Para verificar a existência ou não de redundâncias, a matriz de correlações entre as variáveis deve ser analisada.
A técnica de PCA consiste em reescrever as coordenadas de um conjunto de dados em um outro sistema de eixos que seja mais conveniente para a análise desses dados. Estas novas coordenadas são o resultado da combinação linear das variáveis originais e são representadas sobre eixos ortogonais, sendo obtidas em ordem decrescente de variância. Portanto, a primeira componente principal detém mais informação sobre os dados do que a segunda componente principal que não detém informações contabilizadas anteriormente (na primeira componente principal) e assim sucessivamente. Em função da ortogonalidade dos eixos, as componentes principais não são correlacionadas.
O número de total componentes principais é igual ao número total de variáveis originais e apresenta a mesma informação estatística que estas variáveis. Porém, este método permite a redução do número total de variáveis pois freqüentemente as primeiras componentes principais detêm mais de 90% da informação estatística dos dados originais.
Consideramos, por exemplo, um conjunto de dados representado por duas variáveis – normalizadas - cujos eixos originais descrevem um plano. Para representar um ponto são necessárias informações das duas variáveis.
Dados originais
Consideremos agora um novo eixo, resultado da combinação linear destas duas variáveis. Este novo eixo aponta na direção de maior variabilidade das amostras e é, portanto, um componente principal para este conjunto de dados.
Eixo Pca
Neste exemplo, um ponto no plano pode agora ser definido apenas por uma coordenada ou score no novo eixo. O relacionamento entre as variáveis é dado, então, pelo fator de carregamento destas variáveis, representado pelo co-seno da inclinação do novo eixo para a variável no eixo horizontal e pelo seno da inclinação do novo eixo para a variável no eixo vertical.
Para um maior número de variáveis, a exemplificação visual se torna impossível porém utiliza-se a mesma técnica, salientando-se a ortogonalidade dos novos eixos.
A análise de componentes principais, portanto, é capaz de reduzir o número de variáveis. O processo em si, representa um acúmulo das redundâncias presentes nos dados em componentes principais. Porém, utilizando apenas os resultados da análise de componentes principais, não é possível – normalmente - identificar quais as variáveis dominam um ou outro fator e, portanto, interpretar o significado de cada componente e entender as estruturas de dependências.
Para resolver isto, utilizam-se processos rotacionais (VARIMAX, por exemplo para rotação ortogonal) aplicados aos componentes principais. Estes processos são transformações lineares dos fatores e sua única finalidade é viabilizar a interpretação do significado dos componentes principais. De uma forma simplificada, o processo de rotação facilita a interpretação dos dados pois objetiva aumentar os fatores de carregamento de uma variável e reduzir o número de fatores que uma variável carrega.
Uma confusão que deve ser esclarecida é que análise de componentes principais não é igual à análise de fatores (factor analysis). Embora os resultados de ambos os métodos sejam muitas vezes semelhantes, existem grandes diferenças conceituais entre os mesmos. Simplificadamente, a análise de fatores busca uma estrutura causal entre as variáveis, enquanto PCA busca apenas reduzir o conjunto de variáveis mantendo, ao máximo, o poder de explicação (variância total). Apesar disto, a análise de componentes principais pode ser utilizada para se associar um componente principal a um fator real.
A análise de PCA tem como resultado um novo conjunto de variáveis (componentes principais) relacionados (combinação linear) com cada variável através dos fatores de carregamento. Da mesma forma, cada variável original se relaciona com as novas variáveis pelos fatores de carregamento. Em função da possível heterogeneidade das variáveis originais, os dados da amostra podem ser normalizados para facilitar a interpretação dos resultados gerados e extração dos componentes. Isto pode ser feito pela utilização da matriz de correlações entre as variáveis originais.
PCA é muito utilizado em tratamento de imagens e aplicativos de reconhecimento facial para reduzir o número de variáveis que representam uma imagem.
Em finanças, PCA pode ser utilizado, por exemplo, para representar o comportamento de toda curva de juros (pontos no tempo são correlacionados) por um conjunto menor de variáveis, permitindo realizar simulações de comportamento para toda a curva através destas novas variáveis.
Outra aplicação financeira para PCA pode estar no modelamento ou escolha de variáveis para utilização em APT – Arbitrage Pricing Theory.
A análise PCA utiliza conceitos de autovalor e autovetor, brevemente representados a seguir:
Seja T:V -> V um operador linear. Um vetor v pertencente a V, sendo v diferente do vetor nulo, é chamado de autovetor de T se existir um número real tal que:
onde é denominado autovalor de T associado ao autovetor v.
|
2.2.10.1. Comando PCA
Acesso:
- Menu - Metrixus | PCA
- Barra de ferramentas Metrixus
Descrição:
Realiza a análise de componentes principais – PCA – dos dados informados. Retorna um conjunto de indicadores para a análise, incluindo os fatores de carregamento para as variáveis. Utiliza a matriz de correlação - calculada ou informada - entre os dados (ou colunas ou variáveis) para efetuar a normalização.
Permite a interpretação dos resultados e seleção dos componentes principais segundo 3 critérios:
- Critério de Kaiser ou autovalor 1: devem ser considerados apenas os componentes com autovalor superior a 1, o que significa que o componente contabiliza mais variância do que uma variável;
- Critério da proporção: observa-se a proporção de variância acumulada e um nível de corte é estabelecido, representando o total da variância contabilizado pelos componentes selecionados; e
- Scree test: através de uma análise gráfica, consideram-se apenas os componentes situados antes de um certo intervalo, se houver.
Para a seleção dos componentes principais, apenas o critério de Kaiser e o critério da proporção são utilizados. Escolha Critério de Kaiser ou Critério da Proporção nas opções da tela. No caso do critério da proporção, é necessário informar o ponto de corte na proporção acumulada para considerar os componentes. O padrão é 80%.
Para a montagem do Scree test deve ser selecionada a opção Gerar gráfico de “Scree test”. A seleção deste critério não influencia na seleção dos componentes principais e serve apenas para uma análise gráfica comparativa com o critério selecionado.
O comando PCA pode realizar rotação ortogonal VARIMAX da matriz de fatores de carregamento, facilitando a interpretação dos resultados. Para isto, selecione a opção Rotação VARIMAX e informe a precisão que deve ser utilizada no processo de iteração para rotação dos eixos em Precisão VARIMAX e o número máximo de iterações a serem realizadas em Número máximo de iterações. O padrão é 0,001 para precisão e 50 para iterações. O processo de iteração será interrompido quando alcançar o número máximo de iterações ou a precisão indicada. A opção pela rotação VARIMAX gera dados adicionais para interpretação de resultados.
A região ou intervalo de dados deve ser uma região contígua onde cada coluna representa valores (números reais) para uma variável. São necessárias pelo menos duas colunas e um número de linhas mínimo igual ao número de colunas. Campos com formato texto ou vazios são desconsiderados, bem como todos os correspondentes dados das demais colunas. O intervalo de dados deve ser selecionado antes de chamar este comando.
É possível realizar também a análise de componentes principais diretamente a partir da matriz de correlações entre variáveis. Para isto, selecione a opção Dados representam matriz de correlações. Neste caso, as informações relativas às amostras de dados - como médias, desvios-padrão e matriz de correlações - não serão informadas. A matriz de entrada deve ser uma região com o mesmo número de linhas e colunas e deve ter no mínimo duas informações sobre correlações (duas linhas e duas colunas no mínimo). Novamente, campos com formato texto ou vazios são desconsiderados, bem como todos os correspondentes dados das demais colunas. Isto pode acarretar erros de formato na matriz de correlações ou resultados incoerentes! Só é possível selecionar a opção para matriz de correlações se o intervalo de células válidas selecionado corresponder a uma matriz quadrada, simétrica e representativa de correlações entre dados (valores entre –1 e 1).
Importante:
Quando os dados de entrada representarem a matriz de correlações, esta deve ser quadrada (número de colunas válidas é igual ao número de linhas válidas) e simétrica, com diagonal igual a 1 e demais valores entre 1 e -1!
|
Importante:
Se algum operador matemático for aplicado aos dados originais, a análise PCA representará a combinação linear das variáveis modificadas pelo operador. Lembre-se de reverter a operação após utilizar os componentes principais!
|
Este comando gera um novo arquivo contendo os resultados na forma de tabelas e gráficos.
A geração de gráfico e planilhas sem cores permite uma impressão fácil dos dados além de representar ganhos de performance de execução.
O resultado da análise de componentes principais é uma nova planilha com dados estáticos, isto é, sem vínculos com a base dados que originou o resultado. Nesta nova planilha há as seguintes informações, onde n é o total de dados válidos e m é o numero de variáveis (no caso da matriz de correlações ser fornecida, os dados de entrada são uma matriz m x m):
- Média: média de cada variável ou coluna. Não informada para a opção de matriz de correlações como entrada.

- DP: desvio padrão de cada variável ou coluna da amostra. Não informado para a opção de matriz de correlações como entrada.

Importante:
Para a determinação dos parâmetros estatísticos dos dados - como média, desvio padrão - não é aplicado nenhum operador matemático (logarítmico, por exemplo). Desta forma, a média apresentada deve ser entendida como a esperança dos valores, bem como o desvio padrão deve ser entendido como a volatilidade da esperança dos valores!
|
Importante:
Todos os dados são considerados amostras e portanto todos os cálculos estatísticos de desvio padrão são baseados em amostras e não na população.
|
- Correlações: matriz m x m contendo as correlações entre as variáveis. Não informada para a opção de matriz de correlações como entrada.

- Autovalores: valor característico ou eigenvalue da matriz de correlação entre as variáveis. São apresentados tantos autovalores quanto o número de variáveis ou colunas (m) e cada autovalor representa o total da variância contabilizada pelo componente em questão. Para a determinação dos autovalores, é utilizada a transformação de Hessenberg sobre a matriz de correlações e o algoritmo QR, obtido pela transformação de Householder, para iterações. A precisão das iterações QR para determinação de autovalores é fixa em 0,00001.

Importante:
Cada componente contabiliza um valor menor de variância do que o seu antecessor, sendo que esta variância não foi contabilizada anteriormente!
|
Importante:
A matriz de correlações obtida pela análise dos dados ou diretamente informada deve ser positiva-definida! Caso contrário, haverá autovalor menores do que 0 e os resultados da análise PCA não são válidos! Em caso de autovalores negativos, o aplicativo será interrompido!
|
- Diferença: indica a variação entre autovalores sucessivos. Não apresenta valor para o último componente.

- Proporção: indica o percentual de variância que cada componente representa sobre a variância total.

- Acumulada: indica o percentual acumulado de variância até o componente em questão.

Importante:
A análise da proporção e da proporção acumulada permite a utilização do critério de proporção para a técnica de PCA.
|
- Fatores: tabela contendo os k fatores de carregamento para cada variável - gerados segundo o critério informado. Representam a correlação entre cada fator e cada variável (o quadrado do fator representa o coeficiente de determinação ou a percentagem da variância de cada variável explicada por cada fator). Se o critério de determinação for Kaiser autovalor maior do que 1, somente são considerados para a determinação dos fatores aqueles com autovalor superior a 1. Se o critério da proporção for utilizado, serão considerados aqueles que produzam um percentual acumulado inferior ao informado, incluindo o fator contenha o valor da proporção acumulada de corte.

- PCA: tabela contendo os k componentes principais ou k fatores de carregamento normalizados. Os componentes principais equivalem aos fatores de carregamento divididos pela raiz quadrada dos respectivos autovalores. Também equivalem aos autovalores da matriz de correlações.

Importante:
Não há diferenças vetoriais entre Fatores e PCA. O PCA é apenas uma normalização dos fatores de carregamento. Tanto Fatores como PCA podem ser utilizados como resultado da análise de componentes principais. Para realizar comparações entre componentes principais, é interessante observar os fatores de carregamento normalizados!
|
Importante:
Em função da normalização dos dados originais pela matriz de correlações, os componentes principais são gerados sobre dados com média 0 e variância 1. Após gerar novos dados através dos fatores de carregamento e de scores, estes devem ser convertidos para a média e variância da variável em questão!
|
- Var. Exp.: informa a variância explicada por cada componente principal. Corresponde à mesma variância explicada nos autovalores dos componentes principais.

- Comunalidade: percentual da variância de uma variável que é contabilizada pelos componentes principais ou fatores de carregamento determinados. Equivale à soma dos quadrados dos fatores de carregamento de uma variável.

- Var. Total: variância total extraída pelos componentes principais selecionados. É igual à soma das variâncias explicadas por cada componente selecionado e também é igual à soma das comunalidades de todas as variáveis. Ou seja, o total de variância explicado pelos componentes principais é igual ao somatório do percentual das variâncias das variáveis explicadas por estes componentes.

- VARIMAX: matriz de fatores de carregamento com rotação ortogonal VARIMAX para facilitar a interpretação dos fatores. Representa um conjunto de dados adicionais gerados conforme os parâmetros de precisão e iterações apontados nas opções do comando PCA para rotação VARIMAX. Contém:
- Matriz de rotação ortogonal ORT.: transformação linear aplicada aos fatores de carregamento originais, obtida por VARIMAX;
- Matriz de fatores de carregamento rotacionados;

- Variância explicada pelos fatores de carregamento rotacionados;
- Comunalidade entre variáveis e fatores de carregamento rotacionados; e
- Variância total explicada pelos componentes principais rotacionados.
A rotação VARIMAX é um dos métodos mais comuns de rotação ortogonal e é originalmente atribuída a Henry Kaiser.
A finalidade o processo de rotação é apenas facilitar a interpretação dos resultados. Desta forma, há mudanças nos fatores de carregamento e nas variâncias explicadas por cada fator de carregamento. No entanto, a variância total e as comunalidades – percentual da variância de uma variável contabilizada pelos fatores de carregamento – permanecem iguais!
Em estudos sobre modelamento econômico-financeiro (APT, por exemplo), o processo de rotação tem grande utilidade na interpretação das variáveis.
Exemplo de utilização para curva de juros:
O exemplo a seguir visa ilustrar uma utilização de PCA para curvas de juros. O objetivo é reduzir as variáveis que compões a curva de modo a permitir a simulação da curva de juros. Os dados para os vértices são próximos ao comportamento da curva de juros de 2001, mas devem ser considerados hipotéticos aqui.
- Critério da proporção 98% (novas variáveis devem computar por 98% da variação de toda a curva de juros)
- Não será utilizada a rotação VARIMAX – não será necessário interpretar as componentes principais geradas
- Geração de Scree test
- Curva de juros brasileira para 2001 com vários vértices. Intervalo I1:O249
Em função da atratividade do operador logarítmico para determinação de parâmetros estatísticos para retornos de ativos financeiros, será aplicado o operador logarítmico a todos os dados.
Resultados:
|
|
Total de dias e de variáveis analisadas.
| V1 | V2 | V3 | V4 | V5 | V6 | V7 |
| Médias | -1,693 | -1,663 | -1,622 | -1,556 | -1,509 | -1,452 | -1,470 |
| DP | 0,119 | 0,133 | 0,148 | 0,169 | 0,175 | 0,203 | 0,179 |
|
| Correlações | V1 | V2 | V3 | V4 | V5 | V6 | V7 |
| V1 | 1,000 | 0,991 | 0,980 | 0,958 | 0,936 | 0,922 | 0,929 |
| V2 | 0,991 | 1,000 | 0,994 | 0,976 | 0,956 | 0,930 | 0,939 |
| V3 | 0,980 | 0,994 | 1,000 | 0,990 | 0,975 | 0,951 | 0,951 |
| V4 | 0,958 | 0,976 | 0,990 | 1,000 | 0,994 | 0,975 | 0,963 |
| V5 | 0,936 | 0,956 | 0,975 | 0,994 | 1,000 | 0,982 | 0,965 |
| V6 | 0,922 | 0,930 | 0,951 | 0,975 | 0,982 | 1,000 | 0,951 |
| V7 | 0,929 | 0,939 | 0,951 | 0,963 | 0,965 | 0,951 | 1,000 |
|
Indicadores estatísticos para os dados (logaritmo neperiano das taxas de juros).
|
| 1 | 2 | 3 | 4 | 5 | 6 | 7 |
| Autovalores | 6,774 | 0,134 | 0,054 | 0,028 | 0,004 | 0,003 | 0,002 |
| Diferença | 6,640 | 0,080 | 0,025 | 0,024 | 0,001 | 0,001 | |
| Proporção | 96,78% | 1,91% | 0,77% | 0,41% | 0,06% | 0,04% | 0,03% |
| Acumulada | 96,78% | 98,69% | 99,46% | 99,87% | 99,93% | 99,97% | 100,00% |
|
Tabela de autovalores da matriz de correlações. Percebe-se que o primeiro componente principal é responsável por mais de 90% da variância total da curva de juros.
Critério: Proporção 98%
|
| Fatores | F1 | F2 | | PCA | PCA1 | PCA2 |
| V1 | 0,975 | -0,199 | | V1 | 0,375 | -0,545 |
| V2 | 0,986 | -0,163 | | V2 | 0,379 | -0,445 |
| V3 | 0,993 | -0,086 | | V3 | 0,382 | -0,234 |
| V4 | 0,996 | 0,037 | | V4 | 0,383 | 0,102 |
| V5 | 0,989 | 0,120 | | V5 | 0,380 | 0,327 |
| V6 | 0,974 | 0,177 | | V6 | 0,374 | 0,484 |
| V7 | 0,973 | 0,115 | | V7 | 0,374 | 0,314 |
| Var. Exp. | 6,774 | 0,134 | | | | |
|
Como o critério utilizado foi o da proporção com 98% de corte, foram incluídos dois fatores principais. As tabelas acima mostram os fatores de carregamento e os autovetores ou componentes principais normalizados.
|
| Comunalidade | Ci |
| V1 | 0,991 |
| V2 | 0,998 |
| V3 | 0,994 |
| V4 | 0,993 |
| V5 | 0,992 |
| V6 | 0,981 |
| V7 | 0,959 |
| | |
| Var. Total | 6,908 |
|
Tabela de comunalidades – percentual de variância de cada ponto de juros contabilizado pelos componentes principais escolhidos – e variância total.
Gráfico de Scree test reforçando a maior participação do primeiro componente principal na explicação de todas as variáveis.
Os mesmos resultados poderiam ser obtidos se fosse fornecida diretamente a matriz de correlações.
É importante destacar que os componentes principais gerados – novas variáveis – podem ser utilizados, por exemplo, para simulação de curva de juros: pode-se determinar o score de cada componente através dos dados originais e da aplicação dos fatores de carregamento (ou PCA’s) sobre esses dados. Uma vez com estes scores, pode-se determinar os parâmetros estatísticos das novas variáveis e utilizar um modelo para oscilações (Monte Carlo, por exemplo) para estes parâmetros, permitindo montar toda a curva de juros com base nestas oscilações.
Mais uma vez, os componentes principais são gerados sobre dados normalizados (é utilizada a correlação entre os dados). Neste exemplo, os dados ainda sofreram a aplicação de um operador logarítmico. Para simular, por exemplo, um ponto para o vértice de 21 dias a partir dos componentes principais (fatores e scores), é necessário aplicar ao resultado o inverso da normalização, ou seja, multiplicar pelo desvio padrão e somar a média, ambos os relativos ao vértice 21. Ao final deve-se inverter o operador logarítmico, ou seja, calcular a exponencial do resultado.
O gráfico abaixo representa a curva de juros original para os vértices 21, 42 e 63 e as curvas de juros montadas a partir apenas do componente PCA1 (96,78% da variância é explicada por este componente).
Percebe-se o poder de explicação da variância para toda a curva a partir de um único componente principal.
|
|