PCA dan analisis Korespondensi dalam hubungannya dengan Biplot


38

Biplot sering digunakan untuk menampilkan hasil analisis komponen utama (dan teknik terkait). Ini adalah scatterplot ganda atau overlay yang menunjukkan pemuatan komponen dan skor komponen secara bersamaan. Saya diberitahu oleh @amoeba hari ini bahwa dia telah memberikan jawaban yang berangkat dari komentar saya ke pertanyaan yang menanyakan tentang bagaimana koordinat biplot dihasilkan / diskalakan; dan jawabannya mempertimbangkan beberapa cara secara rinci. Dan @amoeba bertanya apakah saya akan berbagi pengalaman saya dengan biplot.

Pengalaman saya (baik teoretis dan dengan bereksperimen), meskipun sangat sederhana, namun tidak menyoroti dua hal yang tidak begitu sering diakui: (1) biplot harus diklasifikasikan sebagai teknik analitik daripada anak sebar scatterplot; (2) PCA, analisis korespondensi (dan beberapa teknik terkenal lainnya) sebenarnya adalah kasus-kasus biplot tertentu. Atau, setidaknya, mereka berdua hampir kembar. Jika Anda dapat melakukan biplot, Anda dapat melakukan dua lainnya.

Pertanyaan saya kepada Anda adalah: bagaimana mereka (PCA, CA, Biplot) terhubung untuk Anda? Tolong, bagikan pemikiranmu. Sementara itu saya memposting akun saya sendiri tentang hal itu. Saya ingin meminta untuk menambahkan lebih banyak jawaban dan membuat komentar kritis.


Wow! Saya tidak mengharapkan utas sebesar itu ketika saya meminta komentar :) Terima kasih. +1 untuk memulai diskusi yang menarik. Sementara saya masih mencerna jawaban Anda, izinkan saya mengklarifikasi: dengan mengatakan bahwa saya memberikan jawaban "berangkat" dari komentar Anda, apakah maksud Anda bahwa saya memperpanjang atau saya menentangnya? Saya tentu tidak bermaksud menentang.
Amoeba berkata Reinstate Monica

Maksud saya "mulai dari dan berkembang [atas dasar kemauan sendiri]" Tidak, saya tidak melihat oposisi (walaupun saya ingin oposisi dari para ahli seperti Anda).
ttnphns

Jawaban:


40

SVD

Xr×cX=Ur×rSr×cVc×cm [mmin(r,c)]X(m)mXX(m)=Ur×mSm×mVc×mU=Ur×m V = V c × m S = S m × m, , .V=Vc×mS=Sm×m

Nilai singular dan kuadratnya, nilai eigen, mewakili skala , juga disebut inersia , dari data. Vektor eigen kiri adalah koordinat baris data ke sumbu utama ; sementara vektor eigen kanan adalah koordinat kolom data ke sumbu laten yang sama. Seluruh skala (inersia) disimpan dalam dan dengan demikian koordinat dan adalah unit-dinormalisasi (kolom SS = 1).SU m V S U VUmVSUV

Analisis Komponen Utama oleh SVD

Dalam PCA, itu disepakati untuk mempertimbangkan baris dari sebagai pengamatan acak (yang bisa datang atau pergi), tapi untuk mempertimbangkan kolom dari sebagai jumlah tetap dimensi atau variabel. Oleh karena itu adalah tepat dan nyaman untuk menghapus efek dari jumlah baris (dan hanya baris) pada hasil, terutama pada nilai eigen, dengan dekomposisi svd dari alih-alih . Perhatikan bahwa ini terkait dengan dekomposisi eigen dari , menjadi ukuran sampel . (Seringkali, sebagian besar dengan kovarian - untuk membuatnya tidak bias - kami lebih suka untuk membagi dengan , tetapi itu adalah nuansa.)XX Z = X / XZ=X/rXXX/rrnr-1

Perkalian dengan konstanta yang terpengaruh hanya ; dan tetap menjadi koordinat baris dan kolom yang dinormalisasi-satuan.XSUV

