主成分分析

R 中的多元概率分布

Surajit Ray

Professor, University of Glasgow

主成分分析(PCA)的目标

  • 降维
  • 构造不相关变量
  • 用更少维度捕获方差
R 中的多元概率分布

算法

  • PC1 在橙色方向解释最大变异
  • PC2 与 PC1 不相关,在蓝色方向解释剩余最大变异
  • PC3 与 PC1、PC2 不相关,在绿色方向解释剩余最大变异

princomp() 计算主成分

R 中的多元概率分布

在 R 中进行主成分分析

简化格式

princomp(x, cor = FALSE, scores = TRUE)
  • x:数值矩阵或数据框
  • cor:使用相关矩阵而非协方差
  • scores:输出数据在主成分上的投影分数
R 中的多元概率分布

mtcars 数据集的主成分分析

mtcars 数据集包含 32 辆汽车的 11 个与油耗相关的变量

head(mtcars,5)
                     mpg cyl  disp  hp drat    wt  qsec vs am gear carb
Mazda RX4           21.0   6 160.0 110 3.90 2.620 16.46  0  1    4    4
Mazda RX4 Wag       21.0   6 160.0 110 3.90 2.875 17.02  0  1    4    4
Datsun 710          22.8   4 108.0  93 3.85 2.320 18.61  1  1    4    1
Hornet 4 Drive      21.4   6 258.0 110 3.08 3.215 19.44  1  0    3    1
Hornet Sportabout   18.7   8 360.0 175 3.15 3.440 17.02  0  0    3    2
R 中的多元概率分布

从 mtcars 数据集中选择数值列

  • 排除 vsam 变量——二元变量
    mtcars.sub <- mtcars[ , -c(8,9)] 
    
    $$
  • 执行 PCA
    cars.pca <- princomp(mtcars.sub, cor = TRUE, scores = TRUE) 
    
R 中的多元概率分布

princomp 函数输出

cars.pca
标准差:
Comp.1 Comp.2 Comp.3 Comp.4 Comp.5 Comp.6 Comp.7 Comp.8 Comp.9 
 2.378  1.443  0.710  0.515  0.428  0.352  0.324  0.242  0.149 
summary(cars.pca)
成分的重要性:
                       Comp.1 Comp.2 Comp.3 Comp.4 Comp.5 Comp.6 Comp.7 Comp.8  Comp.9
Standard deviation      2.378  1.443  0.710 0.5148 0.4280 0.3518 0.3241 0.2419 0.14896
Proportion of Variance  0.628  0.231  0.056 0.0294 0.0204 0.0138 0.0117 0.0065 0.00247
Cumulative Proportion   0.628  0.860  0.916 0.9453 0.9656 0.9794 0.9910 0.9975 1.00000
R 中的多元概率分布

让我们应用主成分分析!

R 中的多元概率分布

Preparing Video For Download...