Як кількісно сказати, чи 1D дані кластеризовані навколо 1 або 3 значень?


9

У мене є деякі дані про час між серцебиттями у людини. Однією з ознак позаматкових (зайвих) ударів є те, що ці інтервали кластеризовані навколо трьох значень замість одного. Як я можу отримати кількісну міру цього?

Я хочу порівняти кілька наборів даних, і ці дві 100-бінкові гістограми є репрезентативними для всіх.

введіть тут опис зображення

Я міг би порівняти відхилення, але я хочу, щоб мій алгоритм міг визначити, чи є в кожному випадку один чи три кластери, не порівнюючи з іншими випадками.

Це для офлайн-обробки, тому доступна велика обчислювальна потужність, якщо це потрібно.


Відповіді:


3

Я настійно раджу проти використання K-засобів тут. Результати для різних значень k не дуже добре порівнянні. Метод - просто сирий евристичний. Якщо ви дійсно хочете використовувати кластеризацію, використовуйте кластеризацію EM, оскільки, здається, ваші дані містять звичайні розподіли. І підтверджуйте свої результати!

Натомість очевидним підходом є намагання встановити єдину функцію Гаусса і (наприклад, використовуючи метод Левенберга-Маркарда), встановити три функції Гаусса, можливо обмежені на однакові висоти (щоб уникнути виродження).

Потім перевірте, який із двох розподілів підходить краще.


Дякую, я не знав про Левенберг-Маркард! Ці кластери не є гауссовими; ви все ще вважаєте, що функції Гаусса були б найкращим PDF-файлом, який би їм підходив?
Миколаус

+1 до цього і до Грега Сноу. Я повністю згоден з цією порадою. @Nikolaus Я думаю, що це виглядає "достатньо гауссовим", щоб відповідати суміші розподілу гауссів. Ви не хочете ідеального пристосування, а лише спосіб перевірити кількість кластерів. У цій оптиці обмеження всіх компонентів на одне і те саме стандартне відхилення може бути хорошою ідеєю (з причин, пояснених Аноні-Муссом).
Елвіс

Вони явно на мене виглядають досить гауссовими. K-означає моделює дані з клітинами Вороного. Мені не здається розумним припустити, що найкраща точка розколу саме в середині двох сусідніх засобів.
Мав QUIT - Anonymous-Mousse

6

Підмістіть розподіл суміші до даних, щось на зразок суміші 3-х нормальних розподілів, а потім порівняйте ймовірність того, що це відповідає, до придатності єдиного нормального розподілу (використовуючи тест на коефіцієнт ймовірності або AIC / BIC). flexmixПакет Rможе допомогти.


4

Якщо ви хочете використовувати кластеризацію K-засобів, тоді вам потрібен спосіб порівняння К=1 і К=3справ. Одним із підходів було б використання статистики розриву від Tibshirani et al. і виберітьКщо забезпечує кращу цінність. В SLmisc є реалізація R , хоча саме ця функція буде спробуватиК=1,2,3, тож вам потрібно буде подбати лише про те К=1 або К=3 може бути повернуто як оптимальне значення.


2

Використовуйте алгоритм кластеризації K-засобів для ідентифікації різних засобів

Шукайте функцію KNN в R-пошуку, щоб знайти відповідну функцію


1
ах, я ось-ось збирався це повідомлення! Ви також можете посилатися на це посилання для кодів та додатків: statmethods.net/advstats/cluster.html
Король

Я намагався з kmeansфункцією Матлаба . Отримані кошти сильно відрізняються від спроби спробувати. (Погана евристика в цій реалізації?) Для 1-кластерного набору я отримую кошти (270,293,693) іноді, іноді (260,285,308). Для 3-кластерного набору деякі відповіді (196,324,468,) та (290,459,478).
Миколай

Чи є місце, де я можу вставити дані?
Миколай

О, про це 693 означають: є два очевидні люди, 532 і 855, із загальної 755 значень. Усі інші значення можна побачити на гістограмі.
Миколаус

Ви повинні дивитися за кошти, які ви отримуєте від k-засобів, і бачити, як добре вони насправді описують ваші дані!
Мав QUIT - Anonymous-Mousse
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.