Dari sini dan di mana-mana di bawah ini kita mendefinisikan kembali , dan seperti yang diberikan oleh svd dari , bukan dari ; menjadi versi normal dari , dan normalisasi bervariasi di antara jenis analisis.SUVZXZX

Dengan mengalikan kita membawa rata - rata kuadrat dalam kolom ke 1. Mengingat bahwa baris adalah kasus acak bagi kita, itu logis. Dengan demikian, kami telah memperoleh apa yang disebut dalam skor pengamatan komponen standar atau standar PCA , . Kami tidak melakukan hal yang sama dengan karena variabel adalah entitas tetap.Ur=UUUVUUV

Kita kemudian dapat berunding baris dengan semua inersia, untuk mendapatkan koordinat baris unstandardixed, juga disebut dalam PCA skor komponen baku utama dari pengamatan: . Formula ini akan kita sebut "jalan langsung". Hasil yang sama dikembalikan oleh ; kami akan menamakannya "cara tidak langsung".USXV

Secara analogi, kita dapat memberi kolom dengan semua inersia, untuk mendapatkan koordinat kolom yang tidak standar, juga disebut dalam PCA pemuatan variabel-komponen : [dapat mengabaikan transpose jika adalah persegi], - "cara langsung". Hasil yang sama dikembalikan oleh , - "cara tidak langsung". (Nilai komponen utama standar di atas juga dapat dihitung dari pemuatan sebagai , di mana adalah pemuatan.)VSSZUX ( A S - 1 / 2 ) AX(SEBUAHS-1/2)SEBUAH

Biplot

Pertimbangkan biplot dalam arti analisis reduksi dimensionalitas sendiri, bukan hanya sebagai "dual scatterplot". Analisis ini sangat mirip dengan PCA. Tidak seperti PCA, baik baris dan kolom diperlakukan, secara simetris, sebagai pengamatan acak, yang berarti bahwa dilihat sebagai tabel dua arah acak dari berbagai dimensi. Kemudian, secara alami, menormalkan dengan baik dan sebelum svd: .Xr c Z = X / rcZ=X/rc

Setelah svd, hitung koordinat baris standar seperti yang kami lakukan di PCA: . Lakukan hal yang sama (tidak seperti PCA) dengan vektor kolom, untuk mendapatkan koordinat kolom standar : . Koordinat standar, baik dari baris maupun kolom, memiliki rata - rata kuadrat 1.U=Ur V=VV=Vc

Kami dapat memberikan baris dan / atau kolom koordinat dengan inersia dari nilai eigen seperti yang kami lakukan di PCA. Unstandardixed koordinat baris: (cara langsung). Unstandardixed koordinat kolom: (cara langsung). Bagaimana dengan cara tidak langsung? Anda dapat dengan mudah menyimpulkan dengan substitusi bahwa rumus tidak langsung untuk koordinat baris yang tidak standar adalah , dan untuk koordinat kolom yang tidak standar adalah .USV S X V / c X U / rVSXV/cXU/r

PCA sebagai kasus khusus Biplot . Dari uraian di atas Anda mungkin belajar bahwa PCA dan biplot hanya berbeda dalam bagaimana mereka menormalkan menjadi yang kemudian didekomposisi. Biplot dinormalisasi dengan jumlah baris dan jumlah kolom; PCA menormalkan hanya dengan jumlah baris. Akibatnya, ada sedikit perbedaan antara keduanya dalam perhitungan post-svd. Jika dalam melakukan biplot Anda menetapkan dalam rumusnya Anda akan mendapatkan hasil PCA persis. Dengan demikian, biplot dapat dilihat sebagai metode generik dan PCA sebagai kasus biplot tertentu.XZc=1

[ Pemusatan kolom . Beberapa pengguna mungkin berkata: Stop, tetapi bukankah PCA juga membutuhkan dan pertama-tama pemusatan kolom data (variabel) untuk menjelaskan perbedaan ? Sementara biplot mungkin tidak melakukan pemusatan? Jawaban saya: hanya PCA dalam arti sempit yang memusatkan dan menjelaskan perbedaan; Saya sedang membahas linear PCA-in-general-sense, PCA yang menjelaskan semacam penyimpangan kuadrat dari asal yang dipilih; Anda mungkin memilihnya sebagai data mean, 0 asli atau apa pun yang Anda suka. Dengan demikian, operasi "pemusatan" bukanlah yang dapat membedakan PCA dari biplot.]

