Analýza hlavných komponentov (PCA)

Softvér na analýzu údajov — Projektová správa

Artem Vara

2026-04-29

Problém vysokej dimenzionality

Situácia:

  • Dataset mtcars: 11 premenných, 32 áut
  • Priama vizualizácia 11D priestoru je nemožná
  • Ako nájsť skrytú štruktúru?

Riešenie — PCA:

Transformuj \(p\) premenných na \(k \ll p\) komponentov, ktoré zachovávajú čo najviac informácie.

Matematické základy

Algoritmus PCA — 4 kroky:

  1. Štandardizácia: \(z_{ij} = \dfrac{x_{ij} - \bar{x}_j}{s_j}\)

  2. Kovariančná matica: \(\mathbf{C} = \dfrac{1}{n-1}\mathbf{Z}^\top\mathbf{Z}\)

  3. Spektrálny rozklad: \(\mathbf{C}\mathbf{v}_i = \lambda_i \mathbf{v}_i\)

  4. Projekcia: \(\mathbf{PC}_k = \mathbf{Z}\mathbf{v}_k\)

Vysvetlená variabilita \(k\)-teho komponentu: \[\text{PVE}_k = \frac{\lambda_k}{\sum_{i=1}^{p} \lambda_i} \times 100\%\]

Dataset mtcars

mpg cyl disp hp drat wt qsec vs am gear carb
Mazda RX4 21.0 6 160 110 3.9 2.6 16.5 0 1 4 4
Mazda RX4 Wag 21.0 6 160 110 3.9 2.9 17.0 0 1 4 4
Datsun 710 22.8 4 108 93 3.9 2.3 18.6 1 1 4 1
Hornet 4 Drive 21.4 6 258 110 3.1 3.2 19.4 1 0 3 1
Hornet Sportabout 18.7 8 360 175 3.1 3.4 17.0 0 0 3 2
Valiant 18.1 6 225 105 2.8 3.5 20.2 1 0 3 1

32 modelov automobilov (1974) · 11 technických premenných · Zdroj: Henderson & Velleman (1981)

Výpočet PCA v R

pca <- prcomp(mtcars,
              center = TRUE,
              scale. = TRUE)

lambda <- pca$sdev^2
pve    <- lambda / sum(lambda) * 100

data.frame(
  PC         = paste0("PC", 1:5),
  Eigenvalue = round(lambda[1:5], 2),
  PVE        = round(pve[1:5], 2),
  Cumulative = round(cumsum(pve)[1:5], 2)
)
   PC Eigenvalue   PVE Cumulative
1 PC1       6.61 60.08      60.08
2 PC2       2.65 24.10      84.17
3 PC3       0.63  5.70      89.87
4 PC4       0.27  2.45      92.32
5 PC5       0.22  2.03      94.36

Scree Plot

Biplót — projekcia do 2D

Interpretácia komponentov

PC1 — „Sila vozidla” (60.1%)

  • cyl, disp, hp, wt, carb
  • mpg, drat

Silnejší motor = vyššia spotreba

PC2 — „Konfigurácia” (24.1%)

  • qsec, vs
  • carb, hp

Záver

Výsledky:

Pôvodné premenné 11
Komponenty (80%) 4
PC1+PC2 variabilita 84.2%
Separácia áut

Kľúčové zistenia:

  • PCA zredukovala 11D → 2–4 dimenzie
  • PC1 zachytáva výkonnosť vozidla
  • Manuálne/auto. autá tvoria odlišné zhluky
  • Metóda vychádza z lineárnej algebry

„PCA is arguably the most important tool in multivariate statistics.”
— Jolliffe & Cadima (2016)