Cluster di valutazione delle catene di Markov del primo ordine


10

Ho raggruppato il mio set di dati di diverse migliaia di catene di Markov del primo ordine in circa 10 cluster.

Esiste un modo consigliato per valutare questi cluster e scoprire cosa condividono gli elementi nei cluster e in che modo differiscono dagli altri cluster? Quindi posso fare affermazioni come "I processi nel cluster A tendono a rimanere nello stato Y una volta arrivati ​​lì, il che non è vero per i processi in altri cluster".

Le matrici di transizione di quelle catene di Markov sono troppo grandi per "guardare e vedere". Sono relativamente scarsi, se ciò può aiutare.

La mia idea era quella di prendere tutte le matrici di transizione in un cluster, sommarle e tracciarle come intensità in un'immagine (in una scala da 0 a 255). C'è qualcosa di più "professionale" che dovrei provare?


Lei sa che questi processi sono catene di primo ordine di mercato (e, in caso affermativo, come)? Supponendo che la risposta sia affermativa, quali ulteriori informazioni a priori conosci sulla struttura? Sto cercando di identificare il motivo per cui sei interessato al raggruppamento in primo luogo; Sospetto che questo possa aiutare i nostri lettori a guidarti in modo più efficiente verso una soluzione.
cardinale il

I dati originali erano flussi di clic generati dagli utenti sul mio sito. Ho creato i processi markov in modo che ogni processo descriva il flusso di clic di un utente. So che ci sono libri e documenti che affermano che le catene markov non sono adeguate per questo, ma i miei dati non includono l'URL esatto richiesto dall'utente, solo la "applicazione" a cui appartiene l'URL. (Il mio sito è un sistema informativo che è diviso in 105 cosiddette "applicazioni" che sono per lo più parti autosufficienti del sito, collegate attraverso una home page e un menu laterale su ogni pagina)
user7610

Sono interessato al clustering perché voglio rivelare gruppi di utenti che hanno schemi simili nell'uso del sito. Ho ipotizzato che i modelli catturati dalla catena di Markov siano sufficienti per distinguere tali gruppi. Ho verificato come i cluster che ho creato corrispondano ai ruoli che gli utenti hanno sul sito e sembra sempre che in un cluster ci siano molti utenti di un ruolo e solo un paio di altri ruoli, quindi sembra promettente. Spero che sia d'aiuto
user7610

Ciao, sto riscontrando lo stesso problema. Infine, come hai risolto il problema?
nan

@nan Non l'ho fatto, ne avevo bisogno solo in un progetto a termine, quindi ho semplicemente fatto qualcos'altro. Se dovessi risolverlo ora, proverei a cercare en.wikipedia.org/wiki/… per il clustering iniziale. t-SNE è oggi molto popolare e adatto all'IMO. Spero che il risultato che ottengo sia più significativo dei risultati ottenuti con il mio approccio ad hoc. E usare una cosa super cool relativamente nuova soddisfarrebbe l'insegnante;)
user7610,

Risposte:


1

Per fare una dichiarazione sul comportamento dello stato stazionario di ciascun cluster, è possibile calcolare le distribuzioni dello stato stazionario di ciascuna matrice di transizione per autovettori, quindi confrontare i grafici a scatole per cluster. È probabile che si verifichino problemi nel calcolo dello stato stazionario senza prima applicare una sorta di livellamento.

Come stai raggruppando le matrici di transizione? Se fossi in me, applicherei il livellamento additivo per ogni riga, quindi prenderei la trasformazione del rapporto di registro centrata di ogni riga e appiattire le matrici.

Se si esegue il clustering con K-medie o una variante, è possibile analizzare i centri di cluster normalizzati. Oppure scegli alcune osservazioni da ciascun cluster e analizzale.


0

Innanzitutto, per avere un'idea, le tue matrici sono di dimensioni 105 x 105, corrispondenti alle applicazioni che menzioni? Quando dici "rimani nello stato Y" significa che tieni in considerazione l'applicazione Y?

Quindi, suppongo che risultati come "Processi nel cluster A tendano a rimanere nello stato Y una volta arrivati ​​lì, il che non è vero per i processi in altri cluster" sono un po 'troppo precisi con solo 10 cluster. Hai provato un clustering del dominio dell'applicazione? Se ho capito bene, potresti raggruppare le 105 applicazioni in base al comportamento dell'utente. Successivamente, hai esaminato la semplice presenza di utenti anziché la transizione, ovvero i profili degli utenti nelle 105 applicazioni? Sembra che tu possa usare il coefficiente di Pearson tra i profili utente; sui cluster di applicazioni o sulle applicazioni stesse. Questo potrebbe forse essere esteso alle transizioni tra le applicazioni, ma attualmente ritengo che vi sia un'enorme discrepanza tra il numero di cluster e il tipo di risultato a cui sei interessato.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.