Apa skor komponen utama?

Jawaban:

66

Pertama, mari kita tentukan skor.

John, Mike dan Kate mendapatkan persentase berikut untuk ujian dalam Matematika, Sains, Bahasa Inggris dan Musik sebagai berikut:

      Maths    Science    English    Music    
John  80        85          60       55  
Mike  90        85          70       45
Kate  95        80          40       50

Dalam hal ini ada total 12 skor. Setiap skor mewakili hasil ujian untuk setiap orang dalam mata pelajaran tertentu. Jadi skor dalam kasus ini hanyalah representasi dari tempat baris dan kolom berpotongan.

Sekarang mari kita secara informal mendefinisikan Komponen Utama.

Pada tabel di atas, dapatkah Anda dengan mudah memplot data dalam grafik 2D? Tidak, karena ada empat mata pelajaran (yang berarti empat variabel: Matematika, Sains, Bahasa Inggris, dan Musik), yaitu:

  • Anda dapat memplot dua subjek dengan cara yang persis sama dengan koordinat dan dalam grafik 2D.yxy
  • Anda bahkan dapat memplot tiga subjek dengan cara yang sama Anda akan plot , dan dalam grafik 3D (meskipun ini umumnya praktik yang buruk, karena beberapa distorsi tidak dapat dihindari dalam representasi 2D data 3D).y zxyz

Tapi bagaimana Anda merencanakan 4 mata pelajaran?

Saat ini kami memiliki empat variabel yang masing-masing hanya mewakili satu subjek. Jadi metode di sekitar ini mungkin entah bagaimana menggabungkan subjek menjadi mungkin hanya dua variabel baru yang kemudian bisa kita plot. Ini dikenal sebagai penskalaan multidimensi .

Analisis Komponen Utama adalah bentuk penskalaan multidimensi. Ini adalah transformasi linear dari variabel menjadi ruang dimensi yang lebih rendah yang mempertahankan jumlah maksimal informasi tentang variabel. Sebagai contoh, ini berarti kita dapat melihat jenis mata pelajaran yang mungkin lebih cocok untuk setiap siswa.

Komponen utama karena itu merupakan kombinasi dari variabel asli setelah transformasi linear. Dalam R, ini adalah:

DF<-data.frame(Maths=c(80, 90, 95), Science=c(85, 85, 80), English=c(60, 70, 40), Music=c(55, 45, 50))
prcomp(DF, scale = FALSE)

Yang akan memberi Anda sesuatu seperti ini (dua Komponen Utama hanya demi kesederhanaan):

                PC1         PC2
Maths    0.27795606  0.76772853 
Science -0.17428077 -0.08162874 
English -0.94200929  0.19632732 
Music    0.07060547 -0.60447104 

Kolom pertama di sini menunjukkan koefisien kombinasi linier yang mendefinisikan komponen utama # 1, dan kolom kedua menunjukkan koefisien untuk komponen utama # 2.

Jadi apa yang dimaksud Skor Komponen Utama?

Ini adalah skor dari tabel di akhir posting ini (lihat di bawah).

Output di atas dari R berarti kita sekarang dapat memplot skor setiap orang di semua mata pelajaran dalam grafik 2D sebagai berikut. Pertama, kita perlu memusatkan variabel asli yang berarti kolom pengurangan saya:

      Maths    Science    English    Music    
John  -8.33       1.66       3.33       5  
Mike   1.66       1.66      13.33      -5
Kate   6.66       -3.33    -16.66       0

Dan kemudian untuk membentuk kombinasi linear untuk mendapatkan skor PC1 dan PC2 :

      x                                                    y
John -0.28*8.33 + -0.17*1.66 + -0.94*3.33  + 0.07*5   -0.77*8.33 + -0.08*1.66 + 0.19*3.33   + -0.60*5 
Mike 0.28*1.66  + -0.17*1.66 + -0.94*13.33 + -0.07*5   0.77*1.66 + -0.08*1.66 + 0.19*13.33  + -0.60*5
Kate 0.28*6.66  + 0.17*3.33  + 0.94*16.66  + 0.07*0    0.77*6.66 +  0.08*3.33 + -0.19*16.66 + -0.60*0

