Saya memiliki beberapa titik data, masing-masing berisi 5 vektor hasil diskrit diaglomerasi, setiap hasil vektor dihasilkan oleh distribusi yang berbeda, (jenis spesifik yang saya tidak yakin, tebakan terbaik saya adalah Weibull, dengan parameter bentuk bervariasi di sekitar eksponensial ke daya hukum (1 hingga 0, kurang lebih).)
Saya mencari untuk menggunakan algoritma pengelompokan seperti K-Means untuk menempatkan setiap titik data ke dalam kelompok berdasarkan atribut dari distribusi 5 komponennya. Saya bertanya-tanya apakah ada metrik jarak yang ditetapkan yang akan elegan untuk tujuan ini. Saya sudah memiliki tiga ide sejauh ini, tapi saya bukan ahli statistik berpengalaman (lebih dari ilmuwan komputer data-mining awal) jadi saya tidak tahu seberapa jauh saya keluar jalur.
Karena saya tidak tahu persis apa jenis distribusi yang saya hadapi, pendekatan brute-force saya untuk masalah ini adalah memotong masing-masing distribusi (saya punya 5 per poin) ke masing-masing nilai data diskrit masing-masing (I pad masing-masing sesuai dengan panjang yang sama dengan nol di akhir) dan menggunakan masing-masing nilai-nilai ini sebagai atribut terpisah untuk titik data itu sendiri. Saya mencoba menggunakan jarak Manhattan dan jarak Euclidean sebagai metrik berdasarkan atribut-atribut ini, untuk PDF dan CDF.
Sekali lagi, karena saya tidak tahu jenis distribusi apa yang saya miliki, saya pikir jika saya akan mengukur jarak antara distribusi keseluruhan saya bisa menggunakan semacam tes non-parametrik berpasangan berpasangan antar distribusi, seperti uji KS , untuk menemukan kemungkinan bahwa distribusi yang diberikan dihasilkan oleh PDF yang berbeda. Saya berpikir bahwa pilihan pertama saya (di atas) menggunakan jarak Manhattan akan menjadi semacam batas atas pada apa yang mungkin saya dapatkan dengan menggunakan pendekatan ini (karena statistik KS adalah nilai absolut maksimum dari perbedaan CDF, di mana jarak Manhattan adalah jumlah nilai absolut dari perbedaan dalam PDF). Saya kemudian mempertimbangkan untuk menggabungkan KS-Statistics atau P-values yang berbeda dalam setiap titik data, mungkin menggunakan jarak Euclidean, tetapi mungkin hanya mengambil maks semua nilai-nilai ini.
Terakhir, dalam upaya untuk menggunakan sedikit apa yang bisa saya tafsirkan tentang bentuk distribusi, saya pikir saya mungkin mencoba memperkirakan parameter distribusi sesuai dengan kurva Weibull. Saya kemudian dapat mengelompokkan distribusi berdasarkan perbedaan dalam dua parameter dari distribusi Weibull, lambda dan k (skala dan bentuk), mungkin dinormalisasi berdasarkan varians dari parameter ini atau semacamnya. Ini adalah satu-satunya kasus di mana saya pikir saya mungkin punya ide tentang cara menormalkan parameter.
Jadi pertanyaan saya adalah, ukuran / metode apa yang akan Anda rekomendasikan untuk pengelompokan distribusi? Apakah saya bahkan berada di jalur yang benar dengan semua ini? Apakah K-Means bahkan algoritma yang baik untuk digunakan?
Edit: Klarifikasi data.
Setiap titik data (setiap objek Obj
yang ingin saya klaster) sebenarnya secara harfiah berisi 5 vectors
data. Saya tahu persis ada 5 fase tempat objek-objek ini berada. Kami akan mengatakan (untuk tujuan penyederhanaan) bahwa masing-masing vektor dibuat length N
.
Masing-masing dari vektor-vektor ini (menyebutnya vector i
) adalah distribusi probabilitas dengan bilangan bulat x-values
dari 1 sampai N, di mana masing-masing sesuai y-nilai merupakan probabilitas mengukur value x
di phase i
objek Obj
. N adalah nilai x maksimum yang saya harapkan untuk diukur dalam fase apa pun dari objek (ini sebenarnya bukan angka tetap dalam analisis saya).
Saya menentukan probabilitas ini dengan cara berikut:
Aku mengambil satu
Obj
dan memasukkannya ke dalamphase i
untukk trials
, mengambil pengukuran di setiap percobaan. Setiap pengukuran adalah bilangan bulat tunggal. Saya melakukan ini untuk masing-masing 5 fase dari satu objek, dan pada gilirannya untuk setiap objek. Data pengukuran mentah saya untuk objek tunggal mungkin terlihat seperti:Vektor 1. [90, 42, 30, 9, 3, 4, 0, 1, 0, 0, 1]
Vektor 2. [150, 16, 5, 0, 1, 0, 0, 0, 0, 0, 0]
...
Vektor 5. [16, ... ..., 0]
Kemudian saya menormalkan masing-masing vektor sendiri, sehubungan dengan jumlah total pengukuran dalam vektor yang diberikan. Ini memberi saya distribusi probabilitas dalam vektor itu, di mana masing-masing sesuai y-nilai merupakan probabilitas mengukur
value x
diphase i
.