Lição 118 — Análise de Componentes Principais (PCA)
Hotelling 1933: diagonalizar a covariância para encontrar direções de máxima variância. Scores, variância explicada, scree plot. Conexão com SVD. Aplicação em ML, finanças, genômica.
Used in: 3.º ano do EM (17-18 anos) · Equiv. Stochastik LK alemão · Equiv. H2 Math Statistics singapurense · Equiv. Math B japonês avançado
A PCA (Hotelling, 1933) diagonaliza a matriz de covariância amostral dos dados centralizados. Os autovetores (colunas de ) são as direções de máxima variância; os autovalores são as variâncias nessas direções. Projetar em preserva o máximo da variância total com menor número de dimensões.
Rigorous notation, full derivation, hypotheses
Definição matemática
Setup e covariância amostral
"The covariance matrix is always symmetric and positive semidefinite. Its eigenvalues are nonnegative and the eigenvectors form an orthonormal basis of ." — Introduction to Applied Linear Algebra (VMLS), §10.1
Componentes principais
Otimalidade
"The principal components are the eigenvectors of the data covariance matrix, ordered by decreasing eigenvalue. The first principal component captures the maximum variance; successive components capture maximum residual variance subject to orthogonality." — Understanding Linear Algebra, §7.1
Conexão com SVD
Reconstrução e erro de aproximação
Erro de reconstrução: .
Exemplos resolvidos
Exercise list
30 exercises · 7 with worked solution (25%)
- Ex. 118.1Understanding
Por que é necessário centralizar os dados (subtrair a média) antes de aplicar PCA?
Show solution
Centralizar elimina o componente constante dos dados — sem centralização, PC1 aponta para a média dos dados, não para a direção de máxima variância. Após centralizar, o primeiro autovetor de capta genuinamente a direção de maior espalhamento. - Ex. 118.2Application
Dado , calcule a covariância e as componentes principais.
Show solution
. Autovalores: , . Portanto , . PC1 = autovetor de : resolve : . Variância explicada: 100% em PC1.Show step-by-step (with the why)
- Compute .
- Calcule traço e determinante de .
- Autovalores via fórmula: .
- Autovetor de : resolva .
- Macete: det = 0 significa que os dados vivem numa linha (reta de ajuste) — PCA encontra essa linha exatamente.
- Ex. 118.3Application
Autovalores de : . Calcule a variância explicada por cada PC e a cumulativa. Para qual a variância cumulativa atinge 90%?
Show solution
Variância total = . Variância explicada por PC : . Para : total = 20. ExpVar: 50%, 25%, 15%, 5%, 5%. Cumulativa: 50%, 75%, 90%, 95%, 100%. Para 90%: K = 3. - Ex. 118.4Application
PCs de um dataset 2D: , . Calcule os scores de em ambas as componentes.
Show solution
Score de na PC1 : . Score em PC2 : . - Ex. 118.5Application
Usando os dados do exercício anterior, reconstrua retendo apenas a PC1. Qual o erro de reconstrução?
Show solution
Reconstrução com K = 1: . Se (dados centralizados), . Erro: . - Ex. 118.6UnderstandingAnswer key
Por que calcular PCA via SVD da matriz de dados é preferível a autodecompor diretamente?
Show solution
Calcular e depois autodecompor é matematicamente equivalente a SVD de , mas numericamente inferior: a formação de eleva ao quadrado o número de condicionamento. SVD de é o padrão industrial (usado pelo sklearn). - Ex. 118.7ApplicationAnswer key
Calcule as PCs de . Qual a variância explicada por cada componente?
Show solution
Autovalores de : , . Portanto , . Posto de covariância = 1. PC1 = . 100% da variância em PC1. - Ex. 118.8ApplicationAnswer key
Com dados padronizados (z-score), qual é a variância total? O que significa o critério de Kaiser de reter apenas PCs com autovalor maior que 1?
Show solution
Com dados padronizados, é a matriz de correlação: diagonal = 1. Variância total = d = número de features. PC com explica mais variância do que uma única feature original — critério de Kaiser. Reter PCs com é uma heurística conservadora mas amplamente usada. - Ex. 118.9Application
Dataset com autovalores (total 10). Calcule o erro de reconstrução quadrático médio ao manter K = 1 e K = 2 componentes.
Show solution
Erro de reconstrução quadrático médio ao manter K PCs: . Para : com K = 2, erro = 2; com K = 1, erro = 3 + 2 = 5.Show step-by-step (with the why)
- Se os dados têm 3 PCs com variância 5, 3, 2 e total 10, ExpVar = 50%, 30%, 20%.
- Variância acumulada com K = 2: 80%.
- Erro de reconstrução com K = 2: (soma das variâncias das PCs descartadas).
- Macete: o erro de reconstrução é sempre a soma das variâncias das PCs descartadas.
- Ex. 118.10Modeling
PCA de retornos de 10 ações resultou em PC1 com loading positivo de magnitude similar para todas as ações. O que PC1 representa economicamente? Como um gestor de portfólio usaria essa informação?
Show solution
PC1 de retornos de ações geralmente é o fator de mercado: todos os retornos correlacionados positivamente. Loadings positivos de magnitude similar indicam o fator "beta" de mercado. Beta alto = ação mais volátil que o mercado; beta baixo = menos volátil. Subtrair o componente de PC1 de um portfólio = neutralizar o risco de mercado (market-neutral strategy). - Ex. 118.11ApplicationAnswer key
SVD de com amostras deu valores singulares . Calcule os autovalores correspondentes da covariância e a variância explicada por PC1.
Show solution
Relação: . Para , . Se : . Se : . Variância explicada por PC1: . - Ex. 118.12UnderstandingAnswer key
Prove que os scores das diferentes componentes principais são não-correlacionados entre si.
Show solution
PCs são ortogonais por construção (autovetores de matriz simétrica para autovalores distintos são ortogonais). Scores e têm covariância nula: . Scores são não-correlacionados — o que elimina multicolinearidade em modelos subsequentes. - Ex. 118.13Application
Um dataset tem 50 features padronizadas. Com K = 10 PCs capturando 95% da variância, quantos parâmetros são necessários para representar a covariância via PCA de posto K versus covariância completa?
Show solution
Para features padronizadas, variância total = 50. Com K = 10 PCs e autovalores decrescentes: se os 10 primeiros somam , então variância acumulada = 95%. O número de parâmetros para PCA de posto K: (loadings + variâncias) vs para covariância completa. Grande economia. - Ex. 118.14ModelingAnswer key
Explique o que representam os 3 primeiros PCs da curva de juros (yield curve) brasileira. Por que esses 3 fatores explicam ~99% da variância?
Show solution
Level, slope, curvature são os 3 primeiros PCs da yield curve (Litterman-Scheinkman 1991). Level: todos os yields sobem/caem juntos (PC1 com loadings positivos uniformes). Slope: curta maturidade cai, longa sobe (PC2 com loadings crescentes). Curvature: extremos sobem, meio cai — "forma de arco" (PC3). Esses 3 fatores explicam ~99% da variância diária da curva de juros americana e brasileira.Show step-by-step (with the why)
- Construa a matriz de yields diários: linhas = dias, colunas = maturidades (1m, 3m, 1a, 2a, 5a, 10a, 30a).
- Centralize por maturidade e aplique PCA.
- PC1: loading quase constante em todas as maturidades.
- PC2: loading crescente (negativo em curta, positivo em longa maturidade).
- PC3: loading em U invertido (picos nos extremos, vale no meio).
- Curiosidade: gestores de renda fixa chamam esses fatores de "nível, inclinação e curvatura" do portfólio.
- Ex. 118.15Application
Explique a diferença entre fazer PCA com e sem padronização prévia (z-score). Quando você NÃO deve padronizar?
Show solution
Padronização faz ser a matriz de correlação (diagonal = 1). Sem padronização, features com maior variância dominam as PCs — PC1 é basicamente a feature de maior escala. Com padronização, PCA pondera igualmente a estrutura de correlação. Recomendação: padronize SEMPRE quando features têm escalas diferentes; não padronize apenas se as diferenças de escala são intencionais e comparáveis. - Ex. 118.16Proof
Mostre que a projeção nos K primeiros PCs minimiza o erro de reconstrução quadrático médio entre todas as projeções lineares de posto K. Qual o valor do erro mínimo em termos dos autovalores?
Show solution
Demonstração: seja o projetor ortogonal no espaço das K PCs. Erro quadrático: . Por Eckart-Young aplicado a , o mínimo é atingido quando as K colunas de são os K primeiros vetores singulares — que são as K primeiras PCs. Mínimo = . - Ex. 118.17Application
Autovalores em ordem decrescente: 12, 8, 3, 1, 1, 1, 1, 1. Construa mentalmente o scree plot e identifique o "joelho". Quantas PCs reter para 80% de variância?
Show solution
Scree plot: plote (eixo y) vs (eixo x). O "joelho" é onde a curva muda de acentuada para plana — indica que os PCs além desse ponto contribuem pouco. Para (total 28): o joelho está entre k = 2 e k = 3 (de 8 para 3 é uma queda grande). Reter 2 PCs: 71% de variância explicada. Reter 3: 82%. - Ex. 118.18Modeling
Descreva o método Eigenfaces (Turk-Pentland 1991) para reconhecimento facial usando PCA. Que dimensionalidade é alcançada em comparação com os pixels originais?
Show solution
Eigenfaces: PCA de rostos centralizados (cada face = vetor de pixels). PC1 = "face média de variação máxima". As K PCs formam base para reconhecimento: projetar um novo rosto no espaço PCA e medir distância ao rosto mais próximo. Com K = 50-100 PCs, taxa de acurácia alta mesmo com N = 400 imagens de 100x100 pixels. Dimensão original: 10000. Reduzida: 50-100. Fator de compressão 100-200x. - Ex. 118.19Application
Qual a diferença conceitual entre PCA e ICA (Independent Component Analysis)? Em que tipo de problema ICA é necessária?
Show solution
ICA (Independent Component Analysis) vs PCA: PCA encontra direções de máxima variância (segundo momento), ICA encontra componentes estatisticamente independentes (todos os momentos). PCA assume segundo momento suficiente (gaussianidade). ICA é necessária quando as componentes latentes têm distribuições não-gaussianas — ex: separação cega de sinais (cocktail party problem), análise fMRI (sinais neurais não-gaussianos). - Ex. 118.20Application
O que acontece quando a matriz de covariância é a identidade ()? O que isso implica para a PCA e a redução de dimensionalidade?
Show solution
Se (identidade — todas as features independentes e com a mesma variância), todos os autovalores são iguais a 1 e qualquer base ortonormal é igualmente boa como conjunto de PCs. PCA não reduz dimensionalidade — não há "direções mais importantes". Isso indica que os dados são já descorrelacionados: não há estrutura de covariância para explorar. - Ex. 118.21Proof
Prove que autovetores de uma matriz simétrica correspondentes a autovalores distintos são ortogonais. Use isso para justificar a ortogonalidade das PCs.
Show solution
Prova da ortogonalidade das PCs para autovalores distintos: sejam e com . Então . Portanto . Como , então . - Ex. 118.22ModelingAnswer key
Explique o que um biplot de PCA mostra. Como interpretar a direção e comprimento das setas das features e a posição das amostras?
Show solution
Biplot PCA: plota simultaneamente os scores (amostras projetadas em PC1/PC2) e os loadings (setas das features em PC1/PC2). Features com seta longa = alta variância naquelas direções. Features com setas paralelas = altamente correlacionadas. Amostras agrupadas = clusters. Seta apontando para grupo de amostras = aquela feature é alta naquelas amostras. Ferramenta padrão de análise exploratória. - Ex. 118.23Application
Por que PCA clássica é sensível a outliers? Qual a ideia de Robust PCA para lidar com esse problema?
Show solution
Robust PCA (Candès-Li-Ma-Wright 2011): decompõe onde é de baixo posto (PCA clássica) e é esparso (outliers). Minimiza (norma nuclear + L1). PCA clássica é sensível a outliers porque minimiza norma L2 ao quadrado — um único outlier grande domina PC1. - Ex. 118.24Application
Dataset: N = 1000 amostras, d = 100 features padronizadas. PCA com K = 5 PCs explica 80% da variância. Calcule o fator de compressão de dados (razão entre armazenamento original e armazenamento da representação PCA).
Show solution
Variância total com dados padronizados = d = 100. Após PCA com K = 5 PCs explicando 80%: variância capturada = 80. Para compressão: armazenar scores e loadings e média . Total: floats vs original. Para : vs — fator 18x. - Ex. 118.25Challenge
Explique a ideia de Kernel PCA. Como a substituição do produto interno por um kernel permite capturar estrutura não-linear? Qual a complexidade computacional?
Show solution
Kernel PCA: substitua o produto interno por um kernel (ex: RBF ). A matriz de Gram é PSD — PCA dessa matriz equivale a PCA no espaço de features implícito do kernel (Mercer). Permite capturar estrutura não-linear que PCA clássica não vê, com complexidade em vez de . - Ex. 118.26Application
Explique o "dual trick" de PCA: quando (mais features do que amostras), como calcular PCA eficientemente? Qual a complexidade em cada caso?
Show solution
Com N amostras e d features, . SVD: , , . Se (muitas amostras, poucas features): autodecomposição de é — mais barato que SVD completa. Se (dados genômicos): autodecomposição de (trick de dualidade) é . - Ex. 118.27Application
PCA dos microdados ENEM 2023 (5 notas: CN, CH, LC, MT, Redação) resultou em PC1 com loadings positivos de magnitude similar para todas as notas. Interprete PC1. O que PC2 poderia representar?
Show solution
Interpretação de PC1 no ENEM: se os loadings de PC1 são positivos para todas as notas (CN, CH, LC, MT, redação), PC1 é o "desempenho geral" — o fator que captura a variação comum em todas as provas. Aluno com PC1 alto é bom em tudo. PC2 geralmente distingue desempenho em exatas (MT, CN) vs humanas (CH, LC, redação). PC3 pode distinguir redação das demais notas. - Ex. 118.28Proof
Prove que a variância amostral do k-ésimo score é igual ao k-ésimo autovalor da covariância . Use a conexão com SVD.
Show solution
Variância dos scores: . Usando SVD : . Portanto . A variância do k-ésimo score é exatamente o k-ésimo autovalor da covariância. - Ex. 118.29Modeling
No 1000 Genomes Project, PCA de dados genômicos de ~2500 pessoas de 26 populações revela clusters por continente. Explique como isso é possível e o que os 3 primeiros PCs representam geneticamente.
Show solution
PCA no 1000 Genomes Project: cada pessoa é representada por vetor de variantes genéticas (SNPs) — d de ~1 milhão de variantes. PCA da matriz genotípica revela estrutura geográfica: PC1 separa europeus de africanos; PC2 separa europeus de asiáticos; PC3 pode separar grupos sub-continentais. A estrutura genética reflete geografia ancestral — PCA recupera, sem supervisão, a história evolutiva e migratória da humanidade. - Ex. 118.30Challenge
Descreva o modelo de Probabilistic PCA (Tipping-Bishop 1999). Quais as vantagens sobre PCA clássica? Como esse modelo se reduz à PCA clássica em um caso limite?
Show solution
Probabilistic PCA (Tipping-Bishop 1999): modelo generativo latente com e . A solução de máxima verossimilhança para W é exatamente as PCs (escaladas). Vantagens: (1) trata dados ausentes (missing data via EM algorithm); (2) fornece log-likelihood para seleção de modelo; (3) gera novos dados via . Reduz a PCA clássica quando .
Fontes
- Understanding Linear Algebra — David Austin · Grand Valley State University · CC-BY-SA · Capítulo 7: PCA via SVD, variância explicada, scree plot, aplicações.
- Introduction to Applied Linear Algebra (VMLS) — Stephen Boyd, Lieven Vandenberghe · Stanford University · CC-BY-NC-ND · Cap. 10: teoria rigorosa de PCA, otimalidade, conexão SVD, aplicações ML.
- OpenIntro Statistics — Diez, Çetinkaya-Rundel, Barr · CC-BY-SA · §8.3: perspectiva estatística, variância explicada, interpretação de componentes, exercícios de dados reais.