Оцінювання кластерних ланцюгів Маркова першого порядку


10

Я згрупував свій набір даних з кількох тисяч ланцюгів Маркова першого порядку в приблизно 10 кластерів.

Чи є якийсь рекомендований спосіб, як я можу оцінити ці кластери та дізнатись, чим діляться елементи в кластерах та чим вони відрізняються від інших кластерів? Тому я можу зробити висловлювання на кшталт "Процеси в кластері A, як правило, залишаються в стані Y, як тільки вони потраплять туди, що не відповідає правилам процесів в інших кластерах".

Матриці переходу цих ланцюгів Маркова занадто великі, щоб просто "подивитися і побачити". Вони відносно рідкі, якщо це може допомогти.

Моя ідея полягала в тому, щоб взяти всі перехідні матриці в кластер, підсумувати їх і побудувати це як інтенсивність на малюнку (у масштабі від 0 до 255). Чи є щось більш "професійне", що я повинен спробувати?


Чи знаєте ви , що ці процеси є ринковими ланцюгами першого порядку (і, якщо так, то як)? Якщо припустити, що відповідь на це є ствердною, то яка додаткова апріорна інформація ви знаєте про структуру? Я намагаюся визначити, чому ви в першу чергу зацікавлені в кластеризації; Я підозрюю, що знання цього допоможе нашим читачам більш ефективно орієнтуватися на рішення.
кардинал

Оригінальні дані були потоками кліків, згенерованими користувачами на моєму сайті. Я створив markov-процеси, тому кожен процес - це опис потоку кліків одного користувача. Я знаю, що є книги та статті, в яких говориться, що ланцюги markov неадекватні для цього, але мої дані не містять точної URL-адреси, яку запитував користувач, просто "додаток", до якого належить URL. (Мій сайт - це інформаційна система, поділена на 105 так званих "додатків", які в основному є автономними частинами сайту, пов'язаними через домашню сторінку та бічне меню на кожній сторінці)
user7610,

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

Привіт, я стикаюся з тим же питанням. Нарешті, як ви вирішили проблему?
нан

@nan я цього не зробив, мені це було потрібно просто в терміновому проекті, тому я просто робив щось інше. Якби мені довелося це вирішити зараз, я б спробував подивитися на en.wikipedia.org/wiki/… для початкової кластеризації. t-SNE сьогодні дуже популярний і підходить IMO. Я сподіваюся, що результат, який я отримаю, буде більш значущим, ніж результати, отримані моїм спеціальним підходом. А використання відносно нової супер-крутої речі задовольнило б вчителя;)
user7610

Відповіді:


1

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

Як ви кластеризуєте матриці переходу? Якби це я, я застосував би додаткове згладжування до кожного рядка, а потім взяв би по центру перетворення коефіцієнта журналу кожного рядка, а потім вирівняти матриці.

Якщо ви кластеризуєтеся з K-засобами або варіантом, ви можете проаналізувати нормалізовані центри кластерів. Або просто виберіть кілька спостережень із кожного кластеру та проаналізуйте їх.


0

По-перше, щоб зрозуміти, чи відповідають ваші матриці розміром 105 x 105 тим додаткам, які ви згадуєте? Коли ви говорите «залишайтеся у стані Y», це означає, що дотримуйтесь програми Y?

Тоді я б припустив, що такі результати, як "Процеси в кластері A, як правило, залишаються в стані Y, як тільки вони потрапляють туди, що не відповідає дійсності для процесів в інших кластерах", є надто дрібнозернистими лише з 10 кластерами. Ви спробували кластеризацію домену додатків - якщо я правильно розумію, ви можете згрупувати 105 програм на основі поведінки користувача. Далі, ви подивилися на просту присутність користувачів, а не на перехід, тобто на профілі користувачів у 105 додатках? Здається, ви можете використовувати коефіцієнт Пірсона між профілями користувачів; або на кластерах програм, або на самих додатках. Це, можливо, може поширюватися і на переходи між додатками, але в даний час я вважаю, що існує велика невідповідність між кількістю кластерів і типом результату, який вас цікавить.

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