Pengelompokan hierarkis dengan data tipe campuran - berapa jarak / kesamaan untuk digunakan?

34

Dalam dataset saya, kami memiliki variabel diskrit kontinu dan alami. Saya ingin tahu apakah kita bisa melakukan pengelompokan hierarkis menggunakan kedua jenis variabel. Dan jika ya, ukuran jarak apa yang sesuai?

Beta
sumber
Perangkat lunak apa yang Anda gunakan?
rolando2
@ rolando2: Saya menggunakan R (paket hclus).
Beta
1
Apakah ada alasan untuk menggunakan pengelompokan hierarkis?
suncoolsu
Na. Saya hanya menanyakan pertanyaan ini demi pengetahuan saya. Bisakah kita melakukan hierarki ketika kita memiliki tipe data campuran. Jika ya, lalu mengapa? Jika tidak, lalu mengapa?
Beta
@ user4278 Nah, apa tujuan Anda dengan baik ? Apakah Anda ingin mengidentifikasi kelompok (individu)?
chl

Jawaban:

45

Salah satu caranya adalah dengan menggunakan koefisien kesamaan Gower yang merupakan ukuran komposit ; dibutuhkan variabel kuantitatif (seperti skala penilaian), biner (seperti ada / tidak ada) dan nominal (seperti pekerja / guru / juru tulis). Kemudian Podani menambahkan opsi untuk mengambil variabel ordinal juga.12

Koefisien mudah dipahami bahkan tanpa formula; Anda menghitung nilai kesamaan antara individu dengan masing-masing variabel, dengan mempertimbangkan jenis variabel, dan kemudian rata-rata di semua variabel. Biasanya, program yang menghitung Gower akan memungkinkan Anda untuk menimbang variabel, yaitu kontribusi mereka, ke formula komposit. Namun, pembobotan variabel yang tepat dari tipe yang berbeda adalah masalah , tidak ada pedoman yang jelas, yang membuat Gower atau indeks "komposit" kedekatan lainnya menarik yang dihadapi.

Sisi kesamaan Gower ( ):GS

  • Ketika semua variabel bersifat kuantitatif (interval) maka koefisiennya adalah rentang-normalisasi jarak Manhattan yang diubah menjadi kesamaan. Karena variabel normalisasi unit yang berbeda dapat digunakan dengan aman. Anda tidak harus melupakan outlier. (Anda mungkin juga memutuskan untuk menormalkan dengan ukuran penyebaran lain dari rentang.) Karena normalisasi tersebut oleh statistik, seperti rentang, yang peka terhadap komposisi individu dalam dataset Kesamaan Gower antara beberapa individu dapat mengubah nilainya. jika Anda menghapus atau menambahkan beberapa orang lain dalam data.
  • Ketika semua variabel bersifat ordinal, maka mereka diperingkat pertama, dan kemudian Manhattan dihitung, seperti di atas dengan variabel kuantitatif, tetapi dengan penyesuaian khusus untuk ikatan.
  • Ketika semua variabel adalah biner (dengan signifikansi asimetris kategori: "sekarang" vs "tidak ada" atribut) maka koefisiennya adalah koefisien pencocokan Jaccard (koefisien ini berlaku ketika kedua individu tidak memiliki atribut sebagai tidak cocok atau tidak cocok).
  • Ketika semua variabel adalah nominal (juga termasuk di sini dikotomis dengan signifikansi simetris: "this" vs "that") maka koefisiennya adalah koefisien pencocokan Dadu yang Anda dapatkan dari variabel nominal Anda jika dikode ulang menjadi variabel dummy (lihat jawaban ini lebih lanjut) .

(Sangat mudah untuk memperpanjang daftar jenis. Misalnya, seseorang dapat menambahkan ringkasan untuk variabel jumlah, menggunakan jarak chi-squared dinormalisasi dikonversi ke kesamaan.)

Koefisien berkisar antara 0 dan 1.