Baris dan kolom pasif

Dalam biplot atau PCA, Anda dapat mengatur beberapa baris dan / atau kolom menjadi pasif, atau tambahan. Baris atau kolom pasif tidak memengaruhi SVD dan karenanya tidak memengaruhi inersia atau koordinat baris / kolom lain, tetapi menerima koordinatnya dalam ruang sumbu utama yang dihasilkan oleh baris / kolom aktif (bukan pasif).

Untuk mengatur beberapa titik (baris / kolom) menjadi pasif, (1) tentukan dan menjadi jumlah baris dan kolom yang aktif saja. (2) Setel ke nol baris dan kolom pasif dalam sebelum svd. (3) Gunakan cara "tidak langsung" untuk menghitung koordinat baris / kolom pasif, karena nilai vektor eigennya akan nol.rcZZ

Di PCA, ketika Anda menghitung skor komponen untuk kasus masuk baru dengan bantuan pemuatan yang diperoleh pada pengamatan lama ( menggunakan matriks koefisien skor ), Anda benar-benar melakukan hal yang sama dengan mengambil kasus baru ini di PCA dan menjaganya tetap pasif. Demikian pula, untuk menghitung korelasi / kovarian dari beberapa variabel eksternal dengan skor komponen yang dihasilkan oleh PCA setara dengan mengambil variabel-variabel di PCA itu dan menjaganya tetap pasif.

Penyebaran inersia yang sewenang-wenang

Kuadrat rata-rata kolom (MS) dari koordinat standar adalah 1. Kuadrat kolom rata-rata (MS) dari koordinat tidak standar sama dengan inersia dari sumbu utama masing-masing: semua inersia nilai eigen disumbangkan ke vektor eigen untuk menghasilkan koordinat tidak standar.

Dalam biplot : koordinat standar baris memiliki MS = 1 untuk setiap sumbu utama. Baris koordinat unstandardixed, juga disebut baris pokok koordinat memiliki MS = sesuai nilai eigen dari . Hal yang sama berlaku untuk standar kolom dan koordinat (pokok) yang tidak standar.UU S = X V / c ZUS=XV/cZ

Secara umum, tidak disyaratkan bahwa seseorang menganugerahkan koordinat dengan inersia baik secara penuh atau tidak sama sekali. Penyebaran sewenang-wenang diperbolehkan, jika perlu karena alasan tertentu. Biarkan menjadi proporsi inersia untuk pergi ke baris. Maka rumus umum koordinat baris adalah: (jalan langsung) = (cara tidak langsung). Jika kita mendapatkan koordinat baris standar, sedangkan dengan kita mendapatkan koordinat baris utama.hal1U S p 1 X V S p 1 - 1 / c p 1 = 0 p 1 = 1UShal1XVShal1-1/chal1=0hal1=1

Demikian juga menjadi proporsi kelembaman yang pergi ke kolom. Maka rumus umum koordinat kolom adalah: (jalan langsung) = (cara tidak langsung). Jika kita mendapatkan koordinat kolom standar, sedangkan dengan kita mendapatkan koordinat kolom utama.hal2V S p 2 X U S p 2 - 1 / r p 2 = 0 p 2 = 1VShal2XUShal2-1/rhal2=0hal2=1

Rumus tidak langsung umum bersifat universal karena mereka memungkinkan untuk menghitung koordinat (standar, pokok atau di antaranya) juga untuk titik-titik pasif, jika ada.

Jika mereka mengatakan inersia didistribusikan antara titik baris dan kolom. The , yaitu baris-pokok-kolom-standar, biplots kadang-kadang disebut "bentuk biplots" atau "pelestarian baris-metrik" biplots. The , yaitu baris-standar-kolom-pokok, biplots sering disebut dalam PCA sastra "kovarians biplots" atau "pelestarian kolom-metrik" biplots; mereka menampilkan pemuatan variabel ( yang disandingkan dengan kovarian) ditambah skor komponen standar, ketika diterapkan dalam PCA.hal1+hal2=1hal1=1,hal2=0hal1=0,hal2=1

