Як я можу перевірити, чи є моє кластеризація двійкових даних значним


12

Я роблю аналізи кошиків, мої набори даних - це набір векторів транзакцій, з предметами, які купуються товари.

Застосовуючи k-засоби у транзакціях, я завжди отримуватиму певний результат. Випадкова матриця, ймовірно, також відображатиме деякі кластери.

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

Відповіді:


14

Щодо аналізу кошиків, я вважаю, що головна мета - індивідуалізувати найчастіші комбінації продуктів, які купують покупці. Тут association rulesпредставлено найбільш природну методологію (адже вони були фактично розроблені для цієї мети). Аналіз комбінацій продуктів, придбаних покупцями, і кількість разів, коли ці комбінації повторюються, призводить до правила типу "якщо умова, то результат" з відповідним вимірюванням цікавості. Ви також можете розглянути Log-linear modelsможливість дослідження зв'язків між розглянутими змінними.

Що ж стосується кластеризації, ось деякі відомості, які можуть стати в нагоді:

Спочатку розглянемо Variable clustering. Змінна кластеризація використовується для оцінки колінеарності, надмірності та для поділу змінних на кластери, які можна оцінити як єдину змінну, що призводить до зменшення даних. Шукайте varclusфункцію (пакет Hmisc в R)

Оцінка стійкості кластерної функції: функція clusterboot{R пакет fpc}

Статистика на основі відстані для перевірки кластера: функція cluster.stats{R пакет fpc}

Як згадувало mbq, використовуйте ширину силуету для оцінки найкращої кількості кластерів. Слідкуйте за цим . Щодо ширини силуету, див. Також функцію optsil .

Оцініть кількість кластерів у наборі даних за допомогою статистики розриву

Для обчислення показників несхожості та заходів відстані див. Dsvdis та vegdist

Алгоритм кластеризації EM може вирішити, скільки кластерів створити за допомогою перехресної перевірки (якщо ви не можете вказати apriori, скільки кластерів генерувати). Хоча алгоритм ЕМ гарантовано збігається до максимуму, це локальний максимум і не обов'язково може бути таким же, як глобальний максимум. Для кращого шансу отримати глобальний максимум, всю процедуру слід повторити кілька разів, з різними початковими здогадами щодо значень параметрів. Загальний показник вірогідності журналу може бути використаний для порівняння отриманих різних кінцевих конфігурацій: просто виберіть найбільшу з локальних максимумів . Ви можете знайти реалізацію EM кластеру у відкритому проекті WEKA

Це також цікаве посилання.

Також шукати тут дляFinding the Right Number of Clusters in k-Means and EM Clustering: v-Fold Cross-Validation

Нарешті, ви можете вивчити результати кластеризації за допомогою clusterfly


8

Це метод, який використовує Монте-Карло, щоб показати, чи є результат правильним.

Наша нулева гіпотеза H_0 полягає в тому, що наш набір даних не має цікавого кластеризації. Наша альтернативна гіпотеза H_1 полягає в тому, що наш набір даних містить цікаву кластеризацію.

Цим ми вважаємо цікавим, як цікавішим, ніж структуру кластеризації випадкових наборів даних з однаковими полями рядків та стовпців. Звичайно, можна обрати й інші обмеження, але втрата обмежень зробить наш результат занадто загальним, а вузькі обмеження багато в чому зафіксують кластеризацію, тому автоматично зробимо наш результат незначним. Межі, як ми побачимо, є хорошим вибором через існуючі методи рандомізації з ним.

Давайте визначимо як нашу тестову статистику помилку кластеризації (квадрат у кластерній відстані), T від Π_0. Значення для нашого початкового набору даних - t .

Ми нічого не знаємо про цей розподіл, за винятком того, що з нього можна взяти зразки. Що робить його хорошим кандидатом у Монте-Карло.

Тепер проведемо n (iid) випадкових вибірок із Π_0 та обчислюємо емпіричне p -значення за формулою p_emp = 1 / (n + 1) * (Σ_i = 1-n I (t_i> = t) + 1)

Випадкова вибірка може бути здійснена шляхом рандомізації своп. Простими словами, шукається квадрат на двох протилежних кутах 1, а на двох інших кутах - 0. Потім кути перевертаються. Це зберігає поля стовпців та рядків. Процедура повторюється достатньо разів, поки набір даних не буде рандомізований (для цього знадобляться деякі експерименти). Більш детальну інформацію про це можна знайти в оцінці результатів майнінгу даних за допомогою рандомізації Swap від Gionis et. ін.

Одним із методів цього є визначення розподілу ваших даних та прийняття помилки кластеризації як тестово-статистичної t.

Наприклад, якщо ми розглянемо всі набори даних з однаковими полями рядків та стовпців як наші розподіли даних, то ми можемо взяти з цього розподілу n випадкових матриць Xi та обчислити для них помилку кластеризації. Тоді ми можемо обчислити емпіричне р-значення за формулою


4

Існує щось на зразок силуету , який певною мірою визначає статистику, яка визначає якість кластера (наприклад, використовується при оптимізації k). Тепер можливий Монте-Карло піде наступним чином: ви генеруєте безліч випадкових наборів даних, подібних до оригіналу (наприклад, перемішуючи значення між рядками в кожному стовпці), кластеруйте та отримуєте розподіл середнього силуету, який потім може бути використаний для перевірки значущості силует у реальних даних. Все-таки я адміністратор, що ніколи не пробував цю ідею.


1
Це нагадує мені плакат, який я бачив на конференції Human Brain Mapping 2010. Том Ніколс використовував параметричний завантажувальний інструмент для оцінки стійкості кофенетичної кореляції та силуету в ієрархічній кластеризації, але дивіться його плакат: j.mp/9yXObA .
chl

@chl Спасибі; насправді недавно я бачив подібне, що робилося в моїй лабораторії; Результатом було те, що кластери не суттєві: - /

Я згоден, що це звучить як завантаження.
Вас

(FYI: інтерпретація значення силуету ). Також зауважте, що значення силуету не визначено для кластера k = 1, тому ми не можемо порівняти гіпотезу k = 1 (тобто набір даних не кластеризований) та k> 1 (набір даних кластеризований), використовуючи значення силуету.
Франк Дернонкурт
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.