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.
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.
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.
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 Obj
che voglio raggruppare) contiene letteralmente 5 vectors
dei 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-values
di 1 a N, dove ciascuna corrispondente valore y rappresenta la probabilità di misurare value x
in phase i
dell'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:
Prendo un singolo
Obj
e metterlo inphase i
perk 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]
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 x
inphase i
.