Yang disederhanakan menjadi:

        x       y
John   -5.39   -8.90
Mike  -12.74    6.78
Kate   18.13    2.12

Ada enam skor komponen utama dalam tabel di atas. Sekarang Anda dapat memplot skor dalam grafik 2D untuk mengetahui jenis mata pelajaran yang mungkin lebih cocok untuk setiap siswa.

Output yang sama dapat diperoleh dalam R dengan mengetik prcomp(DF, scale = FALSE)$x.

EDIT 1: Hmm, saya mungkin bisa memikirkan contoh yang lebih baik, dan ada lebih dari itu yang saya taruh di sini, tapi saya harap Anda mendapatkan idenya.

EDIT 2: kredit penuh kepada @drpaulbrewer untuk komentarnya dalam meningkatkan jawaban ini.

Tony Breyal
sumber
10
Upaya patut dipuji - TETAPI - baik PC1 maupun PC2 tidak memberitahu Anda siapa yang melakukan yang terbaik dalam semua mata pelajaran. Untuk melakukannya, semua subjek dengan koefisien PC harus positif. PC1 memiliki bobot positif untuk Matematika dan Musik tetapi negatif untuk Sains dan Bahasa Inggris. PC2 memiliki bobot positif untuk Matematika dan Bahasa Inggris tetapi negatif untuk Sains dan Musik. Apa yang PC katakan adalah di mana letak perbedaan terbesar dalam dataset. Jadi dengan menimbang subjek dengan koefisien dalam PC1, dan menggunakannya untuk menilai siswa, Anda mendapatkan varians terbesar atau penyebaran perilaku siswa. Itu dapat mengklasifikasikan jenis tetapi bukan kinerja.
Paul
+1 komentar bagus, tepuk tangan. Anda tentu saja benar, saya seharusnya telah menulis yang lebih baik dan sekarang telah mengedit baris yang menyinggung agar saya berharap.
Tony Breyal
Anda dapat membuat standar vars, maka hitung jumlahnya, untuk melihat siapa yang terbaik, atau jika Anda lebih suka, di R:apply(dtf, 1, function(x) sum(scale(x)))
aL3xa
2
@JohnPrior Keempat variabel (kolom) adalah Matematika, Sains, Bahasa Inggris dan Musik, dan baris mewakili individu. Istilah "subjek" menjadi ambigu kadang-kadang karena lima tahun yang lalu saya memilih contoh yang mengerikan untuk jawaban.
Tony Breyal
1
@ Tony, saya melanjutkan dan mengedit jawaban Anda untuk memusatkan variabel sebelum menghitung skor. Sekarang skor yang dihitung cocok dengan prcompoutput apa . Sebelumnya tidak.
Amuba kata Reinstate Monica
23

Principal component analysis (PCA) adalah salah satu pendekatan populer yang menganalisis varian ketika Anda berurusan dengan data multivarian. Anda memiliki variabel acak X1, X2, ... Xn yang semuanya berkorelasi (positif atau negatif) ke berbagai tingkat, dan Anda ingin mendapatkan pemahaman yang lebih baik tentang apa yang terjadi. PCA dapat membantu.

Apa yang PCA berikan kepada Anda adalah perubahan variabel menjadi Y1, Y2, ..., Yn (yaitu jumlah variabel yang sama) yang merupakan kombinasi linear dari Xs. Misalnya, Anda mungkin memiliki Y1 = 2,1 X1 - 1,76 X2 + 0,2 X3 ...

Ys properti bagus yang masing-masing tidak memiliki korelasi satu sama lain. Lebih baik lagi, Anda mendapatkannya dalam mengurangi varians. Jadi, Y1 "menjelaskan" sebagian besar varian dari variabel asli, Y2 sedikit kurang dan seterusnya. Biasanya setelah beberapa Ys pertama, variabel menjadi agak tidak berarti. Skor PCA untuk Xi mana pun adalah hanya koefisiennya di masing-masing Ys. Dalam contoh saya sebelumnya, skor untuk X2 dalam komponen utama pertama (Y1) adalah 1,76.

