Perbedaan antara PCA dan pengelompokan spektral untuk sejumlah kecil fitur Boolean

10

Saya memiliki dataset 50 sampel. Setiap sampel terdiri dari 11 (mungkin berkorelasi) fitur Boolean. Saya ingin beberapa cara memvisualisasikan sampel ini pada plot 2D dan memeriksa apakah ada cluster / pengelompokan di antara 50 sampel.

Saya sudah mencoba dua pendekatan berikut:

(a) Jalankan PCA pada matriks 50x11 dan pilih dua komponen utama pertama. Proyeksikan data ke plot 2D dan jalankan K-means sederhana untuk mengidentifikasi kluster.

(B) Bangun matriks kesamaan 50x50 (cosinus). Jalankan spektral clustering untuk pengurangan dimensi diikuti oleh K-means lagi.

Apa perbedaan konseptual antara melakukan PCA langsung vs menggunakan nilai eigen dari matriks kesamaan? Apakah yang satu lebih baik dari yang lain?

Juga, apakah ada cara yang lebih baik untuk memvisualisasikan data seperti itu dalam 2D? Karena ukuran sampel saya selalu terbatas hingga 50 dan set fitur saya selalu dalam kisaran 10-15, saya bersedia untuk mencoba beberapa pendekatan saat itu dan memilih yang terbaik.

Pertanyaan terkait: Mengelompokkan sampel berdasarkan pengelompokan atau PCA

pengguna2602740
sumber

Jawaban:

9

Apa perbedaan konseptual antara melakukan PCA langsung vs menggunakan nilai eigen dari matriks kesamaan?

PCA dilakukan pada matriks kovarians atau korelasi, tetapi pengelompokan spektral dapat mengambil setiap matriks kesamaan (misalnya dibangun dengan kesamaan cosinus) dan menemukan cluster di sana.

Kedua, algoritme pengelompokan spektral didasarkan pada partisi grafik (biasanya ini tentang menemukan potongan grafik terbaik), sementara PCA menemukan arah yang memiliki sebagian besar varians. Meskipun dalam kedua kasus kami akhirnya menemukan vektor eigen, pendekatan konseptual berbeda.

Dan akhirnya, saya melihat bahwa PCA dan spektral clustering melayani tujuan yang berbeda: satu adalah teknik pengurangan dimensionalitas dan yang lainnya lebih merupakan pendekatan untuk clustering (tapi itu dilakukan melalui pengurangan dimensionalitas)

Alexey Grigorev
sumber
5

Untuk fitur Boolean (yaitu, kategorikal dengan dua kelas), alternatif yang baik untuk menggunakan PCA terdiri dari menggunakan Multiple Correspondence Analysis (MCA), yang merupakan perluasan PCA ke variabel kategorikal (lihat utas terkait ). Untuk beberapa latar belakang tentang MCA, makalahnya adalah Husson et al. (2010) , atau Abdi dan Valentin (2007) . Paket R yang sangat baik untuk melakukan MCA adalah FactoMineR . Ini memberi Anda alat untuk memetakan peta dua dimensi dari beban pengamatan pada komponen utama, yang sangat berwawasan luas.

Di bawah ini adalah dua contoh peta dari salah satu proyek penelitian saya sebelumnya (diplot dengan ggplot2). Saya hanya memiliki sekitar 60 pengamatan dan hasilnya bagus. Peta pertama mewakili pengamatan di ruang PC1-PC2, peta kedua di ruang PC3-PC4 ... Variabel juga direpresentasikan dalam peta, yang membantu menafsirkan makna dimensi. Mengumpulkan wawasan dari beberapa peta ini dapat memberi Anda gambaran yang cukup bagus tentang apa yang terjadi dalam data Anda.

masukkan deskripsi gambar di sini

Di situs web yang ditautkan di atas, Anda juga akan menemukan informasi tentang prosedur baru, HCPC, yang merupakan singkatan dari Hierarchical Clustering on Component Components, dan yang mungkin menarik bagi Anda. Pada dasarnya, metode ini berfungsi sebagai berikut:

  • melakukan MCA,
  • kk<halhal
  • melakukan pengelompokan hierarkis aglomeratif (bottom-up) di ruang PC yang dipertahankan. Karena Anda menggunakan koordinat proyeksi pengamatan di ruang PC (bilangan real), Anda dapat menggunakan jarak Euclidean, dengan kriteria Ward untuk keterkaitan (peningkatan minimum dalam varian dalam-kluster). Anda dapat memotong dendogram pada ketinggian yang Anda suka atau membiarkan fungsi R memotong jika atau Anda berdasarkan beberapa heuristik,
  • (opsional) menstabilkan kelompok dengan melakukan pengelompokan K-means. Konfigurasi awal diberikan oleh pusat-pusat cluster yang ditemukan pada langkah sebelumnya.

Kemudian, Anda memiliki banyak cara untuk menyelidiki cluster (fitur paling representatif, individu paling representatif, dll.)

Antoine
sumber