Math ClubMath Club
v1 · padrão canônico

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

Σ=VΛVT,zk=VkT(xxˉ)\Sigma = V \Lambda V^T, \quad z_k = V_k^T (x - \bar{x})

A PCA (Hotelling, 1933) diagonaliza a matriz de covariância amostral Σ\Sigma dos dados centralizados. Os autovetores vkv_k (colunas de VV) são as direções de máxima variância; os autovalores λk\lambda_k são as variâncias nessas direções. Projetar em VkV_k preserva o máximo da variância total com menor número de dimensões.

Choose your door

Rigorous notation, full derivation, hypotheses

Definição matemática

Setup e covariância amostral

"The covariance matrix Σ\Sigma is always symmetric and positive semidefinite. Its eigenvalues are nonnegative and the eigenvectors form an orthonormal basis of Rd\mathbb{R}^d." — 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

x^i=xˉ+k=1Kzikvk\hat{x}_i = \bar{x} + \sum_{k=1}^K z_{ik}\, v_k
what this means · Manter K componentes minimiza o erro de reconstrução quadrático médio entre todas as projeções de posto K (Eckart-Young aplicado a PCA).

Erro de reconstrução: 1Nixix^i2=k>Kλk\frac{1}{N}\sum_i \|x_i - \hat{x}_i\|^2 = \sum_{k > K} \lambda_k.

Exemplos resolvidos

Exercise list

30 exercises · 7 with worked solution (25%)