Dalam analisis korespondensi , sering digunakan dan disebut normalisasi "simetris" atau "kanonik" oleh inersia - ini memungkinkan (meskipun pada beberapa ekspektasi keketatan geometris euclidean) membandingkan kedekatan antara titik baris dan kolom, seperti kita dapat dilakukan pada peta berlangsung multidimensi.hal1=hal2=1/2

Analisis Korespondensi (model Euclidean)

Analisis korespondensi dua arah (= sederhana) (CA) adalah biplot yang digunakan untuk menganalisis tabel kontingensi dua arah, yaitu, tabel non-negatif yang entri memuat makna semacam afinitas antara baris dan kolom. Ketika tabel adalah frekuensi digunakan analisis korespondensi model chi-square. Ketika entri, katakanlah, berarti atau skor lainnya, model Euclidean yang lebih sederhana digunakan.

Euclidean Model CA adalah hanya biplot yang dijelaskan di atas, hanya itu tabel adalah tambahan preprocessed sebelum memasuki operasi biplot. Secara khusus, nilai-nilai yang dinormalisasi tidak hanya oleh dan tetapi juga oleh jumlah total .XrcN

Preprocessing terdiri dari pemusatan, kemudian normalisasi dengan massa rata-rata. Pemusatan dapat beragam, paling sering: (1) pemusatan kolom; (2) pemusatan baris; (3) pemusatan dua arah yang merupakan operasi yang sama dengan perhitungan residu frekuensi; (4) pemusatan kolom setelah menyamakan jumlah kolom; (5) pemusatan baris setelah menyamakan jumlah baris. Normalisasi dengan massa rata-rata dibagi dengan nilai sel rata-rata dari tabel awal. Pada langkah preprocessing, baris / kolom pasif, jika ada, distandarisasi secara pasif: mereka dipusatkan / dinormalisasi oleh nilai yang dihitung dari baris / kolom aktif.

Kemudian biplot biasa dilakukan pada preprocessed , mulai dari Z = X / XZ=X/rc .

Biplot tertimbang

Bayangkan bahwa aktivitas atau pentingnya sebuah baris atau kolom dapat berupa angka antara 0 dan 1, dan bukan hanya 0 (pasif) atau 1 (aktif) seperti dalam biplot klasik yang dibahas sejauh ini. Kita dapat menimbang data input dengan bobot baris dan kolom ini dan melakukan biplot tertimbang. Dengan biplot tertimbang, semakin besar bobot semakin berpengaruh adalah baris atau kolom tersebut mengenai semua hasil - kelembaman dan koordinat semua titik ke sumbu utama.

Pengguna memasok bobot baris dan bobot kolom. Ini dan orang-orang yang pertama dinormalisasi secara terpisah untuk jumlah ke 1. Kemudian langkah normalisasi adalah Zsayaj=Xsayajwsayawj , denganwsayadanwjmenjadi bobot untuk baris i dan kolom j. Berat nol persisnya menunjukkan baris atau kolom menjadi pasif.

Pada titik itu kita dapat menemukan bahwa biplot klasik hanyalah biplot tertimbang ini dengan bobot sama 1/r untuk semua baris aktif dan bobot sama 1/c untuk semua kolom aktif; r dan c jumlah baris aktif dan kolom aktif.

Lakukan svd dari Z . Semua operasi yang sama seperti di biplot klasik, satu-satunya perbedaan adalah bahwa wsaya adalah di tempat 1/r dan wj adalah di tempat 1/c . Koordinat baris standar: Usaya=Usaya/wsaya dan koordinat kolom standar:Vj=Vj/wj . (Ini untuk baris / kolom dengan bobot bukan nol. Biarkan nilai 0 untuk yang beratnya nol dan gunakan rumus tidak langsung di bawah ini untuk mendapatkan koordinat standar atau apa pun untuknya.)