Cara PCA melakukan keajaiban ini adalah dengan menghitung vektor eigen dari matriks kovarians.

Untuk memberikan contoh nyata, bayangkan X1, ... X10 adalah perubahan dalam 1 tahun, 2 tahun, ..., imbal hasil obligasi Treasury 10 tahun selama beberapa periode waktu. Ketika Anda menghitung PCA Anda biasanya menemukan bahwa komponen pertama memiliki skor untuk setiap ikatan dari tanda yang sama dan tentang tanda yang sama. Ini memberitahu Anda bahwa sebagian besar variasi dalam hasil obligasi berasal dari segala sesuatu yang bergerak dengan cara yang sama: "pergeseran paralel" naik atau turun. Komponen kedua biasanya menunjukkan "curam" dan "perataan" kurva dan memiliki tanda-tanda berlawanan untuk X1 dan X10.

seancarmody
sumber
Bagaimana nilai Y yang lebih tinggi "menjelaskan" bagian varian yang lebih besar? Apakah ini cara PCA dihitung? Jika demikian, saya pikir saya punya pertanyaan lain untuk dikirim;)
vrish88
1
Itu benar - jika varians PC adalah, katakan 3.5, maka PC itu "menjelaskan" variabilitas 3.5 variabel dari set awal. Karena PC adalah aditif,, PC1 > PC2 > ... > PCndan jumlah variansinya sama dengan jumlah varians dari set variabel awal, karena PCA dihitung berdasarkan matriks kovarians, yaitu variabel distandarisasi (SD = 1, VAR = 1).
aL3xa
6

Katakanlah Anda memiliki awan titik N di, katakanlah, 3D (yang dapat dicantumkan dalam array 100x3). Kemudian, analisis komponen utama (PCA) cocok dengan ellipsoid berorientasi sewenang-wenang ke dalam data. Skor komponen utama adalah panjang diameter ellipsoid.

Dalam arah di mana diameternya besar, data bervariasi banyak, sedangkan ke arah di mana diameternya kecil, data bervariasi. Jika Anda ingin memproyeksikan data Nd ke plot pencar 2-d, Anda memplotnya di sepanjang dua komponen utama terbesar, karena dengan pendekatan itu Anda menampilkan sebagian besar varian dalam data.

Jonas
sumber
Apakah ada manfaat atau Anda bisa memplotnya di sebar plot 3-d?
vrish88
6

Saya suka menganggap skor komponen utama sebagai "pada dasarnya tidak berarti" sampai Anda benar-benar memberi mereka beberapa makna. Menafsirkan skor PC dalam hal "realitas" adalah bisnis yang rumit - dan tidak ada cara unik untuk melakukannya. Itu tergantung pada apa yang Anda ketahui tentang variabel-variabel tertentu yang masuk ke PCA, dan bagaimana mereka saling berhubungan dalam hal interpretasi.

Sejauh matematika berjalan, saya suka menafsirkan skor PC sebagai koordinat setiap titik, sehubungan dengan sumbu komponen utama. Jadi dalam variabel mentah yang Anda milikixi =(x1i,x2i,,xpi)x1x1izi =(z1i,z2i,,zpi)=A(xix¯)Ap×px¯

Jadi, Anda bisa menganggap vektor eigen menggambarkan di mana "garis lurus" yang menggambarkan PC. Kemudian skor komponen utama menggambarkan di mana setiap titik data terletak pada setiap garis lurus, relatif terhadap "sentriod" data. Anda juga dapat memikirkan skor PC dalam kombinasi dengan vektor bobot / eigen sebagai serangkaian prediksi peringkat 1 untuk setiap titik data asli, yang memiliki bentuk:

x^ji(k)=x¯j+zkiAkj

x^ji(k)ijk

probabilityislogic
sumber
4

Komponen utama dari matriks data adalah pasangan nilai eigen-vektor-eigen dari matriks varians-kovariansnya. Intinya, mereka adalah potongan varian yang terkait dengan dekorasi. Masing-masing adalah kombinasi linear dari variabel untuk pengamatan - misalkan Anda mengukur w, x, y, z pada masing-masing sekelompok subjek. PC pertama Anda mungkin berfungsi seperti itu

0,5w + 4x + 5thn - 1,5z

Muatan (vektor eigen) di sini adalah (0,5, 4, 5, -1.5). Skor (nilai eigen) untuk setiap pengamatan adalah nilai yang dihasilkan ketika Anda mengganti dalam observasi (w, x, y, z) dan menghitung total.

Ini sangat berguna ketika Anda memproyeksikan sesuatu ke komponen utama mereka (untuk, katakanlah, deteksi outlier) karena Anda hanya merencanakan skor pada masing-masing seperti Anda akan data lainnya. Ini dapat mengungkapkan banyak tentang data Anda jika sebagian besar varians berkorelasi (== di beberapa PC pertama).

Tim
sumber
Hanya untuk kejelasan, ketika Anda mengatakan "seandainya Anda mengukur w, x, y, z pada masing-masing sekelompok subjek", Anda tidak mengacu pada "subjek" dari jawaban @TonyBreyal di atas, bukan? Anda menggunakan kata "subyek" untuk menjadi sinonim dengan "pengamatan" / "catatan" / "baris data"?
Ryan Chase
4

i=1,,Nj=1,,M

Zi,1=ci,1Yi,1+ci,2Yi,2+...+ci,MYi,M

cY

Z1=(Z1,1,...,ZN,1

Output dari R pada PCA (contoh palsu) terlihat seperti ini. PC1, PC2 ... adalah komponen utama 1, 2 ... Contoh di bawah ini hanya menampilkan 8 komponen utama pertama (dari 17). Anda juga dapat mengekstrak elemen lain dari PCA, seperti memuat dan skor.

Importance of components:
                          PC1    PC2    PC3    PC4    PC5    PC6    PC7    PC8
Standard deviation     1.0889 1.0642 1.0550 1.0475 1.0387 1.0277 1.0169 1.0105
Proportion of Variance 0.0697 0.0666 0.0655 0.0645 0.0635 0.0621 0.0608 0.0601
Cumulative Proportion  0.0697 0.1364 0.2018 0.2664 0.3298 0.3920 0.4528 0.5129
Roman Luštrik
sumber
1
Maaf, tapi apa itu pemuatan (c dalam rumus Anda) dan bagaimana Anda menentukannya?
vrish88
@ vrish88 Saya percaya c adalah "memuat" dari vektor eigen. Pemahaman saya adalah bahwa ini pada dasarnya hanya bobot yang Anda berikan untuk masing-masing variabel. Tim menjelaskan ini dengan baik dalam jawabannya.
Ryan Chase
3

Skor komponen utama adalah sekelompok skor yang diperoleh setelah Analisis Komponen Utama (PCA). Dalam PCA, hubungan antara sekelompok skor dianalisis sedemikian rupa sehingga jumlah variabel "imajiner" baru yang sama (alias komponen prinsip) dibuat. Yang pertama dari variabel imajiner baru ini berkorelasi maksimal dengan semua kelompok variabel asli. Berikutnya agak kurang berkorelasi, dan seterusnya sampai pada titik bahwa jika Anda menggunakan semua komponen utama mencetak skor untuk memprediksi variabel apa pun yang diberikan dari kelompok awal Anda akan dapat menjelaskan semua variansnya. Cara PCA menghasilkan adalah kompleks dan memiliki batasan tertentu. Di antaranya adalah pembatasan bahwa korelasi antara dua komponen utama (yaitu variabel imajiner) adalah nol; jadi itu tidak

russellpierce
sumber