Distribusi pengelompokan


10

Saya memiliki beberapa distribusi (10 distribusi pada gambar di bawah). distribusi

Sebenarnya ini adalah histogram: ada 70 nilai pada sumbu x yang merupakan ukuran beberapa partikel dalam larutan dan untuk setiap nilai x nilai y yang sesuai adalah proporsi partikel yang ukurannya berada di sekitar nilai x.

Saya ingin mengelompokkan distribusi ini. Saat ini saya menggunakan pengelompokan hierarkis dengan jarak Euclidean misalnya. Saya tidak puas dengan pilihan jarak. Saya telah mencoba informasi-teori jarak seperti Kullback-Leibler tetapi ada banyak nol dalam data dan ini menyebabkan kesulitan. Apakah Anda memiliki proposal dengan jarak yang sesuai dan / atau metode pengelompokan lain?

Jawaban:


16

Saya memahami Anda sedemikian rupa sehingga semua distribusi berpotensi mengambil 70 nilai diskrit yang sama. Maka akan mudah bagi Anda untuk membandingkan kurva kumulatif dari distribusi (membandingkan kurva kumulatif adalah cara umum untuk membandingkan distribusi). Itu akan menjadi perbandingan omnibus untuk perbedaan bentuk, lokasi, dan penyebaran.

Jadi, siapkan data dalam bentuk seperti (A, B, ... dll. Distribusinya)

Value CumProp_A CumProp_B ...
1       .01       .05
2       .12       .14
...     ...       ...
70      1.00      1.00

dan menghitung matriks jarak antara distribusi. Kirim ke pengelompokan hierarkis (saya akan merekomendasikan metode tautan lengkap). Jarak apa? Nah, jika Anda berpikir dua kurva kumulatif sangat berbeda jika mereka berjauhan hanya pada satu nilai ( b ), gunakan jarak Chebyshev. Jika Anda berpikir dua kurva kumulatif sangat berbeda hanya jika satu secara stabil di atas yang lain di sepanjang berbagai nilai ( c ), gunakan jarak autokorelasi. Jika ada perbedaan lokal antara kurva yang penting ( a ), gunakan jarak Manhattan.

masukkan deskripsi gambar di sini

PS Autocorrelative distance hanyalah koefisien non-normalisasi dari autocorrelation perbedaan antara kurva kumulatif X dan Y:

i=2N(XY)i(XY)i1


Luar biasa - terima kasih banyak! Saya akan melakukan ini besok
Stéphane Laurent

Jarak autokorelasi mungkin negatif. Apakah ini definisi yang bagus?
Stéphane Laurent

Saya lupa bertanya pertanyaan lain: mengapa Anda merekomendasikan tautan lengkap?
Stéphane Laurent

Anda dapat menetapkan nol persyaratan produk negatif, jika ada. Saya tidak bersikeras pada hubungan lengkap, melainkan, saya akan memperingatkan terhadap metode "geometris" seperti Ward atau centroid karena jaraknya tidak euclidean. Saya juga berpikir metode "dilatatif" seperti tautan lengkap akan sesuai dengan keinginan Anda
ttnphns

4

Jika data Anda adalah histogram, Anda mungkin ingin melihat fungsi jarak yang sesuai untuk itu seperti "jarak persimpangan histogram".

Ada alat yang disebut ELKI yang memiliki berbagai macam algoritma pengelompokan (jauh lebih modern daripada k-means dan pengelompokan hierarkis) dan bahkan memiliki versi jarak persimpangan histogram yang disertakan, yang dapat Anda gunakan di sebagian besar algoritma. Anda mungkin ingin mencoba beberapa algoritma yang tersedia di dalamnya. Dari plot yang Anda berikan di atas, tidak jelas bagi saya apa yang ingin Anda lakukan. Kelompokkan histogram individu, bukan? Menilai dari 10 yang Anda tunjukkan di atas, mungkin tidak ada cluster.


Terima kasih. Tapi saya sedang mencari alat yang tersedia di R atau SAS. Lalu sepuluh distribusi di atas hanyalah satu contoh, saya punya banyak rangkaian distribusi untuk cluster.
Stéphane Laurent

2

Anda mungkin ingin menggunakan beberapa teknik ekstraksi fitur untuk memperoleh deskriptor untuk k-means atau tipe pengelompokan lainnya.

Pendekatan dasar adalah mencocokkan distribusi tertentu dengan histogram Anda dan menggunakan parameternya sebagai deskriptor. Misalnya, Anda tampaknya memiliki distribusi bimodal, yang dapat Anda gambarkan dengan 2 cara dan 2 standar deviasi.

Kemungkinan lain adalah untuk mengelompokkan dua atau tiga komponen utama dari hitungan histogram.

Atau pendekatan wavelet dapat digunakan.

Halaman ini menjelaskan cara melakukannya ketika berhadapan dengan paku ekstraseluler. Data berbeda, tetapi idenya harus berlaku untuk kasus Anda. Anda juga akan menemukan banyak referensi di bagian bawah.

http://www.scholarpedia.org/article/Spike_sorting

Dalam R Anda dapat menghitung komponen utama dari puncak Anda menggunakan salah satu princompatau prcompfungsi. Di sini Anda akan menemukan tutorial tentang PCA di R.

Untuk wavelet Anda dapat melihat waveletspaket.

k-means clustering dapat dicapai menggunakan kmeansfungsi.


Terima kasih, saya akan melihat proposal Anda jika memungkinkan.
Stéphane Laurent
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.