Pemahaman geometris PCA dalam ruang subjek (ganda)

19

Saya mencoba untuk mendapatkan pemahaman intuitif tentang bagaimana analisis komponen utama (PCA) bekerja di ruang subjek (ganda) .

Pertimbangkan dataset 2D dengan dua variabel, dan , dan titik data (matriks data adalah dan dianggap berpusat). Presentasi PCA yang umum adalah bahwa kami mempertimbangkan poin dalam , tulis matriks kovarian , dan temukan vektor eigen & nilai eigennya; PC pertama sesuai dengan arah varians maksimum, dll. Berikut ini adalah contoh dengan matriks kovarians . Garis merah menunjukkan vektor eigen yang diskalakan oleh akar kuadrat dari nilai eigen masing-masing.x1 n X n × 2 n R 2 2 × 2 C = ( 4 2 2 2 )x2nXn×2nR22×2C=(4222)

PCA dalam ruang sampel

Sekarang perhatikan apa yang terjadi di ruang subjek (saya belajar istilah ini dari @ttnphns), juga dikenal sebagai ruang ganda (istilah yang digunakan dalam pembelajaran mesin). Ini adalah ruang dimensi di mana sampel dari dua variabel kami (dua kolom ) membentuk dua vektor dan . Panjang kuadrat dari masing-masing vektor variabel sama dengan variansnya, cosinus sudut antara dua vektor sama dengan korelasi di antara mereka. Representasi ini, omong-omong, sangat standar dalam perawatan regresi berganda. Dalam contoh saya, ruang subjek terlihat seperti itu (saya hanya menampilkan bidang 2D yang direntang oleh dua vektor variabel):X x 1 x 2nXx1x2

PCA dalam ruang subjek 1

Komponen utama, yang merupakan kombinasi linear dari dua variabel, akan membentuk dua vektor dan di bidang yang sama. Pertanyaan saya adalah: apa pemahaman geometri / intuisi tentang bagaimana membentuk vektor variabel komponen utama menggunakan vektor variabel asli pada plot seperti itu? Diberikan dan , prosedur geometrik apa yang akan menghasilkan ?p 2 x 1 x 2 p 1p1p2x1x2p1


Di bawah ini adalah pemahaman parsial saya tentang hal itu.

Pertama-tama, saya dapat menghitung komponen utama / sumbu melalui metode standar dan plot mereka pada gambar yang sama:

PCA di ruang subjek 2

Selain itu, kami dapat mencatat bahwa dipilih sedemikian sehingga jumlah jarak kuadrat antara (vektor biru) dan proyeksi mereka pada minimal; jarak tersebut adalah kesalahan rekonstruksi dan ditampilkan dengan garis putus-putus hitam. Setara, memaksimalkan jumlah panjang kuadrat dari kedua proyeksi. Ini sepenuhnya menentukan dan tentu saja sepenuhnya analog dengan deskripsi serupa di ruang utama (lihat animasi dalam jawaban saya untuk Memahami analisis komponen utama, vektor eigen & nilai eigen ). Lihat juga bagian pertama dari jawaban @ttnphns di sini .x i p 1 p 1 p 1p1xip1p1p1

Namun, ini tidak cukup geometris! Itu tidak memberi tahu saya bagaimana menemukan dan tidak menentukan panjangnya.p1

Dugaan saya adalah , , , dan semuanya terletak pada satu elips yang berpusat pada dengan dan sebagai sumbu utamanya. Berikut ini tampilannya dalam contoh saya:x 2 p 1 p 2 0 p 1 p 2x1x2p1p20p1p2

masukkan deskripsi gambar di sini

T1: Bagaimana membuktikannya? Demonstrasi aljabar langsung tampaknya sangat membosankan; bagaimana melihat bahwa ini harus menjadi masalahnya?

Tetapi ada banyak elips berbeda yang berpusat pada dan melewati dan :x 1 x 20x1x2

masukkan deskripsi gambar di sini

T2: Apa yang menentukan elips "benar"? Tebakan pertama saya adalah elips dengan poros utama terpanjang; tetapi tampaknya salah (ada elips dengan sumbu utama dengan panjang berapa pun).