Berikan inersia untuk koordinat dalam proporsi yang Anda inginkan (dengan hal1=1 dan hal2=1 koordinat akan sepenuhnya tidak standar, atau pokok; dengan hal1=0 dan hal2=0 mereka akan tetap standar). Baris: UShal1 (cara langsung) = X[Wj]VShal1-1 (cara tidak langsung). Kolom: VShal2(cara langsung) = ([Wsaya]X)UShal2-1 (cara tidak langsung). Matriks dalam kurung di sini adalah matriks diagonal kolom dan bobot baris, masing-masing. Untuk titik pasif (yaitu, dengan bobot nol) hanya cara perhitungan tidak langsung yang sesuai. Untuk poin aktif (bobot positif), Anda dapat memilih cara mana pun.

PCA sebagai kasus khusus Biplot ditinjau kembali . Ketika mempertimbangkan biplot tanpa bobot sebelumnya saya menyebutkan bahwa PCA dan biplot adalah setara, satu-satunya perbedaan adalah bahwa biplot melihat kolom (variabel) dari data sebagai kasus acak simetris dengan pengamatan (baris). Setelah diperpanjang sekarang menjadi banyak biplot yang lebih umum, kami dapat sekali lagi mengklaimnya, mengamati bahwa satu-satunya perbedaan adalah bahwa (banyak) biplot menormalkan jumlah bobot kolom dari data input menjadi 1, dan (membobot) PCA - ke jumlah ( aktif) kolom. Jadi di sini adalah PCA tertimbang yang diperkenalkan. Hasilnya proporsional identik dengan biplot tertimbang. Khususnya, jika c adalah jumlah kolom aktif, maka hubungan berikut ini benar, untuk versi klasik dari kedua analisis berbobot:

  • nilai eigen PCA = nilai eigen dari biplot c ;
  • memuat = koordinat kolom di bawah "normalisasi utama" kolom;
  • skor komponen standar = koordinat baris di bawah "normalisasi standar" baris;
  • vektor eigen dari PCA = koordinat kolom di bawah "normalisasi standar" kolom /c ;
  • skor komponen mentah = koordinat baris di bawah "normalisasi utama" dari baris c .

Analisis Korespondensi (model Chi-square)

Ini secara teknis adalah biplot berbobot di mana bobot dihitung dari tabel itu sendiri dan bukan dipasok oleh pengguna. Sebagian besar digunakan untuk menganalisis tabel-silang frekuensi. Biplot ini akan mendekati, dengan jarak euclidean pada plot, jarak chi-square dalam tabel. Jarak Chi-square secara matematis jarak euclidean berbobot terbalik dengan total marginal. Saya tidak akan melangkah lebih jauh dalam perincian geometri model Chi-square CA.

Xwsaya=Rsaya/Nwj=Cj/NRsayaCjN

XZRsayaCjZ

min(r-1,c-1)

Lihat juga gambaran bagus model chi-square CA dalam jawaban ini .

Ilustrasi

Berikut ini beberapa tabel data.

 row     A     B     C     D     E     F
   1     6     8     6     2     9     9
   2     0     3     8     5     1     3
   3     2     3     9     2     4     7
   4     2     4     2     2     7     7
   5     6     9     9     3     9     6
   6     6     4     7     5     5     8
   7     7     9     6     6     4     8
   8     4     4     8     5     3     7
   9     4     6     7     3     3     7
  10     1     5     4     5     3     6
  11     1     5     6     4     8     3
  12     0     6     7     5     3     1
  13     6     9     6     3     5     4
  14     1     6     4     7     8     4
  15     1     1     5     2     4     3
  16     8     9     7     5     5     9
  17     2     7     1     3     4     4
  28     5     3     3     9     6     4
  19     6     7     6     2     9     6
  20    10     7     4     4     8     7

Beberapa dual scatterplots (dalam 2 dimensi utama pertama) dibangun berdasarkan analisis dari nilai-nilai ini. Titik kolom dihubungkan dengan titik asal dengan paku untuk penekanan visual. Tidak ada baris atau kolom pasif dalam analisis ini.

Biplot pertama adalah hasil SVD dari tabel data yang dianalisis "sebagaimana adanya"; koordinatnya adalah baris dan vektor vektor eigen.

masukkan deskripsi gambar di sini

