Principal Component Analysis

การแจกแจงความน่าจะเป็นหลายตัวแปรใน R

Surajit Ray

Professor, University of Glasgow

เป้าหมายของ Principal Component Analysis (PCA)

  • การลดมิติข้อมูล
  • การสร้างตัวแปรที่ไม่สัมพันธ์กัน
  • การจับความแปรปรวนในมิติที่น้อยลง
การแจกแจงความน่าจะเป็นหลายตัวแปรใน R

อัลกอริทึม

  • PC1 อธิบายความแปรปรวนสูงสุดในทิศทางสีส้ม
  • PC2 ไม่สัมพันธ์กับ PC1 — อธิบายความแปรปรวนที่เหลือสูงสุดในทิศทางสีน้ำเงิน
  • PC3 ไม่สัมพันธ์กับ PC1 และ PC2 — อธิบายความแปรปรวนที่เหลือสูงสุดในทิศทางสีเขียว ฟังก์ชัน princomp() ใช้คำนวณ PC

การแจกแจงความน่าจะเป็นหลายตัวแปรใน R

Principal Component Analysis ใน R

รูปแบบแบบย่อ

princomp(x, cor = FALSE, scores = TRUE)
  • x: เมทริกซ์ตัวเลขหรือ data frame
  • cor: ใช้ correlation matrix แทน covariance
  • scores: คำนวณ scores/projection ของข้อมูลบน principal components
การแจกแจงความน่าจะเป็นหลายตัวแปรใน R

Principal Component Analysis ของชุดข้อมูล mtcars

ชุดข้อมูล mtcars มีตัวแปร 11 ตัวที่เกี่ยวกับการใช้เชื้อเพลิงของรถยนต์ 32 คัน

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

  • ตัดตัวแปร vs และ am ออก เนื่องจากทั้งคู่เป็นตัวแปรไบนารี
    mtcars.sub <- mtcars[ , -c(8,9)] 
    
    $$
  • ทำ PCA
    cars.pca <- princomp(mtcars.sub, cor = TRUE, scores = TRUE) 
    
การแจกแจงความน่าจะเป็นหลายตัวแปรใน R

ผลลัพธ์ของฟังก์ชัน princomp

cars.pca
Standard deviations:
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)
Importance of components:
                       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...