Bagaimana PCA membantu dengan analisis pengelompokan k-means?

32

Latar Belakang : Saya ingin mengklasifikasikan area perumahan kota ke dalam kelompok berdasarkan karakteristik sosial-ekonomi mereka, termasuk kepadatan unit perumahan, kepadatan populasi, area ruang hijau, harga perumahan, jumlah sekolah / pusat kesehatan / pusat penitipan anak, dll. Saya ingin memahami berapa banyak kelompok yang berbeda di daerah perumahan dapat dibagi menjadi, dan apa karakteristik unik mereka. Informasi ini dapat memfasilitasi perencanaan kota.

Berdasarkan beberapa contoh (lih. Posting blog ini: PCA dan K-means Clustering of Delta Aircraft ), saya menemukan cara untuk melakukan analisis adalah:

  1. Pertama lakukan analisis PCA.

  2. Tentukan jumlah kelompok unik (cluster) berdasarkan hasil PCA (misalnya, menggunakan metode "siku", atau sebagai alternatif, jumlah komponen yang menjelaskan 80 hingga 90% dari total varians).

  3. Setelah menentukan jumlah cluster, terapkan k-means clustering untuk melakukan klasifikasi.

Pertanyaan saya: sepertinya jumlah komponen PCA terkait dengan analisis cluster. Begitu juga itu benar, jika, katakanlah, kami menemukan 5 komponen PCA menjelaskan lebih dari 90% variasi semua fitur, maka kami akan menerapkan k-means clustering dan mendapatkan 5 cluster. Jadi, apakah 5 grup tepat sesuai dengan 5 komponen dalam analisis PCA?

Dengan kata lain, saya kira pertanyaan saya adalah: Apa hubungan antara analisis PCA dan k-means clustering?

Pembaruan: Terima kasih untuk masukan Emre, xeon, dan Kirill. Jadi jawaban saat ini:

  1. Melakukan PCA sebelum analisis pengelompokan juga berguna untuk pengurangan dimensi sebagai ekstraktor fitur dan memvisualisasikan / mengungkap cluster.

  2. Melakukan PCA setelah pengelompokan dapat memvalidasi algoritma pengelompokan (referensi: analisis komponen utama Kernel ).

  3. PCA kadang-kadang diterapkan untuk mengurangi dimensi dataset sebelum pengelompokan. Namun, Yeung & Ruzzo (2000) menunjukkan bahwa pengelompokan dengan PC bukan variabel asli tidak serta merta meningkatkan kualitas cluster. Secara khusus, beberapa PC pertama (yang berisi sebagian besar variasi dalam data) tidak serta merta menangkap sebagian besar struktur cluster.

    • Yeung, Ka Yee, dan Walter L. Ruzzo. Sebuah studi empiris pada analisis komponen utama untuk pengelompokan data ekspresi gen. Laporan teknis, Departemen Ilmu dan Teknik Komputer, University of Washington, 2000. ( pdf )
  4. Tampaknya PCA diperlukan sebelum analisis pengelompokan dua langkah . Berdasarkan Ibes (2015), di mana analisis cluster dijalankan menggunakan faktor-faktor yang diidentifikasi dalam PCA.

enaJ
sumber
1
Anda dapat menggunakan PCA untuk pengurangan dimensi sebagai ekstraktor fitur, dan untuk memvisualisasikan kluster.
Emre
3
Mulai sederhana: jalankan penggolong langsung pada data yang Anda miliki dan catat kinerjanya. Jika Anda tidak puas dengan kinerjanya, coba PCA (pilih jumlah komponen pada "lutut" plot nilai eigen yang diurutkan) dan jalankan k-means. Jika Anda melihat kelompok yang bagus, ada peluang bagus bahwa PCA + classifier akan melakukan pekerjaan dengan baik.
Vladislavs Dovgalecs
1
Anda dapat melakukan PCA setelah pengelompokan juga, untuk memvalidasi algoritma pengelompokan Anda; kode warna setiap titik dengan label klusternya. Saya juga merekomendasikan untuk melihat kernel PCA .
Emre
Ada metode yang secara bersamaan melakukan reduksi dimensi dan pengelompokan. Metode-metode ini mencari representasi dimensi rendah yang dipilih secara optimal sehingga memudahkan identifikasi cluster. Sebagai contoh, lihat paket clustrd di R dan referensi terkait.
Nat

Jawaban:

16

PCA bukan metode pengelompokan. Tetapi kadang-kadang membantu untuk mengungkapkan cluster.

Mari kita asumsikan Anda memiliki distribusi normal 10-dimensi dengan rata-rata (vektor nol) dan beberapa matriks kovarians dengan 3 arah memiliki varians yang lebih besar daripada yang lain. Menerapkan analisis komponen utama dengan 3 komponen akan memberi Anda arahan ini dalam urutan menurun dan pendekatan 'siku' akan mengatakan kepada Anda bahwa jumlah komponen yang dipilih ini benar. Namun, itu akan tetap menjadi cloud of points (1 cluster).010

Mari kita asumsikan Anda memiliki 10 distribusi Normal 10-dimensi dengan rata-rata , , ... (rata-rata bertahan hampir di telepon) dan matriks kovarian serupa. Menerapkan PCA dengan hanya 1 komponen (setelah standardisasi) akan memberi Anda arahan di mana Anda akan mengamati semua 10 kluster. Menganalisis varians yang dijelaskan (pendekatan 'siku'), Anda akan melihat bahwa 1 komponen sudah cukup untuk menggambarkan data ini. 2 10 10 101102101010

Dalam tautan yang Anda tunjukkan PCA hanya digunakan untuk membangun beberapa hipotesis tentang data. Jumlah cluster ditentukan oleh pendekatan 'siku' sesuai dengan nilai dalam kelompok jumlah kuadrat (tidak dengan varian yang dijelaskan). Pada dasarnya, Anda mengulangi algoritma K-means untuk jumlah cluster yang berbeda dan menghitung jumlah kuadrat ini. Jika jumlah cluster sama dengan jumlah titik data, maka jumlah kuadrat sama dengan .0

Kirill
sumber
Terima kasih atas masukan Anda. Bisakah Anda menjelaskan apa itu distribusi Normal 10-dimensi dengan mean 0? Apakah maksud Anda sepuluh variabel fitur input dan masing-masingnya mengikuti distribusi normal?
enaJ
Maaf, saya berbicara tentang variabel acak yang mengikuti distribusi normal multivariat dengan mean yang akan menjadi vektor 10-dimensi dan matriks kovarians yaitu 10x10 matriks simetris.
Kirill