Application 17Understanding 3Modeling 5Challenge 2Proof 3
  1. 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 Σ\Sigma capta genuinamente a direção de maior espalhamento.
  2. Ex. 118.2Application

    Dado X~=(2323)\tilde X = \begin{pmatrix} 2 & 3 \\ -2 & -3 \end{pmatrix}, calcule a covariância e as componentes principais.

    Show solution
    Σ=(4669)\Sigma = \begin{pmatrix} 4 & 6 \\ 6 & 9 \end{pmatrix}. Autovalores: tr=13\text{tr} = 13, det=0\det = 0. Portanto λ1=13\lambda_1 = 13, λ2=0\lambda_2 = 0. PC1 = autovetor de λ1\lambda_1: resolve (Σ13I)v=0(\Sigma - 13I)v = 0: v1=(1/13)(2,3)Tv_1 = (1/\sqrt{13})(2,3)^T. Variância explicada: 100% em PC1.
    Show step-by-step (with the why)
    1. Compute Σ=X~TX~/(N1)\Sigma = \tilde X^T \tilde X / (N-1).
    2. Calcule traço e determinante de Σ\Sigma.
    3. Autovalores via fórmula: λ=(tr±tr24det)/2\lambda = (\text{tr} \pm \sqrt{\text{tr}^2 - 4\det})/2.
    4. Autovetor de λ1\lambda_1: resolva (Σλ1I)v=0(\Sigma - \lambda_1 I)v = 0.
    5. Macete: det = 0 significa que os dados vivem numa linha (reta de ajuste) — PCA encontra essa linha exatamente.
  3. Ex. 118.3Application

    Autovalores de Σ\Sigma: 10,5,3,1,110, 5, 3, 1, 1. Calcule a variância explicada por cada PC e a cumulativa. Para qual KK a variância cumulativa atinge 90%?

    Show solution
    Variância total = tr(Σ)=kλk\text{tr}(\Sigma) = \sum_k \lambda_k. Variância explicada por PC kk: λk/tr(Σ)\lambda_k / \text{tr}(\Sigma). Para λ=(10,5,3,1,1)\lambda = (10, 5, 3, 1, 1): total = 20. ExpVar: 50%, 25%, 15%, 5%, 5%. Cumulativa: 50%, 75%, 90%, 95%, 100%. Para 90%: K = 3.
  4. Ex. 118.4Application

    PCs de um dataset 2D: v1=(1,1)T/2v_1 = (1,1)^T/\sqrt{2}, v2=(1,1)T/2v_2 = (1,-1)^T/\sqrt{2}. Calcule os scores de x=(3,1)Tx = (3,-1)^T em ambas as componentes.

    Show solution
    Score de x=(3,1)Tx = (3, -1)^T na PC1 v1=(1/2)(1,1)Tv_1 = (1/\sqrt{2})(1,1)^T: z1=v1Tx=(3+(1))/2=2/2=2z_1 = v_1^T x = (3 + (-1))/\sqrt{2} = 2/\sqrt{2} = \sqrt{2}. Score em PC2 v2=(1/2)(1,1)Tv_2 = (1/\sqrt{2})(1,-1)^T: z2=(3(1))/2=4/2=22z_2 = (3 - (-1))/\sqrt{2} = 4/\sqrt{2} = 2\sqrt{2}.
  5. Ex. 118.5Application

    Usando os dados do exercício anterior, reconstrua x=(3,1)Tx = (3,-1)^T retendo apenas a PC1. Qual o erro de reconstrução?

    Show solution
    Reconstrução com K = 1: x^=xˉ+z1v1\hat x = \bar x + z_1 v_1. Se xˉ=0\bar x = 0 (dados centralizados), x^=z1v1=2(1,1)T/2=(1,1)T\hat x = z_1 v_1 = \sqrt{2} \cdot (1,1)^T/\sqrt{2} = (1,1)^T. Erro: xx^=(3,1)T(1,1)T=(2,2)T=22\|x - \hat x\| = \|(3,-1)^T - (1,1)^T\| = \|(2,-2)^T\| = 2\sqrt{2}.
  6. Ex. 118.6UnderstandingAnswer key

    Por que calcular PCA via SVD da matriz de dados X~\tilde X é preferível a autodecompor Σ\Sigma diretamente?

    Select the correct option
    Select an option first
    Show solution
    Calcular Σ=X~TX~/(N1)\Sigma = \tilde X^T \tilde X/(N-1) e depois autodecompor é matematicamente equivalente a SVD de X~\tilde X, mas numericamente inferior: a formação de X~TX~\tilde X^T \tilde X eleva ao quadrado o número de condicionamento. SVD de X~\tilde X é o padrão industrial (usado pelo sklearn).
  7. Ex. 118.7ApplicationAnswer key

    Calcule as PCs de Σ=(9331)\Sigma = \begin{pmatrix} 9 & 3 \\ 3 & 1 \end{pmatrix}. Qual a variância explicada por cada componente?

    Show solution
    Autovalores de Σ=(9331)\Sigma = \begin{pmatrix} 9 & 3 \\ 3 & 1 \end{pmatrix}: tr=10\text{tr} = 10, det=99=0\det = 9 - 9 = 0. Portanto λ1=10\lambda_1 = 10, λ2=0\lambda_2 = 0. Posto de covariância = 1. PC1 = (3,1)T/10(3,1)^T/\sqrt{10}. 100% da variância em PC1.
  8. 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, Σ\Sigma é a matriz de correlação: diagonal = 1. Variância total = d = número de features. PC com λk>1\lambda_k > 1 explica mais variância do que uma única feature original — critério de Kaiser. Reter PCs com λk>1\lambda_k > 1 é uma heurística conservadora mas amplamente usada.
  9. Ex. 118.9Application

    Dataset com autovalores 5,3,25, 3, 2 (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: k>Kλk\sum_{k > K} \lambda_k. Para (5,3,2)(5, 3, 2): com K = 2, erro = 2; com K = 1, erro = 3 + 2 = 5.
    Show step-by-step (with the why)
    1. Se os dados têm 3 PCs com variância 5, 3, 2 e total 10, ExpVar = 50%, 30%, 20%.
    2. Variância acumulada com K = 2: 80%.
    3. Erro de reconstrução com K = 2: λ3=2\lambda_3 = 2 (soma das variâncias das PCs descartadas).
    4. Macete: o erro de reconstrução é sempre a soma das variâncias das PCs descartadas.
  10. 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).
  11. Ex. 118.11ApplicationAnswer key

    SVD de X~\tilde X com N=101N = 101 amostras deu valores singulares σ1=20,σ2=10\sigma_1 = 20, \sigma_2 = 10. Calcule os autovalores correspondentes da covariância e a variância explicada por PC1.

    Show solution
    Relação: λk=σk2/(N1)\lambda_k = \sigma_k^2 / (N - 1). Para N=101N = 101, N1=100N - 1 = 100. Se σ1=20\sigma_1 = 20: λ1=400/100=4\lambda_1 = 400/100 = 4. Se σ2=10\sigma_2 = 10: λ2=100/100=1\lambda_2 = 100/100 = 1. Variância explicada por PC1: λ1/(λ1+λ2)=4/5=80%\lambda_1/(\lambda_1 + \lambda_2) = 4/5 = 80\%.
  12. 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 zj=vjTx~z_j = v_j^T \tilde x e zk=vkTx~z_k = v_k^T \tilde x têm covariância nula: Cov(zj,zk)=vjTΣvk=λkvjTvk=0\text{Cov}(z_j, z_k) = v_j^T \Sigma v_k = \lambda_k v_j^T v_k = 0. Scores são não-correlacionados — o que elimina multicolinearidade em modelos subsequentes.
  13. 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 d=50d = 50 features padronizadas, variância total = 50. Com K = 10 PCs e autovalores decrescentes: se os 10 primeiros somam 50×0,95=47,550 \times 0{,}95 = 47{,}5, então variância acumulada = 95%. O número de parâmetros para PCA de posto K: Kd+KKd + K (loadings + variâncias) vs d2d^2 para covariância completa. Grande economia.
  14. 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)
    1. Construa a matriz de yields diários: linhas = dias, colunas = maturidades (1m, 3m, 1a, 2a, 5a, 10a, 30a).
    2. Centralize por maturidade e aplique PCA.
    3. PC1: loading quase constante em todas as maturidades.
    4. PC2: loading crescente (negativo em curta, positivo em longa maturidade).
    5. PC3: loading em U invertido (picos nos extremos, vale no meio).
    6. Curiosidade: gestores de renda fixa chamam esses fatores de "nível, inclinação e curvatura" do portfólio.
  15. 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 Σ\Sigma 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.
  16. 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 PK=VKVKTP_K = V_K V_K^T o projetor ortogonal no espaço das K PCs. Erro quadrático: 1Nix~iPKx~i2=1NX~X~PKTF2\frac{1}{N}\sum_i \|\tilde x_i - P_K \tilde x_i\|^2 = \frac{1}{N}\|\tilde X - \tilde X P_K^T\|_F^2. Por Eckart-Young aplicado a X~\tilde X, o mínimo é atingido quando as K colunas de PKP_K são os K primeiros vetores singulares — que são as K primeiras PCs. Mínimo = k>Kσk2/(N1)=k>Kλk\sum_{k > K} \sigma_k^2/(N-1) = \sum_{k > K} \lambda_k.
  17. 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 λk\lambda_k (eixo y) vs kk (eixo x). O "joelho" é onde a curva muda de acentuada para plana — indica que os PCs além desse ponto contribuem pouco. Para λ=(12,8,3,1,1,1,1,1)\lambda = (12, 8, 3, 1, 1, 1, 1, 1) (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%.
  18. 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.
  19. 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).
  20. Ex. 118.20Application

    O que acontece quando a matriz de covariância é a identidade (Σ=I\Sigma = I)? O que isso implica para a PCA e a redução de dimensionalidade?

    Show solution
    Se Σ=I\Sigma = I (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.
  21. 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 Σv1=λ1v1\Sigma v_1 = \lambda_1 v_1 e Σv2=λ2v2\Sigma v_2 = \lambda_2 v_2 com λ1λ2\lambda_1 \neq \lambda_2. Então λ1v1Tv2=(Σv1)Tv2=v1TΣTv2=v1TΣv2=λ2v1Tv2\lambda_1 v_1^T v_2 = (\Sigma v_1)^T v_2 = v_1^T \Sigma^T v_2 = v_1^T \Sigma v_2 = \lambda_2 v_1^T v_2. Portanto (λ1λ2)v1Tv2=0(\lambda_1 - \lambda_2) v_1^T v_2 = 0. Como λ1λ2\lambda_1 \neq \lambda_2, então v1Tv2=0v_1^T v_2 = 0.
  22. 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.
  23. 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 M=L+SM = L + S onde LL é de baixo posto (PCA clássica) e SS é esparso (outliers). Minimiza L+λS1\|L\|_* + \lambda \|S\|_1 (norma nuclear + L1). PCA clássica é sensível a outliers porque minimiza norma L2 ao quadrado — um único outlier grande domina PC1.
  24. 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 ZRN×5Z \in \mathbb{R}^{N \times 5} e loadings VKR100×5V_K \in \mathbb{R}^{100 \times 5} e média xˉR100\bar x \in \mathbb{R}^{100}. Total: N×5+100×5+100N \times 5 + 100 \times 5 + 100 floats vs N×100N \times 100 original. Para N=1000N = 1000: 5100+100=56005100 + 100 = 5600 vs 100000100000 — fator 18x.
  25. 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 xiTxjx_i^T x_j por um kernel k(xi,xj)k(x_i, x_j) (ex: RBF exixj2/(2γ)e^{-\|x_i - x_j\|^2/(2\gamma)}). A matriz de Gram Kij=k(xi,xj)K_{ij} = k(x_i, x_j) é 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 O(N2)O(N^2) em vez de O(Nd)O(Nd).
  26. Ex. 118.26Application

    Explique o "dual trick" de PCA: quando NdN \ll d (mais features do que amostras), como calcular PCA eficientemente? Qual a complexidade em cada caso?

    Show solution
    Com N amostras e d features, X~RN×d\tilde X \in \mathbb{R}^{N \times d}. SVD: URN×NU \in \mathbb{R}^{N \times N}, ΣSVDRN×d\Sigma_{SVD} \in \mathbb{R}^{N \times d}, VRd×dV \in \mathbb{R}^{d \times d}. Se NdN \gg d (muitas amostras, poucas features): autodecomposição de ΣcovRd×d\Sigma_{cov} \in \mathbb{R}^{d \times d} é O(d3)O(d^3) — mais barato que SVD completa. Se NdN \ll d (dados genômicos): autodecomposição de X~X~TRN×N\tilde X \tilde X^T \in \mathbb{R}^{N \times N} (trick de dualidade) é O(N3)O(N^3).
  27. 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.
  28. Ex. 118.28Proof

    Prove que a variância amostral do k-ésimo score zk=X~vkz_k = \tilde X v_k é igual ao k-ésimo autovalor da covariância λk\lambda_k. Use a conexão com SVD.

    Show solution
    Variância dos scores: Var(zk)=1N1izik2=1N1X~vk2\text{Var}(z_k) = \frac{1}{N-1} \sum_i z_{ik}^2 = \frac{1}{N-1} \|\tilde X v_k\|^2. Usando SVD X~=UΣSVDVT\tilde X = U \Sigma_{SVD} V^T: X~vk=UΣSVDVTvk=σkuk\tilde X v_k = U \Sigma_{SVD} V^T v_k = \sigma_k u_k. Portanto Var(zk)=σk2/(N1)=λk\text{Var}(z_k) = \sigma_k^2/(N-1) = \lambda_k. A variância do k-ésimo score é exatamente o k-ésimo autovalor da covariância.
  29. 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.
  30. 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 x=Wz+μ+εx = W z + \mu + \varepsilon com zN(0,I)z \sim N(0,I) e εN(0,σ2I)\varepsilon \sim N(0, \sigma^2 I). 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 p(x)=N(μ,WWT+σ2I)p(x) = N(\mu, W W^T + \sigma^2 I). Reduz a PCA clássica quando σ20\sigma^2 \to 0.

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.

Updated on 2026-05-06 · Author(s): Clube da Matemática

Found an error? Open an issue on GitHub or submit a PR — open source forever.