Bagaimana saya bisa tahu bahwa tidak ada pola dalam hasil PCA?


9

Saya memiliki 1000+ dataset sampel dari 19 variabel. Tujuan saya adalah untuk memprediksi variabel biner berdasarkan 18 variabel lainnya (biner dan kontinu). Saya cukup yakin bahwa 6 dari variabel prediksi terkait dengan respons biner, namun, saya ingin menganalisis lebih lanjut dataset dan mencari asosiasi atau struktur lain yang mungkin saya lewatkan. Untuk melakukan ini, saya memutuskan untuk menggunakan PCA dan clustering.

Saat menjalankan PCA pada data yang dinormalisasi, ternyata 11 komponen harus disimpan untuk mempertahankan 85% dari varians. masukkan deskripsi gambar di sini Dengan memplot pasanganplot saya mendapatkan ini: masukkan deskripsi gambar di sini

Saya tidak yakin tentang apa yang berikutnya ... Saya tidak melihat pola yang signifikan di pca dan saya bertanya-tanya apa artinya ini dan apakah itu bisa disebabkan oleh kenyataan bahwa beberapa variabel adalah biner. Dengan menjalankan algoritma pengelompokan dengan 6 cluster saya mendapatkan hasil berikut yang bukan merupakan peningkatan meskipun beberapa gumpalan tampak menonjol (yang kuning). masukkan deskripsi gambar di sini

Seperti yang Anda mungkin tahu, saya bukan ahli PCA, tetapi melihat beberapa tutorial dan bagaimana hal itu bisa sangat kuat untuk mendapatkan sekilas struktur dalam ruang dimensi tinggi. Dengan dataset MNIST (atau IRIS) yang terkenal itu berfungsi dengan baik. Pertanyaan saya adalah: apa yang harus saya lakukan sekarang agar lebih masuk akal dari PCA? Clustering tampaknya tidak mengambil sesuatu yang berguna, bagaimana saya bisa tahu bahwa tidak ada pola dalam PCA atau apa yang harus saya coba selanjutnya untuk menemukan pola dalam data PCA?


Mengapa Anda melakukan PCA untuk menemukan prediktor? Mengapa tidak menggunakan metode lain? mis. Anda dapat memasukkan semuanya dalam reg logistik, Anda dapat menggunakan LASSO, Anda dapat membangun model pohon, ada pengepakan, peningkatan dll.
Peter Flom

Apa yang secara spesifik Anda maksudkan dengan "pola" yang baik untuk diungkapkan oleh PCA?
ttnphns

@ttnphns yang saya coba lakukan adalah menemukan beberapa subkelompok pengamatan yang mungkin memiliki kesamaan untuk lebih menjelaskan hasil dari respons biner yang saya coba prediksi (ini sebagian diinspirasi oleh dailyanalytics.ca/2014/ 06 / ... ). Juga menggunakan pca dan pengelompokan pada set data iris, berguna untuk mengisolasi spesies ( scikit-learn.org/stable/auto_examples/decomposition/… ) walaupun itu super mudah karena kita sudah tahu jumlah cluster.
mickkk

@ PeterFlom Saya sudah menjalankan regresi logistik dan model hutan acak dan mereka berkinerja baik, namun saya ingin menyelidiki lebih lanjut data.
mickkk

Jawaban:


7

Anda menjelaskan plot varians memberitahu saya bahwa PCA tidak ada gunanya di sini. 11/18 adalah 61%, jadi Anda perlu 61% variabel untuk menjelaskan 85% varian. Itu tidak berlaku untuk PCA, menurut saya. Saya menggunakan PCA ketika 3-5 faktor dari 18 menjelaskan 95% atau lebih dari varians.

UPDATE: Lihatlah plot persentase kumulatif varians yang dijelaskan oleh jumlah PC. Ini dari bidang pemodelan struktur suku bunga. Anda melihat bagaimana 3 komponen menjelaskan lebih dari 99% dari total varian. Ini mungkin terlihat seperti contoh yang dibuat untuk iklan PCA :) Namun, ini adalah hal yang nyata. Suku bunga tenor yang banyak berkorelasi, itu sebabnya PCA sangat alami dalam aplikasi ini. Alih-alih berurusan dengan beberapa tenor, Anda hanya berurusan dengan 3 komponen.

masukkan deskripsi gambar di sini


Itu yang saya curigai sejak awal. Saya tidak menunjukkannya secara langsung karena saya tidak tahu banyak tentang PCA untuk membuat pernyataan yang berani. Apakah aman untuk mengatakan bahwa ketika lebih dari x% komponen diperlukan maka PCA tidak banyak membantu? Maksud saya, dalam contoh aplikasi yang saya lihat, biasanya beberapa komponen menjelaskan perbedaan paling banyak.
mickkk

