DÚ 6

V tejto úlohe sa zameriame na určenie hlavných komponent pre dáta carc. Vykreslíme si pre predstavu summary vybraných dát.

##        P               M         R78    R77          H               R        
##  Min.   : 3291   Min.   :12.00   .: 5   .: 8   Min.   :1.500   Min.   :18.50  
##  1st Qu.: 4319   1st Qu.:18.00   1: 2   1: 3   1st Qu.:2.500   1st Qu.:25.00  
##  Median : 5092   Median :20.00   2: 8   2:11   Median :3.000   Median :27.00  
##  Mean   : 6192   Mean   :21.30   3:30   3:27   Mean   :2.986   Mean   :26.82  
##  3rd Qu.: 6332   3rd Qu.:24.75   4:18   4:20   3rd Qu.:3.500   3rd Qu.:29.00  
##  Max.   :15906   Max.   :41.00   5:11   5: 5   Max.   :5.000   Max.   :37.50  
##        Tr              W              L               T              D        
##  Min.   : 5.00   Min.   :1760   Min.   :142.0   Min.   :32.0   Min.   : 79.0  
##  1st Qu.:10.25   1st Qu.:2250   1st Qu.:170.0   1st Qu.:36.0   1st Qu.:119.0  
##  Median :14.00   Median :3175   Median :192.5   Median :40.0   Median :196.0  
##  Mean   :13.74   Mean   :3011   Mean   :188.1   Mean   :39.8   Mean   :197.3  
##  3rd Qu.:16.00   3rd Qu.:3652   3rd Qu.:203.8   3rd Qu.:43.0   3rd Qu.:245.2  
##  Max.   :23.00   Max.   :4840   Max.   :233.0   Max.   :51.0   Max.   :425.0  
##        G              C     
##  Min.   :2.190   US    :52  
##  1st Qu.:2.730   Japan :11  
##  Median :2.955   Europe:11  
##  Mean   :3.018              
##  3rd Qu.:3.353              
##  Max.   :3.890

Vidíme, že naše dáta obsahujú kategoriálne nezávislé premenné (tretia (R78), štvrtá (R77) a trinásta (C) premenná). Metóda hlavných komponent ale funguje iba pre numerické veličiny, preto musíme dáta očistiť od kategoriálnych premenných. Ďalej je potrebné tieto dáta štandardizovať (odčítať výberový priemer a podeliť výberovým rozptylom), pretože nie sú uvedené v rovnakej mierke. Očistené dáta zhrňuje nasledujúca summary tabuľka

##        P                  M                 H                  R           
##  Min.   :-0.98748   Min.   :-1.6070   Min.   :-1.77001   Min.   :-2.65995  
##  1st Qu.:-0.63751   1st Qu.:-0.5699   1st Qu.:-0.57928   1st Qu.:-0.58126  
##  Median :-0.37466   Median :-0.2242   Median : 0.01609   Median : 0.05834  
##  Mean   : 0.00000   Mean   : 0.0000   Mean   : 0.00000   Mean   : 0.00000  
##  3rd Qu.: 0.04764   3rd Qu.: 0.5968   3rd Qu.: 0.61146   3rd Qu.: 0.69794  
##  Max.   : 3.30617   Max.   : 3.4055   Max.   : 2.39756   Max.   : 3.41623  
##        Tr                 W                 L                 T           
##  Min.   :-2.04828   Min.   :-1.5956   Min.   :-2.0559   Min.   :-1.80519  
##  1st Qu.:-0.81836   1st Qu.:-0.9706   1st Qu.:-0.8063   1st Qu.:-0.87913  
##  Median : 0.06015   Median : 0.2095   Median : 0.1978   Median : 0.04693  
##  Mean   : 0.00000   Mean   : 0.0000   Mean   : 0.0000   Mean   : 0.00000  
##  3rd Qu.: 0.52869   3rd Qu.: 0.8186   3rd Qu.: 0.6999   3rd Qu.: 0.74147  
##  Max.   : 2.16858   Max.   : 2.3335   Max.   : 2.0053   Max.   : 2.59359  
##        D                  G          
##  Min.   :-1.28812   Min.   :-1.8272  
##  1st Qu.:-0.85257   1st Qu.:-0.6357  
##  Median :-0.01413   Median :-0.1392  
##  Mean   : 0.00000   Mean   : 0.0000  
##  3rd Qu.: 0.52215   3rd Qu.: 0.7378  
##  Max.   : 2.47942   Max.   : 1.9238

Množstvo vysvetlenej variability pre jednotlivé komponenty vyjadruje nasledujúca tabuľka.