Jika ada jawaban untuk Q1 dan Q2, maka saya juga ingin tahu apakah mereka menyamaratakan lebih dari dua variabel.

amuba kata Reinstate Monica
sumber
Benarkah ada banyak elips yang berpusat pada titik asal (di mana x1 & x2 berpotongan), & melakukan kontak dengan ujung-ujung jauh dari x1 & x2? Saya akan berpikir hanya akan ada satu. Tentu ada banyak jika Anda bersantai 1 dari 3 kriteria (tengah, & 2 ujung).
gung - Reinstate Monica
Ada banyak elips yang berpusat di titik asal melewati dua vektor. Tetapi untuk vektor-vektor non-collinear dan hanya ada satu yang merupakan lingkaran satuan dalam basis ganda. Ini adalah lokus manaBanyak yang bisa dipelajari dari sumbu utamanya. ( c , d ) x ( a , b ) + y ( c , d ) | ( a c b d ) - 1 ( x y ) | 2 = 1.(a,b)(c,d)x(a,b)+y(c,d)
|(acbd)1(xy)|2=1.
whuber
3
variable space (I borrowed this term from ttnphns)- @amoeba, Anda pasti salah. Variabel-variabel sebagai vektor dalam (awalnya) ruang n-dimensi disebut ruang subjek (n subjek sebagai sumbu "mendefinisikan" ruang sementara variabel p "span" -nya). Ruang variabel , sebaliknya, kebalikan - yaitu scatterplot yang biasa. Ini adalah bagaimana terminologi ditetapkan dalam statistik multivariat. (Jika dalam pembelajaran mesin itu berbeda - saya tidak tahu itu - maka jauh lebih buruk bagi pelajar.)
ttnphns
Perhatikan bahwa keduanya adalah ruang vektor: vektor (= titik) adalah bentang, sumbu adalah apa yang menentukan arah dan menghasilkan takik pengukuran. Perhatikan juga dialektika: kedua "spasi" sebenarnya adalah ruang yang sama (hanya dirumuskan secara berbeda untuk tujuan saat ini). Itu terlihat, misalnya saja, pada gambar terakhir dalam jawaban ini . Ketika Anda overlay dua formulasi Anda mendapatkan biplot, atau ruang ganda.
ttnphns
My guess is that x1, x2, p1, p2 all lie on one ellipseApa yang bisa menjadi bantuan heuristik dari elips di sini? Aku meragukan itu.
ttnphns

Jawaban:

5

Semua ringkasan ditampilkan dalam pertanyaan hanya bergantung pada momen kedua; atau, setara, pada matriks . Karena kita memikirkan sebagai cloud titik - setiap titik adalah deretan --kita mungkin bertanya operasi sederhana apa pada titik-titik ini yang melestarikan properti .X X X X X XXXXXXXX

Pertama adalah mengalikan dengan matriks , yang akan menghasilkan matriks . Agar ini berfungsi, penting untuk itu n × n U n × 2 U XXn×nUn×2UX

XX=(UX)UX=X(UU)X.

Kesetaraan dijamin ketika adalah matriks identitas: yaitu, ketika adalah ortogonal . n×n UUUn×nU

Telah diketahui (dan mudah ditunjukkan) bahwa matriks ortogonal adalah produk dari refleksi dan rotasi Euclidean (mereka membentuk grup refleksi dalam ). Dengan memilih rotasi dengan bijak, kita dapat secara dramatis menyederhanakan . Satu ide adalah fokus pada rotasi yang hanya memengaruhi dua titik di cloud pada satu waktu. Ini sangat sederhana, karena kita dapat memvisualisasikannya.XRnX

Secara khusus, mari dan menjadi dua titik bukan nol yang berbeda di cloud, yang merupakan baris dan dari . Rotasi ruang kolom memengaruhi hanya dua titik ini untuk mengubahnya( x j , y j ) i j X R n(xi,yi)(xj,yj)ijXRn