@mickkk, tidak ada aturan tegas. Bagi saya indikasinya adalah konveksitas yang dijelaskan varians grafik. Jika Anda menggambarkannya sebagai persentase kumulatif dari total varians yang dijelaskan oleh jumlah PC, maka Anda ingin melihat grafik yang sangat cekung. Anda pasti sudah dekat dengan linier: setiap komponen tampaknya membawa informasi yang kira-kira sama tentang data, dalam hal ini mengapa menggunakan PCA sama sekali alih-alih data asli?
Aksakal

Hasil edit dengan contoh baru sangat membantu.
mickkk

5

Jika Anda memiliki sampel dan hanya prediktor akan cukup masuk akal untuk menggunakan semua prediktor dalam model. Dalam hal ini langkah PCA mungkin tidak perlu.p = 19N>1000p=19

Jika Anda yakin bahwa hanya sebagian dari variabel yang benar-benar jelas, menggunakan model regresi yang jarang, misalnya Elastic Net, dapat membantu Anda untuk menetapkan ini.

Juga, interpretasi hasil PCA menggunakan input tipe campuran (biner vs nyata, skala yang berbeda dll, lihat pertanyaan CV di sini ) tidak begitu mudah dan Anda mungkin ingin menghindarinya kecuali ada alasan yang jelas untuk melakukannya.


4

Saya akan menafsirkan pertanyaan Anda sejelas mungkin. Beri tahu saya jika itu mengubah makna Anda.

Saya cukup yakin bahwa 6 dari variabel prediksi terkait dengan respons biner [tetapi] saya tidak melihat pola yang signifikan di pca

Saya juga tidak melihat "pola signifikan", selain konsistensi dalam plot pasangan Anda. Mereka semua hanya sekitar gumpalan melingkar. Saya ingin tahu apa yang Anda harapkan. Pisahkan kelompok titik dengan jelas dari beberapa petak pasangan? Beberapa plot sangat dekat dengan linier?

Hasil PCA Anda - pasangan gumpalan seperti gumpalan dan hanya 85% dari varians yang ditangkap dalam 11 komponen utama teratas - jangan menghalangi firasat Anda tentang 6 variabel yang cukup untuk prediksi respons biner.

Bayangkan situasi ini:

  1. Katakanlah hasil PCA Anda menunjukkan bahwa 99% varians ditangkap oleh 6 komponen utama.

    Itu mungkin mendukung dugaan Anda tentang 6 variabel prediktor - mungkin Anda bisa mendefinisikan bidang atau permukaan lain dalam ruang 6 dimensi yang mengklasifikasikan titik dengan sangat baik, dan Anda bisa menggunakan permukaan itu sebagai prediktor biner. Yang membawaku ke nomor 2 ...

  2. Katakanlah 6 komponen utama Anda memiliki pasangan yang terlihat seperti ini

    "Pola" di petak pasangan.

    Tapi mari kita beri kode warna respons biner yang sewenang-wenang

    "Pola" tidak berguna.

    Meskipun Anda berhasil menangkap hampir semua (99%) varians dalam 6 variabel, Anda masih tidak dijamin memiliki pemisahan spasial untuk memprediksi respons biner Anda.

Anda mungkin benar-benar membutuhkan beberapa ambang numerik (yang dapat diplotkan sebagai permukaan dalam ruang 6 dimensi), dan keanggotaan suatu titik pada klasifikasi biner Anda mungkin bergantung pada ekspresi kondisional kompleks yang dibuat dari hubungan titik itu dengan masing-masing ambang tersebut. Tapi itu hanya contoh bagaimana kelas biner dapat diprediksi. Ada banyak struktur dan metode data untuk mewakili, melatih, dan memperkirakan. Ini adalah penggoda. Kutipan,

Seringkali bagian tersulit dalam menyelesaikan masalah pembelajaran mesin adalah menemukan penaksir yang tepat untuk pekerjaan itu.


1
Wajah tersenyum sebenarnya baik, karena ini berkorelasi! Aku menyukainya.
amoeba

@amoeba, bisakah Anda memiliki wajah tersenyum dari PC yang tidak berkorelasi?
Aksakal

@Aksakal, ya, plot pencar smiley menurut saya menunjukkan nol korelasi. Kdbanman, saya menghargai pembaruan, +1.
amoeba

@amoeba, ok, maksud Anda korelasi linier .
Aksakal
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.