Come dire quantitativamente se i dati 1D sono raggruppati attorno a 1 o 3 valori?


9

Ho dei dati sul tempo che intercorre tra i battiti del cuore di un essere umano. Un'indicazione di battiti ectopici (extra) è che questi intervalli sono raggruppati attorno a tre valori anziché a uno. Come posso ottenere una misura quantitativa di questo?

Sto cercando di confrontare più set di dati e questi due istogrammi da 100 bin sono rappresentativi di tutti loro.

inserisci qui la descrizione dell'immagine

Potrei confrontare le varianze, ma voglio che il mio algoritmo sia in grado di rilevare se ci sono uno o tre cluster in ciascun caso senza confrontarli con gli altri casi.

Questo è per l'elaborazione offline, quindi c'è molta potenza di calcolo disponibile, se necessario.


Risposte:


3

Vi consiglio vivamente contro usando k-means qui. I risultati per diversi valori di k non sono molto comparabili. Il metodo è solo un euristico rozzo. Se vuoi davvero usare il clustering, usa il clustering EM, poiché i tuoi dati sembrano contenere distribuzioni normali. E convalida i tuoi risultati!

Invece, l'approccio ovvio è provare ad adattare una singola funzione gaussiana e (ad esempio usando il metodo Levenberg-Marquard) adattare tre funzioni gaussiane, forse vincolate alla stessa altezza (per evitare la degenerazione).

Quindi prova quale delle due distribuzioni si adatta meglio.


Grazie, non sapevo di Levenberg-Marquardt! Questi cluster non sono gaussiani; pensi ancora che le funzioni gaussiane sarebbero il miglior PDF per adattarle?
Nikolaus,

+1 a questo e a Greg Snow. Sono totalmente d'accordo con questo consiglio. @Nikolaus Penso che questo appaia "abbastanza gaussiano" per adattarsi a una miscela di distribuzioni gaussiane. Non vuoi una misura perfetta, solo un modo per verificare quanti cluster ci sono. In questa ottica, vincolare tutti i componenti a condividere la stessa deviazione standard può essere una buona idea (per i motivi spiegati da Anony-Mousse).
Elvis

Mi sembrano chiaramente abbastanza gaussiani. K significa che modella i dati con celle Voronoi. Non mi sembra ragionevole supporre che il miglior punto di divisione sia esattamente nel mezzo dei due mezzi vicini.
Ha QUIT - Anony-Mousse il

6

Adatta una distribuzione della miscela ai dati, qualcosa come una miscela di 3 distribuzioni normali, quindi confronta la probabilità di quella adatta con una misura di una singola distribuzione normale (usando il test del rapporto di verosimiglianza o AIC / BIC). Il flexmixpacchetto per Rpotrebbe essere di aiuto.


4

Se si desidera utilizzare il clustering K-mean, è necessario un modo per confrontare i casi e . Un approccio sarebbe quello di utilizzare la statistica gap di Tibshirani et al. e scegli la che fornisce il valore migliore. C'è un'implementazione R disponibile in SLmisc , anche se quella particolare funzione proverà , quindi dovrai fare attenzione a garantire che solo o possano essere restituiti come valore ottimale.K = 3 K K = 1 , 2 , 3 K = 1 K = 3K=1K=3KK=1,2,3K=1K=3


2

Utilizzare un algoritmo di clustering di mezzi K per identificare i vari mezzi

Cercare la funzione KNN in R-cercare per trovare la funzione appropriata


1
ah, stavo per pubblicarlo! Puoi anche fare riferimento a questo link per i codici e quant'altro: statmethods.net/advstats/cluster.html
Re

Ho provato con la kmeansfunzione di Matlab . I mezzi risultanti variano ampiamente da provare a provare. (Cattiva euristica in questa implementazione?) Per il set a 1 cluster, ottengo mezzi intorno (270.293.693) a volte, circa (260.285.308) a volte. Per il set di 3 cluster, alcune risposte sono (196.324.468,) e (290.459.478).
Nikolaus,

C'è un posto dove posso incollare i dati?
Nikolaus,

Oh, circa quel 693 significa: ci sono due valori anomali ovvi, un 532 e un 855, su un totale di 755 valori. Tutto il resto dei valori è visibile nell'istogramma.
Nikolaus,

Devi guardare oltre i mezzi che ottieni da k-mean e vedere quanto effettivamente descrivono i tuoi dati!
Ha QUIT - Anony-Mousse il
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.