Linearitas PCA


35

PCA dianggap sebagai prosedur linier, namun:

PCSEBUAH(X)PCSEBUAH(X1)+PCSEBUAH(X2)+...+PCSEBUAH(Xn),

di mana . Ini untuk mengatakan bahwa vektor eigen yang diperoleh PCA pada matriks data tidak meringkaskan sama dengan vektor eigen yang diperoleh PCA pada jumlah matriks data . Tetapi bukankah definisi fungsi linear itu:X=X1+X2+...+XnX i fXsayaXsayaf

f(x+y)=f(x)+f(y)?

Jadi mengapa PCA dianggap "linier" jika tidak memenuhi kondisi linearitas yang sangat mendasar ini?


Saya pernah menulis atau mendengar (maaf, saya tidak ingat di mana atau kapan), bahwa PCA "milik keluarga prosedur linier" karena bergantung pada dependensi linear antar variabel. Ia menggunakan matriks korelasi Pearson dan mencari kombinasi linier dengan varian tertinggi.
Łukasz Deryło

4
Sifat dari pertanyaan ini mungkin menjadi sedikit lebih jelas dengan merenungkan pengaturan yang lebih sederhana dan rutin dari regresi kuadrat terkecil biasa: ini adalah pola dasar dari prosedur statistik linier. Namun demikian, proses memperkirakan koefisien kuadrat terkecil adalah fungsi nyata nonlinier dari matriks data , sebagaimana dibuktikan oleh rumus . (Perhatikan bahwa ini adalah fungsi linear dari vektor respons .)β = ( X ' X ) - 1 X ' y yXβ^=(XX)-1Xyy
whuber

4
Mungkin perlu diingat bahwa f (x) = x +1 adalah "fungsi linear" juga ... tetapi itu tidak memuaskan apa yang baru saja Anda katakan ... yang seharusnya menjelaskan sesuatu.
Mehrdad

Itu karena(X1+X2)T(X1+X2)X1TX1+X2TX2
Gabriel Romon

Jawaban:


39

Ketika kita mengatakan bahwa PCA adalah metode linier, kita merujuk pada pemetaan pengurangan dimensi untuk dari ruang dimensi tinggi ke ruang dimensi rendah . Dalam PCA, pemetaan ini diberikan oleh perkalian oleh matriks vektor eigen PCA dan demikian juga nyata linear (perkalian matriks linear):Ini berbeda dengan metode reduksi dimensionalitas nonlinier , dimana pemetaan reduksi dimensionalitas bisa nonlinier.R p R k x z = f ( x ) = Vx .f:xzRhalRkx

z=f(x)=Vx.

Di sisi lain, vektor eigen atas dihitung dari matriks data menggunakan apa yang Anda panggil dalam pertanyaan Anda: dan ini pemetaan ini tentunya non-linear: melibatkan vektor eigen komputasi dari matriks kovarians, yang merupakan prosedur non-linear . (Sebagai contoh sepele, mengalikan dengan meningkatkan matriks kovarians sebesar , tetapi vektor eigennya tetap sama seperti yang dinormalisasi untuk memiliki panjang satuan.)VR p × k XR n × p P C A ( ) V = P C A ( X ) , X 2 4kVRhal×kXRn×halPCSEBUAH()

V=PCSEBUAH(X),
X24

Bahwa saya mendapat 35 upvotes untuk jawaban sepele ini cukup konyol (dan sebagian besar karena utas ini berada di Pertanyaan Jaringan Panas untuk sementara waktu).
Amuba mengatakan Reinstate Monica

5

"Linear" dapat berarti banyak hal, dan tidak secara eksklusif digunakan secara formal.

PCA tidak sering didefinisikan sebagai fungsi dalam pengertian formal, dan oleh karena itu PCA tidak diharapkan memenuhi persyaratan fungsi linier ketika digambarkan seperti itu. Ini lebih sering dijelaskan, seperti yang Anda katakan, sebagai prosedur, dan kadang-kadang algoritma (meskipun saya tidak suka opsi terakhir ini). Sering dikatakan linear dalam cara yang informal, tidak didefinisikan dengan baik.

PCA dapat dianggap linier, misalnya, dalam pengertian berikut. Itu milik keluarga metode yang menganggap bahwa setiap variabel dapat didekati dengan fungsi mana dan adalah seperangkat variabel dengan beberapa yang diinginkan milik. Dalam kasus PCA, adalah seperangkat variabel independen yang dapat dikurangi dalam kardinalitas dengan kerugian minimal dalam akurasi perkiraan dalam arti tertentu. Itu adalah sifat yang diinginkan dalam berbagai pengaturan.X if Y ( α ) α R k Y k YXsaya

XsayafY(α)
αRkYkY

Sekarang, untuk PCA, setiap dibatasi untuk bentuk yaitu, kombinasi linear dari variabel dalam .fsaya

fY(α)=saya=1kαsayaYsaya
Y

Dengan batasan ini, ia menawarkan prosedur untuk menemukan nilai dan yang optimal (dalam beberapa hal) . Artinya, PCA hanya menganggap fungsi linier sebagai hipotesis yang masuk akal. Dalam hal ini, saya pikir itu dapat secara sah digambarkan sebagai "linear".Yαsayaj


3

PCA menyediakan / merupakan transformasi linier.

Jika Anda mengambil peta yang terkait dengan analisis tertentu, katakan lalu .M.PCSEBUAH(X1+X2)M.(X1+X2)=M.(X1)+M.(X2)

Penyebabnya adalah , dan bukan transformasi linear yang sama .PCSEBUAH(X1+X2)PCSEBUAH(X1)PCSEBUAH(X2)


Sebagai perbandingan, contoh yang sangat sederhana dari proses yang menggunakan transformasi linear tetapi bukan transformasi linear itu sendiri:

Rotasi yang menggandakan sudut vektor (katakan titik dalam ruang euclidian 2-d) dengan beberapa vektor referensi (katakan ), bukan transformasi linear. Sebagai contohD(v)v[x,y]=[1,0]

D([1,1])[0,2]

dan

D([0,1])[-1,0]

tapi

D([1,1]+[0,1]=[1,2])[-0,78,2.09][-1,2]

penggandaan sudut ini, yang melibatkan perhitungan sudut, tidak linier, dan analog dengan pernyataan amuba, bahwa perhitungan vektor eigen tidak linier

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.