Análise de componentes principais com Stata
INTRODUÇÃO
A Análise de Componentes Principais (ou PCA) é uma técnica multivariada exploratória extremamente útil para redução de dimensionalidade a partir dos coeficientes de correlação de um conjunto de variáveis. Seu objetivo é, a partir de um conjunto maior de variáveis correlacionadas, agrupá-las e gerar esses fatores, representativos do agrupamento. Ou seja, reduzir o número de variáveis de um conjunto de dados, preservando o máximo de informações possível.
Imagine a seguinte situação: temos diversas variáveis quantitativas dos municípios de um estado qualquer, e tais variáveis representam características socioeconômico dessas cidades.
Para não precisar trabalhar com tamanha quantidade de dados e manipular tantas variáveis, podemos empregar a PCA para determinar fatores que reduzam a dimensionalidade desse quantitativo de variáveis e permitam a criação de um indicador que agregue toda essa informação. Depois disso podemos, inclusive, ranquear os municípios a partir desse indicador criado. E a técnica multivariada que empregamos para esse intento é a PCA.
E mais: esse novo indicador que criarmos com PCA pode, inclusive, ser empregado como variável explicativa em outra modelagem, visando explicar o comportamento de uma variável dependente de interesse. Devo ressaltar, no entanto, que usar um fator criado com PCA como variável explicativa em outra modelagem só faz sentido para elaboração de diagnóstico acerca do comportamento da variável dependente, não podendo ser utilizada para previsão para outras observações não presentes inicialmente na amostra.
Aqui um alerta: é muito comum verificar papers e análises em geral em que o pesquisador emprega PCA em variáveis qualitativas (e.g., escala Likert), fazendo ponderação arbitrária dessas variáveis. Isso é absolutamente equivocado. Um erro grave. Existem técnicas específicas para esse emprego em variáveis qualitativas, e a PCA não é uma delas!
ASPECTOS ALGÉBRICOS
Correlação
Existem diversos métodos para a extração de fatores entre um conjunto de variáveis a partir da matriz de correlações de Pearson. O mais utilizado é a transformação de Karhunen-Loève.
A base da PCA é o coeficiente de correlação de Pearson verificado entre as variáveis sob análise. Como sabemos, o coeficiente de correlação para cada par de variáveis é dado por:
Como a correlação de Pearson é uma medida do grau de relacionamento linear entre duas variáveis quantitativas, variando de –1 e 1, um valor mais próximo de um desses extremos indica a existência de relação linear entre as duas variáveis em análise, que, dessa forma, podem contribuir significativamente para a extração de um único fator. Por outro lado, uma correlação de Pearson muito próximo de 0 indica que a relação linear entre as duas variáveis é praticamente inexistente; portanto, nesse caso, a PCA é de baixa utilidade.
Com isso, é natural que quando tivermos um número grande de variáveis e quisermos, por exemplo, construir um indicador a partir delas, algumas dessas variáveis não componham nosso indicador, dada a baixa correlação verificada, sendo, portanto, excluídas da análise, priorizando a construção do indicador com as variáveis mais fortemente correlacionadas.
Análise de adequação global da PCA
Não é toda e qualquer PCA que rodamos que pode ser empregada. É necessário analisar sua adequação para estarmos certos de que seu uso é adequado.
Uma adequada extração de fatores a partir de um conjunto original de variáveis requer que a matriz de correlações entre essas variáveis apresente valores relativamente elevados e estatisticamente significantes. Para Hair et al. (2009), uma quantidade grande de correlações inferiores a 0,30 representa um preliminar indício de que a análise fatorial poderá ser inapropriada.
Portanto, antes de utilizar o produto da PCA, é fundamental que façamos a análise da sua adequação. E as estatísticas mais usadas para esse diagnóstico são a Kaiser-Meyer-Olkin (KMO) e o teste de esfericidade de Bartlett. Embora a literatura apresente virtudes e defeitos de ambos, Fávero e Belfiore (2017) esclarecem que devemos sempre dar preferência ao teste de esfericidade de Bartlett, em detrimento à estatística KMO. Isso se deve ao fato de que o teste de esfericidade de Bartlett é um teste com nível de significância, portanto, mais rigoroso do ponto de vista estatístico, enquanto que o KMO é apenas um coeficiente sem distribuição de probabilidades, ou seja, com menos rigor.
A estatística do teste de esfericidade de Bartlett é uma estatística χ2, que apresenta a seguinte expressão:
Assim, para determinado número de graus de liberdade e determinado nível de significância, se o valor calculado da estatística χ2 de Bartlett for maior que o valor crítico da estatística, poderemos afirmar que as correlações de Pearson entre os pares de variáveis são estatisticamente diferentes de 0 e que, portanto, podem ser extraídos fatores a partir das variáveis originais, sendo a análise fatorial apropriada.
No âmbito da PCA existem outras discussões bastante técnicas a respeito da determinação dos autovalores e autovetores da matriz de correlações ρ e cálculo dos scores fatoriais, análise das cargas fatoriais e comunalidades, rotação Varimax de fatores, e outras que são extremamente técnicas e não convém discutir aqui, visto que o que pretendo é apresentar conceitos básicos e uma aplicação em Stata. Para o leitor interessado, há extensa literatura sobre esses assuntos.
Antes, porém, de fazermos um exemplo no Stata, vamos analisar em Excel, pois certamente facilitará nossa compreensão dos conceitos posteriormente.
APLICAÇÃO - EXEMPLO EM EXCEL
Vamos supor que o Banco Alpha S/A, ao decidir pela concessão ou não de um empréstimo ou financiamento aos seus clientes, analise 8 variáveis dos solicitantes (candidatos) ao recurso:
Nosso objetivo é usar a PCA para reduzir o número de dimensões e reter a maioria das informações para o banco. Vamos lá. Considere que temos dados dos últimos 30 pedidos de empréstimos analisados pelo Banco Alpha.
Nosso banco de dados em Excel tem a seguinte "cara":
Inicialmente, vamos elaborar uma matriz de correlação das nossas variáveis. Nossa matriz tem o seguinte aspecto:
Calculando o Determinante (via função do MS Excel) da nossa matriz, chegamos em 0,00148.
Agora vamos calcular a estatística do teste de esfericidade de Bartlett. Temos 30 observações, k=8 variáveis e determinante da matriz de correlações ρ D = 0,0148, temos que:
com 28 graus de liberdade.
Olhando a significância do nosso qui-quadrado calculado (166,1 com 28GL) em um tabela própria, temos que ele é significante a 1%. Isso indica que as correlações de Pearson entre os pares de variáveis são estatisticamente diferentes de 0 e, portanto, podem ser extraídos fatores a partir das variáveis originais, sendo a análise fatorial bastante apropriada. Com isso, nossa análise de adequação global da PCA indica que podemos seguir com a análise.
Ato contínuo, precisamos determinar os autovalores da nossa matriz de correlações .
Recomendados pelo LinkedIn
Após um pouco de álgebra matricial, chegamos aos seguintes autovalores:
Um hack prático é considerar apenas autovalores > 1.
Vamos calcular, na sequência, a variância compartilhada pelas variáveis originais para a formação de cada fator:
Conforme verificamos acima, apenas os fatores 1, 2 e 3 tem autovalor > 1. Vemos, ainda, que eles explicam ~85% da variância compartilhada da variância total das variáveis originais.
Existem outras análises com o Excel que poderiam ser realizadas, porém, envolvem grande complexidade, e o objetivo deste pequeno ensaio não é esse.
No exemplo a seguir, usando os mesmos dados mas agora no Stata, aprofundaremos algumas questões mais complexas e interessantes.
APLICAÇÃO - EXEMPLO NO STATA
Vamos iniciar com uma inspeção geral do nosso banco de dados com o comando desc.
Em seguida, podemos gerar a matriz de correlações das nossas variáveis, conforme a seguir.
Conforme verificamos, várias correlações não se mostraram significativas.
Vamos, na sequência, analisar a adequação global da PCA, empregando o comando factortest. Pode ser necessário instalar o comando na sua versão do Stata (ssc install factortest se necessário).
Note que o Statinha traz o resultado do KMO no mesmo comando (algo que NÃO FIZEMOS em Excel). Compare os valores acima com os que calculamos manualmente no Excel e verá que são exatamente os mesmos!
Pelo output podemos concluir que, para a significância de 5% e 28 graus de liberdade, a matriz de correlações de Pearson é estatisticamente diferente da matriz identidade de mesma dimensão, visto p-value do teste de esfericidade de Bartlett é < 0,05.
Na sequência, vamos analisar os autovalores e autovetores por meio do comando pca:
Conforme verificamos, a saída do Stata nos apresenta os mesmos autovalores (Eigenvalues) calculados anteriormente no Excel. Apresenta, ainda, os autovetores (Eigenvectors), estes que não calculamos dada a complexidade computacional e por não ser objetivo do ensaio.
Verificamos, ainda, que os percentuais de variância compartilhada pelas variáveis originais para a formação de cada fator correspondem aos que apresentamos na tabela elaborada em Excel.
Novamente notamos que os componentes 1, 2 e 3 representam ~85% da variância compartilhada.
Na sequência, rodamos a PCA propriamente dita, usando o comando factor.
Vemos, na saída do Stata (parte superior), que os autovalores da matriz de correlações são apresentados novamente.
Na parte inferior (Factor loadings) o Stata nos mostra as cargas fatoriais, que representam as correlações entre cada variável e os fatores que apresentam apenas autovalores maiores que 1. Ou seja, o default do Stata está programado para considerar o critério da raiz latente (ou critério de Kaiser como também é conhecido na Literatura) para a escolha da quantidade de fatores. Vemos que, conforme concluímos pela análise com Excel, que são 3 fatores com autovalores > 1. Veja como o Stata apresenta exatamente esses 3 fatores na parte inferior da saída (Factor 1, Factor 2 e Factor 3!).
A saída do Stata nos mostra que as variáveis IDADE, ANOS MESMO ENDEREÇO e ANOS MESMO EMPREGO possuem elevada correlação com o Fator 1.
Que a variável DÍVIDA possui elevada correlação com o Fator 2. ANOS DE EDUCAÇÃO e Nº CARTÕES DE CRÉDITO possuem uma correlação média com tal fator.
E que a variável RENDA possui correlação média com o Fator 3.
Já sabemos que nossos dados indicam 4 fatores das nossas variáveis originais. Agora, vamos executar um procedimento não realizado em Excel pela complexidade: a rotação das cargas fatoriais por meio do método Varimax. Vamos usar o comando rotate:
Vemos na parte superior da saída do Stata que o percentual de variância compartilhada por todas as variáveis para a formação dos 3 fatores é cerca de 85% (84,05%), mesmo valor que verificamos na análise em Excel, embora o autovalor de cada fator rotacionado seja diferente do obtido anteriormente.
A saída nos mostra, ainda, os valores de uniqueness de cada variável, bem como o ângulo de rotação empregado.
Podemos pedir ao Stata para gerar uma visualização gráfica da análise realizada com o comando loadingplot:
Existem, ainda, outras ferramentas que o Stata pode nos oferecer, a criação de rankings, outras análises gráficas, a dispersão dos dados para cada um dos 3 componentes verificados, e muitas outras. Porém, entendo que isto seja o essencial para iniciar na PCA.
Com isso, concluímos que daquelas 8 variáveis originais empregadas pelo banco, podemos trabalhar com um componente de 3 fatores (muito mais simples) e ter alta eficiência na decisão de qual cliente deve receber o recurso (~85%). Essa é a beleza da PCA.
Com isso, concluímos que daquelas 8 variáveis originais empregadas pelo banco, podemos trabalhar com um componente de 3 fatores (muito mais simples) e ter alta eficiência na decisão de qual cliente deve receber o recurso (~85%). Essa é a beleza da PCA.
Espero ter colaborado com seus estudos em análise de dados. Um abraço e até a próxima!