Ocena klastrów łańcuchów Markowa pierwszego rzędu


10

Zgrupowałem mój zestaw danych kilku tysięcy łańcuchów Markowa pierwszego rzędu w około 10 klastrów.

Czy istnieje jakiś zalecany sposób, w jaki mogę ocenić te klastry i dowiedzieć się, jakie elementy mają te klastry i czym różnią się od innych klastrów? Mogę więc wypowiedzieć się w stylu: „Procesy w klastrze A mają tendencję do pozostania w stanie Y, kiedy się tam znajdą, co nie jest prawdą w przypadku procesów w innych klastrach”.

Macierze przejściowe tych łańcuchów Markowa są zbyt duże, by „tylko patrzeć i widzieć”. Są stosunkowo rzadkie, jeśli to może pomóc.

Mój pomysł polegał na zebraniu wszystkich macierzy przejścia w klastrze, zsumowaniu ich i wykreśleniu ich jako intensywności na zdjęciu (w skali od 0 do 255). Czy jest coś bardziej „profesjonalnego”, co powinienem wypróbować?


Czy wiesz, że procesy te są łańcuchami rynkowymi pierwszego rzędu (a jeśli tak, to w jaki sposób)? Zakładając, że odpowiedź na to pytanie jest twierdząca, to jakie dodatkowe informacje a priori znasz na temat struktury? Staram się przede wszystkim ustalić, dlaczego interesuje Cię klastrowanie; Podejrzewam, że wiedza o tym pomoże naszym czytelnikom poprowadzić cię bardziej efektywnie do rozwiązania.
— kardynał

Pierwotnymi danymi były strumienie kliknięć generowane przez użytkowników mojej witryny. Stworzyłem procesy markowa, aby każdy proces opisywał strumień kliknięć jednego użytkownika. Wiem, że istnieją książki i gazety, które mówią, że łańcuchy Markowa są do tego nieodpowiednie, ale moje dane nie zawierają dokładnego adresu URL, o który prosił użytkownik, tylko „aplikację”, do której należy adres URL. (Moja strona to system informacyjny podzielony na 105 tak zwanych „aplikacji”, które są w większości samodzielnymi częściami witryny, połączonymi stroną główną i bocznym menu na każdej stronie)
— user7610

Interesuje mnie klastrowanie, ponieważ chcę ujawnić grupy użytkowników o podobnych wzorcach korzystania z witryny. Podejrzewam, że wzorce, które wychwytuje łańcuch Markowa, wystarczają do rozróżnienia takich grup. Sprawdziłem, w jaki sposób utworzone przeze mnie klastry odpowiadają rolom, które użytkownicy mają w witrynie, i zawsze wygląda to tak, że w klastrze jest wielu użytkowników z jednej roli i tylko kilka z innych ról, więc wygląda to obiecująco. Mam nadzieję, że to pomaga
— użytkownik7610

Cześć. Mam ten sam problem. Wreszcie, jak rozwiązałeś problem?
— nan

@ nan nie potrzebowałem, potrzebowałem tego tylko w projekcie terminowym, więc po prostu zrobiłem coś innego. Gdybym musiał to teraz rozwiązać, spróbowałbym spojrzeć na en.wikipedia.org/wiki/... w celu uzyskania wstępnego grupowania. t-SNE jest obecnie bardzo popularny i nadaje się do IMO. Mam nadzieję, że uzyskany przeze mnie wynik będzie bardziej znaczący niż wyniki uzyskane dzięki mojemu podejściu ad hoc. A użycie stosunkowo nowej
— superfajności

Odpowiedzi:


1

Aby wypowiedzieć się na temat zachowania w stanie ustalonym dla każdego skupienia, można obliczyć rozkłady stanu ustalonego dla każdej macierzy przejściowej według wektorów własnych, a następnie porównać wykresy pudełkowe według skupień. Prawdopodobnie wystąpią problemy z obliczaniem stanu ustalonego bez uprzedniego zastosowania pewnego rodzaju wygładzania.

Jak grupujesz macierze przejścia? Gdybym to był ja, zastosowałbym wygładzanie addytywne do każdego wiersza, następnie wyśrodkowałam transformację logarytmiczną każdego rzędu, a następnie spłaszczyłeś macierze.

Jeśli skupiasz się za pomocą środków typu K lub wariantu, możesz przeanalizować znormalizowane centra skupień. Lub po prostu wybierz kilka obserwacji z każdej grupy i przeanalizuj je.


0

Po pierwsze, aby uzyskać pomysł, czy macie macierze o wymiarach 105 x 105, odpowiadające zastosowanym przez Państwa aplikacjom? Kiedy mówisz „pozostań w stanie Y”, czy to oznacza trzymanie się aplikacji Y?

Następnie założyłbym, że wyniki takie jak „Procesy w klastrze A mają tendencję do pozostania w stanie Y, gdy już tam dotrą, co nie jest prawdą w przypadku procesów w innych klastrach”, są nieco zbyt drobnoziarniste przy zaledwie 10 klastrach. Czy próbowałeś klastrować domenę aplikacji - jeśli dobrze rozumiem, możesz zgrupować 105 aplikacji w oparciu o zachowanie użytkownika. Następnie, czy patrzyłeś na zwykłą obecność użytkowników, a nie na przejście, tj. Spojrzałeś na profile użytkowników w 105 aplikacjach? Brzmi, jakbyś mógł użyć współczynnika Pearsona między profilami użytkowników; albo w klastrach aplikacji, albo w samych aplikacjach. Być może można to rozszerzyć na przejścia między aplikacjami, ale obecnie uważam, że istnieje ogromne niedopasowanie między liczbą klastrów a rodzajem wyników, którymi jesteś zainteresowany.

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.