{(xi,yi)=(cos(θ)xi+sin(θ)xj,cos(θ)yi+sin(θ)yj)(xj,yj)=(sin(θ)xi+cos(θ)xj,sin(θ)yi+cos(θ)yj).

Jumlah ini adalah dengan menggambar vektor dan di pesawat dan memutarnya dengan sudut . (Perhatikan bagaimana koordinat tercampur di sini! berjalan satu sama lain dan berjalan bersama. Dengan demikian, efek rotasi ini di biasanya tidak akan terlihat seperti rotasi dari vektor dan seperti yang ditarik dalam )(xi,xj)(yi,yj)θxyRn(xi,yi)(xj,yj) R2

Dengan memilih sudut yang tepat, kita dapat mem-nol semua komponen baru ini. Agar konkret, mari kita pilih sehinggaθ

{cos(θ)=±xixi2+xj2sin(θ)=±xjxi2+xj2.

Ini membuat . Pilih tanda untuk membuat . Sebut operasi ini, yang mengubah titik dan di cloud yang diwakili oleh , .xj=0yj0ijXγ(i,j)

Menerapkan rekursif ke akan menyebabkan kolom pertama menjadi bukan nol hanya di baris pertama. Secara geometris, kita akan memindahkan semua kecuali satu titik di awan ke sumbu . Sekarang kita dapat menerapkan rotasi tunggal, yang berpotensi melibatkan koordinat di , untuk menekan titik titik ke satu titik. Secara ekuivalen, telah direduksi menjadi bentuk blokγ(1,2),γ(1,3),,γ(1,n)XXy2,3,,nRnn1X

X=(x1y10z),

dengan dan kedua vektor kolom dengan koordinat , sedemikian rupa sehingga0zn1

XX=((x1)2x1y1x1y1(y1)2+||z||2).

Rotasi akhir ini selanjutnya mengurangi ke bentuk segitiga atasnyaX

X=(x1y10||z||0000).

Akibatnya, kita sekarang dapat memahami dalam hal matriks lebih sederhana dibuat oleh dua poin bukan nol terakhir yang tersisa berdiri.X2×2(x1y10||z||)

Sebagai ilustrasi, saya menggambar empat poin awal dari distribusi Normal bivariat dan membulatkan nilainya menjadi

X=(0.090.120.310.630.740.231.80.39)

Cloud titik awal ini ditampilkan di sebelah kiri gambar berikutnya menggunakan titik-titik hitam pekat, dengan panah berwarna menunjuk dari titik asal ke setiap titik (untuk membantu kami memvisualisasikannya sebagai vektor ).

Angka

Urutan operasi yang dilakukan pada titik-titik ini oleh dan menghasilkan awan yang ditunjukkan di tengah. Pada sangat tepat, tiga poin berbaring sepanjang sumbu telah berkoalisi menjadi satu titik, meninggalkan representasi dari bentuk berkurangnya . Panjang vektor merah vertikal adalah; vektor (biru) lainnya adalah .γ(1,2),γ(1,3),γ(1,4)yX||z||(x1,y1)

Perhatikan bentuk putus-putus yang dibuat untuk referensi di kelima panel. Ini mewakili fleksibilitas terakhir yang tersisa dalam merepresentasikan :X saat kita memutar dua baris pertama, dua vektor terakhir menelusuri elips ini. Dengan demikian, vektor pertama menelusuri jalur

(1)θ  (cos(θ)x1,cos(θ)y1+sin(θ)||z||)

sedangkan vektor kedua menelusuri jalur yang sama menurut

(2)θ  (sin(θ)x1,sin(θ)y1+cos(θ)||z||).

Kita dapat menghindari aljabar yang membosankan dengan memperhatikan bahwa karena kurva ini adalah gambar dari himpunan titik bawah transformasi linear yang ditentukan oleh{(cos(θ),sin(θ)):0θ<2π}

(1,0)  (x1,0);(0,1)  (y1,||z||),

itu harus berupa elips. (Pertanyaan 2 sekarang telah dijawab sepenuhnya.) Dengan demikian akan ada empat nilai kritis dalam parameterisasi , yang dua sesuai dengan ujung sumbu utama dan dua sesuai dengan ujung sumbu kecil; dan segera mengikuti bahwa secara bersamaan memberikan ujung sumbu minor dan sumbu utama. Jika kita memilih , titik-titik yang sesuai di cloud titik akan terletak di ujung sumbu utama, seperti ini:( 1 ) ( 2 ) θθ(1) (2)θ

Gambar 2

Karena ini adalah orthogonal dan diarahkan di sepanjang sumbu elips, mereka menggambarkan sumbu utama dengan benar : solusi PCA. Itu menjawab Pertanyaan 1.


Analisis yang diberikan di sini melengkapi jawaban saya di Bottom to top penjelasan tentang jarak Mahalanobis . Di sana, dengan memeriksa rotasi dan penggantian skala di , saya menjelaskan bagaimana titik awan di dimensi secara geometris menentukan sistem koordinat alami untuk . Di sini, saya telah menunjukkan bagaimana geometris menentukan elips yang merupakan gambar lingkaran di bawah transformasi linear. Elips ini, tentu saja, merupakan isocontour dengan jarak konstan Mahalanobis. p=2 R 2R2p=2R2

Hal lain yang dilakukan oleh analisis ini adalah untuk menampilkan hubungan intim antara dekomposisi QR (dari matriks persegi panjang) dan Dekomposisi Nilai Singular , atau SVD. The dikenal sebagai rotasi Givens . Komposisi mereka merupakan bagian ortogonal, atau " ", dari dekomposisi QR. Apa yang tersisa - bentuk dikurangi - adalah bagian atas segitiga, atau " " dari dekomposisi QR. Pada saat yang sama, rotasi dan penempatan kembali (dijelaskan sebagai pelabelan kembali koordinat di pos lain) merupakan bagian SVD,Q X R DVX = Uγ(i,j)QXRDV UX=UDV . Baris , kebetulan, membentuk titik awan yang ditampilkan pada gambar terakhir dari posting itu.U

Akhirnya, analisis yang disajikan di sini menggeneralisasi dengan cara yang jelas untuk kasus-kasus : yaitu, ketika hanya ada satu atau lebih dari dua komponen utama.p2

whuber
sumber
Meskipun jawaban Anda mungkin patut dicontoh, itu tidak jelas - bagi saya - bagaimana hal itu berkaitan dengan pertanyaan itu. Anda berbicara tentang cloud data X (dan vektor yang Anda putar adalah titik data, baris X). Tetapi pertanyaannya adalah tentang berkurangnya ruang subjek . Dengan kata lain, kami tidak memiliki data X, kami hanya memiliki kovarians 2x2 atau matriks X'X pencar.
ttnphns
(lanjt.) Kami mewakili 2 variabel yang diringkas olehnya sebagai 2 vektor dengan panjang = sqrt (elemen diagonal) dan sudut = korelasinya. Kemudian OP bertanya bagaimana kita dapat secara geometris memecahkan komponen utama. Dengan kata lain, OP ingin menjelaskan komposisi geometrik eigend (nilai eigen & vektor eigen atau, lebih baik, memuat) matriks kovarians simetris 2x2.
ttnphns
(lanjt.) Silakan lihat gambar kedua di sana . Yang ingin dicari oleh OP dari pertanyaan saat ini adalah menemukan alat atau trik geometris (trigonometrik, dll) untuk menggambar vektor P1 dan P2 pada gambar itu, hanya memiliki vektor X dan Y seperti yang diberikan.
ttnphns
1
@ttnphns. Tidak masalah apa titik awalnya: bagian pertama dari jawaban ini menunjukkan bahwa Anda dapat mengurangi awan titik menjadi sepasang titik yang berisi semua informasi tentang . Babak kedua menunjukkan bahwa pasangan poin tidak unik, tetapi masing-masing terletak pada elips yang sama. Ini memberikan konstruksi eksplisit bahwa elips awal dengan setiap dua titik representasi (seperti sepasang vektor biru ditampilkan dalam pertanyaan). Sumbu utama dan minornya menghasilkan solusi PCA (vektor merah). X X X XXXXXX
whuber
1
Terima kasih, saya mulai memahami pikiran Anda. (Saya harap Anda menambahkan subtitle / sinopsis tepat di jawaban Anda tentang dua "bagian" dari itu, hanya untuk struktur itu untuk pembaca.)
ttnphns