Clustering distribuzioni di probabilità - metodi e metriche?


13

Ho alcuni punti dati, ognuno contenente 5 vettori di risultati discreti agglomerati, i risultati di ogni vettore generati da una diversa distribuzione (il tipo specifico di cui non sono sicuro, la mia ipotesi migliore è Weibull, con parametri di forma che variano da qualche parte attorno all'esponenziale alla potenza legge (da 1 a 0, approssimativamente).)

Sto cercando di utilizzare un algoritmo di clustering come K-Means per mettere ogni punto di dati in gruppi in base agli attributi delle sue 5 distribuzioni di componenti. Mi chiedevo se ci fossero metriche di distanza stabilite che sarebbero eleganti per questi scopi. Finora ho avuto tre idee, ma non sono uno statistico esperto (più che altro uno scienziato informatico di data mining) quindi non ho idea di quanto sia lontano dalla mia strada.

  1. Dal momento che non so esattamente con che tipo di distribuzioni sto trattando, il mio approccio alla forza bruta al problema è stato quello di tagliare ciascuna delle distribuzioni (ho 5 per punto) in ciascuno dei rispettivi valori di dati discreti (I pad ognuno corrispondente alla stessa lunghezza con zeri alla fine) e utilizzare ciascuno di questi valori come attributo separato per il punto dati stesso. Ho provato a utilizzare sia la distanza di Manhattan che la distanza euclidea come metriche basate su questi attributi, sia per il PDF che per il CDF.

  2. Ancora una volta, dal momento che non so che tipo di distribuzioni ho, ho pensato che se avessi misurato la distanza tra le distribuzioni complessive avrei potuto usare una sorta di test non parametrico a coppie tra distribuzioni, come il test KS , per trovare la probabilità che le distribuzioni fornite siano state generate da PDF diversi. Ho pensato che la mia prima opzione (sopra) usando la distanza di Manhattan sarebbe stata una sorta di limite superiore a ciò che avrei potuto ottenere usando questo approccio (poiché la statistica KS è il valore assoluto massimo della differenza dei CDF, dove la distanza di Manhattan è la somma dei valori assoluti delle differenze nei PDF). Ho quindi considerato di combinare i diversi valori KS-Statistiche o P all'interno di ciascun punto dati, probabilmente usando la distanza euclidea, ma probabilmente prendendo semplicemente il massimo di tutti questi valori.

  3. Infine, nel tentativo di usare quel poco che posso interpretare sulla forma delle distribuzioni, ho pensato di poter provare a stimare i parametri delle distribuzioni in modo che si adattassero a una curva di Weibull. Potrei quindi raggruppare le distribuzioni in base alle differenze nei due parametri della distribuzione di Weibull, lambda e k (scala e forma), probabilmente normalizzate in base alla varianza di questi parametri o qualcosa del genere. Questo è l'unico caso in cui ho pensato di avere un'idea di come normalizzare i parametri.

Quindi la mia domanda è: quale misura / metodo consiglieresti per il raggruppamento delle distribuzioni? Sono anche sulla buona strada con qualcuno di questi? K-Means è anche un buon algoritmo da usare?

Modifica: chiarimento dei dati.

Ogni punto dati (ogni oggetto Objche voglio raggruppare) contiene letteralmente 5 vectorsdei dati. So che ci sono esattamente 5 fasi in cui questi oggetti possono trovarsi. Diremo (ai fini della semplificazione) che ogni vettore è length N.

Ognuno di questi vettori (chiamare vector i) è una distribuzione di probabilità con numero intero x-valuesdi 1 a N, dove ciascuna corrispondente valore y rappresenta la probabilità di misurare value xin phase idell'oggetto Obj. N è quindi il valore x massimo che mi aspetto di misurare in qualsiasi fase dell'oggetto (questo non è in realtà un numero fisso nella mia analisi).

Determino queste probabilità nel modo seguente:

  1. Prendo un singolo Obje metterlo in phase iper k trials, prendere una misura in ogni prova. Ogni misura è un singolo numero intero. Lo faccio per ognuna delle 5 fasi di un singolo oggetto e, a sua volta, per ogni oggetto. I miei dati di misurazione grezzi per un singolo oggetto potrebbero apparire come:

    Vettore 1. [90, 42, 30, 9, 3, 4, 0, 1, 0, 0, 1]

    Vettore 2. [150, 16, 5, 0, 1, 0, 0, 0, 0, 0, 0]

    ...

    Vettore 5. [16, ... ..., 0]

  2. Quindi normalizzo ciascuno dei vettori da solo, rispetto al numero totale di misurazioni in quel dato vettore. Questo mi dà una distribuzione di probabilità in quel vettore, dove ogni corrispondente valore y rappresenta la probabilità di misurare value xin phase i.


1
Non mi è chiaro come i tuoi punti dati possano "contenere" le distribuzioni. Potresti fare un esempio? Inoltre Weibull non è una distribuzione di probabilità discreta, quindi sarebbe auspicabile qualche ulteriore chiarimento.
mpiktas,

@mpiktas: ogni punto dati rappresenta un oggetto che ha 5 fasi diverse. Il comportamento di ciascuna fase dell'oggetto può teoricamente essere rappresentato da una funzione di distribuzione di probabilità continua, ma i miei dati contengono solo campioni discreti. La distribuzione di Weibull è probabilmente la funzione "teorica" ​​dietro i miei dati, ma i dati stessi sono solo misurazioni della densità su intervalli discreti.
desiderio di macchina il

Risposte:


5

La geometria dell'informazione (computazionale) è un campo che affronta esattamente questo tipo di problemi. K-medie ha un'estensione chiamata Bregman k-medie che usano divergenze (il cui euclideo quadrato dei mezzi K standard è un caso particolare, ma anche Kullback-Leibler). Una data divergenza è associata a una distribuzione, ad esempio da Euclideo quadrato a gaussiano.

Puoi anche dare un'occhiata al lavoro di Frank Nielsen , per esempio

Puoi anche dare un'occhiata alle distanze di Wasserstein (trasporto ottimale) , menzionate come Earth Mover Distance in un post precedente.


3

Nel loro articolo sull'algoritmo EP-Means , Henderson et al riesaminano gli approcci a questo problema e ne danno uno proprio. Considerano:

  1. Cluster di parametri: determinare i parametri per le distribuzioni in base alla conoscenza precedente della distribuzione e cluster in base a tali parametri
    • nota che qui puoi effettivamente utilizzare qualsiasi funzione sui dati, non solo stime dei parametri, che è utile se sai che i tuoi dati provengono da diverse distribuzioni
  2. Binning dell'istogramma: separa i dati in bin e considera ogni bin come una dimensione da utilizzare nel clustering spaziale
  3. EP-Means (il loro approccio) - definisce i centroidi distributivi (miscela di tutte le distribuzioni assegnate a un cluster) e minimizza la somma dei quadrati della Earth Mover's Distance (qualcosa come il valore atteso della distanza tra CDF) tra il centroidi distributivi e le distribuzioni assegnate a quel cluster.L1

Un'altra tecnica che ho usato con successo è quella di raggruppare tutti i punti osservati da tutte le distribuzioni individualmente, quindi assegnare alla distribuzione i la probabilità morbida corrispondente alla proporzione dei suoi punti che finiscono in ciascun cluster. Il rovescio della medaglia, è molto più difficile separare le distribuzioni in quel modo. Il lato positivo è che si auto-regolarizza e presume che tutte le distribuzioni siano uguali. Lo userei solo quando si desidera quella proprietà di regolarizzazione.


1
Benvenuti nel nostro sito! Nota che puoi usare il markup del lattice qui inserendo del testo all'interno del simbolo del dollaro, ad esempio $i$produce , o produce , che può semplificare l'espressione personalel 2i$l_2$l2
Silverfish

1

Dovresti procedere in due passaggi. (1) Riduzione dei dati e (2) Clustering.

Per il passaggio (1), è necessario ispezionare attentamente i dati e determinare una distribuzione di probabilità ragionevole per i dati. Sembra che tu abbia già pensato a questo passaggio. Il prossimo passo è stimare i parametri di queste distribuzioni. È possibile adattare un modello separatamente per ciascuna unità da raggruppare, oppure potrebbe essere appropriato utilizzare un modello più sofisticato come un modello misto lineare generalizzato.

Per il passaggio (2), è quindi possibile raggruppare in base a queste stime dei parametri. A questo punto dovresti avere un numero limitato di stime dei parametri per unità. Come descritto nella risposta a questo post , è quindi possibile raggruppare queste stime dei parametri.

Questa risposta è necessariamente un po 'vaga: non esiste una soluzione "in scatola" qui, e una grande quantità di informazioni statistiche è necessaria per ogni passaggio per selezionare da un numero quasi infinito di metodi che potrebbero essere rilevanti, a seconda del tuo problema unico. L'affermazione della tua domanda mostra che ti sei autodidatta una buona dose di conoscenza statistica, il che è encomiabile, ma hai ancora alcuni fraintendimenti fondamentali di concetti statistici di base, come la distinzione tra una distribuzione di probabilità e osservazioni da una distribuzione di probabilità . Prendi in considerazione l'idea di seguire / audire un corso di statistica matematica o due.

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.