Di bawah ini adalah salah satu dari dua kemungkinan biplots yang berasal dari PCA . PCA dilakukan pada data "sebagaimana adanya", tanpa memusatkan kolom; Namun, seperti yang diadopsi dalam PCA, normalisasi dengan jumlah baris (jumlah kasus) dilakukan pada awalnya. Biplot khusus ini menampilkan koordinat baris utama (yaitu skor komponen mentah) dan koordinat kolom utama (yaitu pemuatan variabel).

masukkan deskripsi gambar di sini

Berikutnya adalah biplot sensu stricto : Tabel awalnya dinormalisasi baik dengan jumlah baris dan jumlah kolom. Normalisasi prinsipal (penyebaran inersia) digunakan untuk koordinat baris dan kolom - seperti PCA di atas. Perhatikan kesamaan dengan biplot PCA: satu-satunya perbedaan adalah karena perbedaan dalam normalisasi awal.

masukkan deskripsi gambar di sini

Analisis korespondensi model Chi-square biplot. Tabel data diolah dengan cara khusus, termasuk pemusatan dua arah dan normalisasi menggunakan total marginal. Ini adalah biplot tertimbang. Inersia tersebar di baris dan kolom berkoordinasi secara simetris - keduanya berada di tengah-tengah antara koordinat "pokok" dan "standar".

masukkan deskripsi gambar di sini

Koordinat ditampilkan pada semua sebar ini:

point      dim1_1   dim2_1   dim1_2   dim2_2   dim1_3   dim2_3   dim1_4   dim2_4
1            .290     .247   16.871    3.048    6.887    1.244    -.479    -.101
2            .141    -.509    8.222   -6.284    3.356   -2.565    1.460    -.413
3            .198    -.282   11.504   -3.486    4.696   -1.423     .414    -.820
4            .175     .178   10.156    2.202    4.146     .899    -.421     .339
5            .303     .045   17.610     .550    7.189     .224    -.171    -.090
6            .245    -.054   14.226    -.665    5.808    -.272    -.061    -.319
7            .280     .051   16.306     .631    6.657     .258    -.180    -.112
8            .218    -.248   12.688   -3.065    5.180   -1.251     .322    -.480
9            .216    -.105   12.557   -1.300    5.126    -.531     .036    -.533
10           .171    -.157    9.921   -1.934    4.050    -.789     .433     .187
11           .194    -.137   11.282   -1.689    4.606    -.690     .384     .535
12           .157    -.384    9.117   -4.746    3.722   -1.938    1.121     .304
13           .235     .099   13.676    1.219    5.583     .498    -.295    -.072
14           .210    -.105   12.228   -1.295    4.992    -.529     .399     .962
15           .115    -.163    6.677   -2.013    2.726    -.822     .517    -.227
16           .304     .103   17.656    1.269    7.208     .518    -.289    -.257
17           .151     .147    8.771    1.814    3.581     .741    -.316     .670
18           .198    -.026   11.509    -.324    4.699    -.132     .137     .776
19           .259     .213   15.058    2.631    6.147    1.074    -.459     .005
20           .278     .414   16.159    5.112    6.597    2.087    -.753     .040
A            .337     .534    4.387    1.475    4.387    1.475    -.865    -.289
B            .461     .156    5.998     .430    5.998     .430    -.127     .186
C            .441    -.666    5.741   -1.840    5.741   -1.840     .635    -.563
D            .306    -.394    3.976   -1.087    3.976   -1.087     .656     .571
E            .427     .289    5.556     .797    5.556     .797    -.230     .518
F            .451     .087    5.860     .240    5.860     .240    -.176    -.325

2
Pertanyaan menarik (+1) serta jawaban yang sangat bagus dan komprehensif (+1). Namun, jawabannya IMHO sangat membutuhkan beberapa bantuan visual untuk membuat lebih baik semua matematika yang bagus.
Aleksandr Blekh

1
Saya telah menambahkan beberapa contoh foto.
ttnphns

2
Luarbiasa, terimakasih! (Itu bukan untuk mengatakan bahwa saya mengerti segalanya, tetapi, setidaknya, sekarang saya sedikit lebih termotivasi untuk mencoba :-).
Aleksandr Blekh
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.