У мене є кілька даних даних, кожен з яких містить 5 векторів агломерованих дискретних результатів, результати кожного вектора генеруються різним розподілом (конкретний вид якого я не впевнений, я найкраще здогадуюсь - Вейбул. Параметр форми змінюється десь навколо експоненціальної до потужності закон (від 1 до 0, приблизно).)
Я хочу використовувати алгоритм кластеризації на зразок K-Means для розміщення кожної точки даних у групах на основі атрибутів 5-ти її компонентів. Мені було цікаво, чи існують встановлені метрики відстаней, які були б вишуканими для цих цілей. У мене було три ідеї до цих пір, але я не досвідчений статистик (більше починаючий інформатик з видобутку даних), тому я мало уявляю, наскільки я не в дорозі.
Оскільки я точно не знаю, з якими дистрибутивами я маю справу, мій грубий підхід до проблеми полягав у тому, щоб перерізати кожен з розподілів (у мене 5 за балом) у кожне з його окремих дискретних значень (я вкладаю кожен відповідний однаковій довжині з нулями в кінці) і використовувати кожне з цих значень як окремий атрибут для самої точки даних. Я спробував використовувати як відстань Манхеттена, так і евклідову відстань як показники на основі цих атрибутів, як для PDF, так і для CDF.
Знову ж таки, оскільки я не знаю, які види розподілів у мене є, я зрозумів, що якщо я буду вимірювати відстань між загальними розподілами, я можу використати якийсь непараметричний тест попарно між розподілами, наприклад KS-тест , щоб знайти ймовірність того, що дані дистрибутиви були створені різними PDF-файлами. Я думав, що мій перший варіант (вище) із використанням відстані на Манхеттені буде якоюсь верхньою межею щодо того, що я можу отримати, використовуючи цей підхід (оскільки статистика KS - це максимальне абсолютне значення різниці CDF, де відстань на Манхеттені - це сума абсолютних значень різниць у PDF-файлах). Тоді я розглядав можливість комбінування різних значень KS або P-значень у кожній точці даних, ймовірно, використовуючи евклідову відстань, але, можливо, просто беручи максимум усіх цих значень.
Нарешті, намагаючись використати те, що я мало можу тлумачити про форму розподілів, я подумав, що спробую оцінити параметри розподілів як відповідні кривій Вейбулла. Тоді я міг би кластеризувати розподіли на основі відмінностей двох параметрів розподілу Вейбулла, лямбда та k (масштаб і форма), ймовірно, нормалізованих відповідно до дисперсії цих параметрів або чогось подібного. Це єдиний випадок, коли я думав, що я маю уявлення про те, як нормалізувати параметри.
Отже, моє запитання полягає в тому, який захід / методи ви б рекомендували для кластеризації дистрибутивів? Я навіть на правильному шляху з будь-яким із них? Чи K-Means навіть хороший алгоритм для використання?
Редагувати: Уточнення даних.
Кожна точка даних (кожен об'єкт, Obj
який я хочу кластеризувати) насправді містить буквально 5 vectors
дані. Я знаю, що в цих об'єктах може знаходитися рівно 5 фаз. Ми скажемо (для спрощення), що має кожен вектор length N
.
Кожен з цих векторів (називайте його vector i
) є розподілом ймовірності з цілим числом x-values
від 1 до N, де кожне відповідне значення y представляє ймовірність вимірювання value x
в phase i
об'єкті Obj
. N - це максимальне значення x, яке я очікую для вимірювання в будь-якій фазі об'єкта (це фактично не фіксоване число в моєму аналізі).
Я визначаю ці ймовірності наступним чином:
Я беру один
Obj
і покласти його вphase i
протягомk trials
, приймаючи вимірювання на кожному випробуванні. Кожне вимірювання - це єдине ціле число. Я роблю це для кожної з 5 фаз одного об'єкта, і по черзі для кожного об'єкта. Мої необроблені дані вимірювань для одного об’єкта можуть виглядати так:Вектор 1. [90, 42, 30, 9, 3, 4, 0, 1, 0, 0, 1]
Вектор 2. [150, 16, 5, 0, 1, 0, 0, 0, 0, 0, 0]
...
Вектор 5. [16, ... ..., 0]
Потім я нормалізую кожен з векторів самостійно щодо загальної кількості вимірювань у даному векторі. Це дає мені розподіл ймовірностей у тому векторі, де кожне відповідне значення y представляє ймовірність вимірювання
value x
вphase i
.