PC1 PC2 PC3 PC4 PC5 PC6 PC7 PC8 PC9 PC10
Standard deviation 2.55815 1.012942 0.9176324 0.6642373 0.6324539 0.5312491 0.4998404 0.3355134 0.2825424 0.1486362
Proportion of Variance 0.65441 0.102610 0.0842000 0.0441200 0.0400000 0.0282200 0.0249800 0.0112600 0.0079800 0.0022100
Cumulative Proportion 0.65441 0.757020 0.8412200 0.8853400 0.9253400 0.9535700 0.9785500 0.9898100 0.9977900 1.0000000

Existuje množstvo spôsobov o rozhodnutí počtu hlavných komponent. Vidíme, že prvá komponenta vysvetľuje 65.44% variability, druhá 10.26% atď. Mohli by sme zvoliť tie komponenty, ktorých variabilita je v súčte približne okolo 85-90%, čo pre nás predstavuje zahrnutie 4 (alebo 5) komponent. Vidíme teda redukciu dimenzionality z 10 na 4. Ďalšie kritérium by mohlo byť voľba takých komponent, ktoré majú vyššiu variabilitu, ako je priemerná variabilita. Toto kritérium však nefunguje pre štandardizované dáta. Vizuálne vieme variabilitu a kumulatívnu variabilitu zobraziť nasledovne.

# plot(pc, type = "l", col = "red", main = "Percentage of variance of principal components") # rovnaky obrazok ako nizsie

# variance and proportional variance explained by PCs
var_cov <- cov(data)
PCA_eigen <- eigen(var_cov)
prop_var <- PCA_eigen$values/sum(PCA_eigen$values)

# plot of proportional variance explained by PCs
# v qplot podla poctu PCS, chceme cca 90% variability

scree_us <- qplot(c(1:10), prop_var) +
  geom_line() +
  scale_x_continuous(name="Principal Components", breaks=c(1:10)) +
  ylab(NULL) +
  ggtitle("Scree Plot")

cum_scree_us <- qplot(c(1:10), cumsum(prop_var)) +
  geom_line() +
  scale_x_continuous(name="Principal Components", breaks=c(1:10)) +
  ylab(NULL) +
  ggtitle("Cumulative Scree Plot")
ggarrange(scree_us, cum_scree_us, ncol = 2)

Uvedené dáta budeme analyzovať vzhľadom ku kategoriálnej premennej, ktorá predstavuje sídlo automobilky (Amerika, Japonsko alebo Európa).

data <- transform(data, Continent =carc$C)

fviz_pca_biplot(pc,axes = c(1, 2), labelsize = 3, habillage=data$Continent,palette = c("blue3","red2", "green4")) +
  labs(color=NULL) + ggtitle("")+ guides(shape="none") +
  theme(text = element_text(size = 15),
        panel.background = element_blank(), 
        panel.grid.major = element_blank(),
        panel.grid.minor = element_blank(),
        axis.line = element_line(colour = "black"),
        legend.key = element_rect(fill = "white"))

fviz_pca_biplot(pc,axes = c(1, 3), labelsize = 3, habillage=data$Continent,palette = c("blue3","red2", "green4")) +
  labs(color=NULL) + ggtitle("")+ guides(shape="none") +
  theme(text = element_text(size = 15),
        panel.background = element_blank(), 
        panel.grid.major = element_blank(),
        panel.grid.minor = element_blank(),
        axis.line = element_line(colour = "black"),
        legend.key = element_rect(fill = "white"))

V zobrazených grafoch sa docela ťažko orientuje. Avšak z prvého obrázku môžeme usúdiť, že automobilky sídliace v USA sa nachádzajú na pravej strane obrázka. Teda premenné, ktorých šípky smerujú na pravú stranu, majú pre americké automobilky väčšie hodnoty. Napríklad smery premenných P (cena automobilu) alebo W (hmotnosť auta) vyjadrujú, že automobily so sídlom v USA sú z tohto pohľadu drahšie a tažšie. Na druhej strane premenná M vyjadrujáca dojazd sa nachádza na opačnej strane obrázka. Teda z tejto perspektívy môžeme tvrdiť, že autá z Európy a Japonska majú väčší dojazd ako autá z Ameriky.

Keby chceme podobne okomentovať aj druhý obrázok, tak si môžeme všimnúť koncentráciu európskych autmobiliek v hornej časti grafu a amerických v spodnej. Japonské sa nachádzaju v ľavej časti a keďže premenná P vyjadrujúca cenu auta smeruje opačne, tak možeme povedať, že japonské autá by mali byť najlacnejšie, čo je v súlade s intuíciou. Premenné Tr (veľkosť kufru) alebo T (vzdialenosť potrebná na otočenie auta) nadobúdajú najvyššie hodnoty pre americké automobilky. Tento pohľad je takisto prirodzený, keďze v Spojených štátoch prevládajú prevažne väčšie autá ako v Európe alebo Japonsku.