Saya membaca makalah di mana penulis membuang beberapa variabel karena tingginya korelasi dengan variabel lain sebelum melakukan PCA. Jumlah variabel adalah sekitar 20.
Apakah ini memberikan manfaat? Sepertinya overhead bagi saya karena PCA harus menangani ini secara otomatis.
correlation
pca
type2
sumber
sumber
Jawaban:
Ini menguraikan petunjuk mendalam yang disediakan dalam komentar oleh @ttnphns.
Mendekatkan variabel yang hampir berkorelasi meningkatkan kontribusi faktor yang mendasari umum mereka untuk PCA. Kita bisa melihatnya secara geometris. Pertimbangkan data ini di bidang XY, ditampilkan sebagai awan titik:
Ada sedikit korelasi, kira-kira sama kovarians, dan data terpusat: PCA (tidak peduli bagaimana dilakukan) akan melaporkan dua komponen yang kira-kira sama.
Sekarang mari kita melempar variabel ketiga sama dengan ditambah sejumlah kecil kesalahan acak. Matriks korelasi menunjukkan ini dengan koefisien off-diagonal kecil kecuali antara baris dan kolom kedua dan ketiga ( dan ):Y ( X , Y , Z ) Y ZZ Y ( X, Y, Z) Y Z
Secara geometris, kami telah memindahkan semua titik asli hampir secara vertikal, mengangkat gambar sebelumnya langsung dari bidang halaman. Cloud titik pseudo 3D ini berupaya mengilustrasikan pengangkatan dengan tampilan perspektif samping (berdasarkan kumpulan data yang berbeda, meskipun dihasilkan dengan cara yang sama seperti sebelumnya):
Titik awalnya terletak di bidang biru dan diangkat ke titik merah. Sumbu asli menunjuk ke kanan. Kemiringan yang dihasilkan juga merentangkan poin di sepanjang arah YZ, sehingga menggandakan kontribusinya pada varian. Akibatnya, PCA dari data baru ini masih akan mengidentifikasi dua komponen utama utama, tetapi sekarang salah satu dari mereka akan memiliki dua kali varian yang lain.Y
Ekspektasi geometris ini didukung oleh beberapa simulasi diX2 X5
R
. Untuk ini saya ulangi prosedur "mengangkat" dengan membuat salinan hampir-collinear dari variabel kedua waktu kedua, ketiga, keempat, dan kelima, menamai mereka hingga . Berikut adalah matriks sebar yang menunjukkan bagaimana keempat variabel terakhir berkorelasi dengan baik:X 5PCA dilakukan dengan menggunakan korelasi (meskipun tidak terlalu penting untuk data ini), menggunakan dua variabel pertama, lalu tiga, ..., dan akhirnya lima. Saya menunjukkan hasilnya menggunakan plot kontribusi komponen utama terhadap total varians.
Awalnya, dengan dua variabel yang hampir tidak berkorelasi, kontribusi hampir sama (sudut kiri atas). Setelah menambahkan satu variabel yang berkorelasi dengan yang kedua - persis seperti pada ilustrasi geometris - masih ada hanya dua komponen utama, satu sekarang dua kali ukuran yang lain. (Komponen ketiga mencerminkan kurangnya korelasi sempurna; ini mengukur "ketebalan" awan seperti pancake di 3D scatterplot.) Setelah menambahkan variabel berkorelasi lain ( ), komponen pertama sekarang sekitar tiga perempat dari total ; setelah ditambahkan seperlima, komponen pertama hampir empat perlima dari total. Dalam keempat kasus komponen setelah yang kedua kemungkinan akan dianggap tidak penting oleh sebagian besar prosedur diagnostik PCA; dalam kasus terakhir itu 'X4 satu komponen utama yang patut dipertimbangkan.
Kita dapat melihat sekarang bahwa mungkin ada manfaat dalam membuang variabel yang dianggap mengukur aspek yang mendasari (tapi "laten") yang sama dari kumpulan variabel , karena termasuk variabel yang hampir berlebihan dapat menyebabkan PCA terlalu menekankan kontribusi mereka. Secara matematis tidak ada yang benar (atau salah) tentang prosedur semacam itu; itu panggilan penilaian berdasarkan pada tujuan analitis dan pengetahuan data. Tetapi harus sangat jelas bahwa mengesampingkan variabel yang diketahui sangat berkorelasi dengan orang lain dapat memiliki efek besar pada hasil PCA.
Ini
R
kodenya.sumber
Saya lebih jauh akan menggambarkan proses dan ide yang sama seperti @whuber lakukan, tetapi dengan memuat plot, - karena memuat adalah esensi dari hasil PCA.
Berikut adalah 3 analisis. Yang pertama, kami memiliki dua variabel, dan (dalam contoh ini, mereka tidak berkorelasi). Pada yang kedua, kami menambahkan yang hampir merupakan salinan dan oleh karena itu berkorelasi kuat dengannya. Yang ketiga, kami masih menambahkan 2 "salinan" yang sama: dan .X 2 X 3 X 2 X 4 X 5X1 X2 X3 X2 X4 X5
Plot pembebanan dari 2 komponen utama pertama kemudian pergi. Paku merah pada plot menunjukkan korelasi antara variabel, sehingga sekelompok beberapa paku adalah tempat sekelompok variabel berkorelasi erat ditemukan. Komponennya adalah garis abu-abu; "kekuatan" relatif suatu komponen (besarnya nilai eigen relatifnya) diberikan oleh bobot garis.
Dua efek menambahkan "salinan" dapat diamati:
Saya tidak akan melanjutkan moral karena @whuber sudah melakukannya.
Selain itu . Di bawah ini adalah beberapa gambar untuk menanggapi komentar @ whuber. Ini adalah tentang perbedaan antara "ruang variabel" dan "ruang subjek" dan bagaimana komponen mengorientasikan diri mereka di sana-sini. Tiga PCA bivariat disajikan: analisis baris pertama , analisis baris kedua , dan baris ketiga . Kolom kiri adalah sebar plot (dari data terstandarisasi) dan kolom kanan memuat plot.r = 0,62 r = 0,77r=0 r=0.62 r=0.77
Pada sebar , korelasi antara dan diterjemahkan sebagai lonjakan awan. Sudut (kosinusnya) antara garis komponen dan garis variabel adalah elemen vektor eigen yang sesuai . Vektor eigen identik dalam ketiga analisis (sehingga sudut pada ketiga grafik adalah sama). [Tapi, memang benar, bahwa dengan tepat , vektor eigen (dan karenanya sudut) secara teoritis arbitrer; karena cloud sempurna "bulat" setiap pasangan garis ortogonal yang datang melalui asal dapat berfungsi sebagai dua komponen, - bahkan danX 2 r = 0 X 1 X 2X1 X2 r=0 X1 X2 garis itu sendiri dapat dipilih sebagai komponen.] Koordinat titik data (200 subjek) ke komponen adalah skor komponen, dan jumlah kuadratnya yang dibagi 200-1 adalah nilai eigen komponen .
Pada plot pemuatan, titik (vektor) adalah variabel; mereka menyebar ruang yang 2-dimensi (karena kita memiliki 2 titik + asal) tetapi sebenarnya adalah 200-dimensi (jumlah subjek) yang berkurang "ruang subjek". Di sini sudut (cosinus) antara vektor merah adalah . Vektor sama, panjang unit, karena data telah distandarisasi. Komponen pertama adalah sumbu dimensi di ruang ini yang bergerak menuju akumulasi titik secara keseluruhan; dalam kasus hanya 2 variabel itu selalu merupakan garis-bagi antara danX 1 X 2r X1 X2 (tapi menambahkan variabel ke-3 bisa menangkisnya). Sudut (cosinus) antara vektor variabel dan garis komponen adalah korelasi di antara mereka, dan karena vektor adalah satuan panjang dan komponennya ortogonal, ini tidak lain adalah koordinat, pembebanan . Jumlah beban kuadrat ke komponen adalah nilai eigennya (komponen hanya mengarahkan dirinya sendiri dalam ruang subjek ini untuk memaksimalkannya)
Tambahan2. Dalam Penambahan di atas saya berbicara tentang "ruang variabel" dan "ruang subjek" seolah-olah mereka tidak kompatibel bersama seperti air dan minyak. Saya harus mempertimbangkannya kembali dan mungkin mengatakan bahwa - setidaknya ketika kita berbicara tentang PCA - kedua ruang tersebut isomorfis pada akhirnya, dan berdasarkan hal itu kita dapat dengan benar menampilkan semua detail PCA - titik data, sumbu variabel, sumbu komponen, variabel sebagai poin, - pada biplot tunggal yang tidak terdistorsi.
Di bawah ini adalah sebar (ruang variabel) dan plot pemuatan (ruang komponen, yang merupakan ruang subjek berdasarkan asal genetiknya). Segala sesuatu yang dapat ditampilkan pada satu, juga dapat ditampilkan pada yang lain. Gambar - gambar itu identik , hanya diputar 45 derajat (dan dipantulkan, dalam kasus khusus ini) relatif satu sama lain. Itu adalah PCA dari variabel v1 dan v2 (standar, jadi itu r yang dianalisis). Garis hitam pada gambar adalah variabel sebagai sumbu; garis hijau / kuning adalah komponen sebagai sumbu; titik biru adalah awan data (subjek); titik merah adalah variabel yang ditampilkan sebagai titik (vektor).
sumber
The software was free to choose any orthogonal basis for that space, arbitrarily
berlaku untuk cloud bulat dalam ruang variabel (yaitu data sebar, seperti gambar 1 dalam jawaban Anda), tetapi memuat plot adalah ruang subjek di mana variabel, bukan kasus, adalah titik (vektor).Tanpa rincian dari makalah Anda, saya akan menduga bahwa membuang variabel yang sangat berkorelasi ini dilakukan hanya untuk menghemat daya komputasi atau beban kerja. Saya tidak dapat melihat alasan mengapa PCA akan 'pecah' untuk variabel yang sangat berkorelasi. Memproyeksikan kembali data ke pangkalan yang ditemukan oleh PCA memiliki efek memutihkan data, (atau mendelegorasikannya). Itulah inti di balik PCA.
sumber
Dari pemahaman saya, variabel yang berkorelasi ok, karena PCA menghasilkan vektor yang ortogonal.
sumber
Yah, itu tergantung pada algoritma Anda. Variabel yang sangat berkorelasi dapat berarti matriks yang tidak terkondisikan. Jika Anda menggunakan algoritme yang sensitif terhadap hal itu mungkin masuk akal. Tapi saya berani mengatakan bahwa sebagian besar algoritma modern yang digunakan untuk cranking nilai eigen dan vektor eigen kuat untuk ini. Coba hapus variabel yang sangat berkorelasi. Apakah nilai eigen dan vektor eigen berubah banyak? Jika ya, maka pengondisian mungkin menjadi jawabannya. Karena variabel yang sangat berkorelasi tidak menambahkan informasi, dekomposisi PCA seharusnya tidak berubah
sumber
Bergantung pada metode pemilihan komponen prinsip apa yang Anda gunakan, bukan?
Saya cenderung menggunakan komponen prinsip dengan nilai eigen> 1. Jadi tidak akan berpengaruh pada saya.
Dan dari contoh di atas bahkan metode plot scree biasanya akan memilih yang tepat. JIKA ANDA MENJAGA SEMUA SEBELUM SIKU. Namun jika Anda hanya memilih komponen prinsip dengan nilai eigen 'dominan' Anda akan tersesat. Tapi itu bukan cara yang tepat untuk menggunakan plot scree!
sumber