" Jarak gower ". Tanpa variabel ordinal hadir (yaitu tanpa menggunakan opsi Podani) berperilaku sebagai jarak Euclidean, itu sepenuhnya mendukung ruang euclidean. Tapi hanya metrik (mendukung ketimpangan segitiga), bukan Euclidean. Dengan variabel ordinal hadir (menggunakan opsi Podani) hanya metrik, bukan Euclidean; dan sama sekali bukan metrik. Lihat juga .1GS1GS1GS1GS

Dengan jarak euclidean (jarak yang mendukung ruang Euclidean), hampir semua teknik pengelompokan klasik akan dilakukan. Termasuk K-means (jika program K-means Anda dapat memproses matriks jarak, tentu saja) dan termasuk Ward, centroid, metode median pengelompokan hierarki . Menggunakan K-means atau metode-metode lain berdasarkan jarak Euclidean dengan non-euclidean masih metrik jarak mungkin diterima secara heuristik , mungkin. Dengan jarak non-metrik, metode seperti itu tidak dapat digunakan.

Paragraf sebelumnya berbicara tentang apakah K-means atau Ward atau pengelompokan semacam itu legal atau tidak dengan jarak Gower secara matematis (geometris). Dari sudut pandang skala pengukuran ("psikometrik"), seseorang tidak boleh menghitung penyimpangan jarak rata-rata atau euclidean dari data tersebut dalam data kategorikal (nominal, biner, dan juga ordinal); karena itu dari posisi ini Anda tidak boleh memproses koefisien Gower dengan K-means, Ward, dll. Sudut pandang ini memperingatkan bahwa bahkan jika ruang Euclidean hadir, ia dapat digranulasi, tidak mulus ( lihat terkait ).


1 Gower JC Koefisien kesamaan umum dan beberapa propertinya // Biometrics, 1971, 27, 857-872

2 Podani, J. Memperluas koefisien umum kesamaan Gower dengan karakter ordinal // Taxon, 1999, 48, 331-340

ttnphns
sumber
Terima kasih ttnphns! Bisakah Anda memberi tahu saya apakah "koefisien kesamaan Gower" terintegrasi dalam paket hclus di R? Apakah ada paket di R yang memiliki fungsi ini.
Beta
Saya bukan pengguna R jadi tidak tahu, dan jangan berpikir Anda akan menemukannya di hclus. Tetapi jika Anda Google "Gower similarity R" Anda yakin untuk menemukan apa yang Anda butuhkan!
ttnphns
user4278, Kalau-kalau Anda tidak menghindari SPSS, saya memiliki makro untuk kesamaan Gower di halaman web saya. Ia menerima pembobotan dan data yang hilang.
ttnphns
@ user4278 Tentang R secara khusus, mulailah di sini: cran.r-project.org/web/views/Environmetrics.html
chl
@ttnphns: Terima kasih! Saya telah mengunjungi situs web Anda & ini adalah sumber yang bagus untuk SPSS. Tapi sayangnya saya tidak menggunakan SPSS terlalu banyak. Tapi saya pasti akan menggunakannya jika saya tidak mendapatkan apa pun di R. @ chl: Terima kasih! Tapi ini daftar yang sangat besar. Saya membaca di suatu tempat bahwa Daisy, dalam paket cluster, memiliki fungsionalitas kesamaan Gower.
Beta
15

Jika Anda menemukan pertanyaan ini dan bertanya-tanya paket apa yang harus diunduh untuk menggunakan metrik Gower di R , clusterpaket tersebut memiliki fungsi bernama daisy () , yang secara default menggunakan metrik Gower setiap kali jenis variabel campuran digunakan. Atau Anda dapat mengaturnya secara manual untuk menggunakan metrik Gower.

daisy(x, metric = c("euclidean", "manhattan", "gower"),
      stand = FALSE, type = list(), weights = rep.int(1, p))
Zhubarb
sumber
4
Lebih lanjut untuk jawaban Zhubarb ini , jika Anda ingin jarak Gower antara semua pasangan dari dua set data, kemudian melihat paket R StatMatch.
James Hirschorn