Wie kann quantitativ festgestellt werden, ob 1D-Daten um 1 oder 3 Werte gruppiert sind?

9

Ich habe einige Daten über die Zeit zwischen den Herzschlägen eines Menschen. Ein Hinweis auf ektopische (zusätzliche) Beats ist, dass diese Intervalle um drei Werte anstatt um einen gruppiert sind. Wie kann ich ein quantitatives Maß dafür erhalten?

Ich möchte mehrere Datensätze vergleichen, und diese beiden 100-Bin-Histogramme sind repräsentativ für alle.

Geben Sie hier die Bildbeschreibung ein

Ich könnte die Varianzen vergleichen, aber ich möchte, dass mein Algorithmus erkennen kann, ob es jeweils einen oder drei Cluster gibt, ohne mit den anderen Fällen zu vergleichen.

Dies ist für die Offline-Verarbeitung vorgesehen, sodass bei Bedarf viel Rechenleistung zur Verfügung steht.

Nikolaus
quelle

Antworten:

3

Ich rate dringend gegen Verwendung von k-means hier. Die Ergebnisse für verschiedene Werte von k sind nicht sehr gut vergleichbar. Die Methode ist nur eine grobe Heuristik. Wenn Sie wirklich Clustering verwenden möchten, verwenden Sie EM-Clustering, da Ihre Daten normale Verteilungen zu enthalten scheinen. Und validieren Sie Ihre Ergebnisse!

Stattdessen besteht der offensichtliche Ansatz darin, zu versuchen, eine einzelne Gaußsche Funktion anzupassen und (zum Beispiel unter Verwendung der Levenberg-Marquard-Methode) drei Gaußsche Funktionen anzupassen, die möglicherweise auf dieselbe Höhe beschränkt sind (um eine Degeneration zu vermeiden).

Testen Sie dann, welche der beiden Verteilungen besser passt.

Hat aufgehört - Anony-Mousse
quelle
Danke, ich wusste nichts von Levenberg-Marquardt! Diese Cluster sind nicht Gaußsch; Denken Sie immer noch, dass Gaußsche Funktionen das beste PDF sind, um sie anzupassen?
Nikolaus
+1 dazu und zu Greg Snow. Ich stimme diesem Rat voll und ganz zu. @Nikolaus Ich denke, das sieht "gaußsch genug" aus, um zu einer Mischung von Gaußschen Verteilungen zu passen. Sie möchten keine perfekte Passform, sondern nur eine Möglichkeit, um zu überprüfen, wie viele Cluster vorhanden sind. In dieser Optik kann es eine gute Idee sein, alle Komponenten auf dieselbe Standardabweichung zu beschränken (aus den von Anony-Mousse erläuterten Gründen).
Elvis
Sie sehen für mich eindeutig gaußsch genug aus. K-means modelliert Daten mit Voronoi-Zellen. Es erscheint mir nicht sinnvoll anzunehmen, dass der beste Teilungspunkt genau in der Mitte der beiden benachbarten Mittel liegt.
Hat aufgehört - Anony-Mousse
6

Passen Sie eine Mischungsverteilung an die Daten an, etwa eine Mischung aus drei Normalverteilungen, und vergleichen Sie dann die Wahrscheinlichkeit dieser Anpassung mit einer Anpassung einer einzelnen Normalverteilung (mithilfe des Likelihood-Ratio-Tests oder AIC / BIC). Das flexmixPaket für Rkann hilfreich sein.

Greg Snow
quelle
4

Wenn Sie K-Mittel-Clustering verwenden möchten, benötigen Sie eine Möglichkeit, die Fälle und zu vergleichen . Ein Ansatz wäre, die verwenden Lücke Statistik von Tibshirani et al. und wählen Sie das , das den besseren Wert liefert. In SLmisc ist eine R-Implementierung verfügbar , obwohl diese bestimmte Funktion versucht. Sie müssen also darauf achten, dass nur oder als optimaler Wert zurückgegeben werden kann.K = 3 K K = 1 , 2 , 3 K = 1 K = 3K=1K=3KK=1,2,3K=1K=3

bnaul
quelle
2

Verwenden Sie einen K-Mittel-Clustering-Algorithmus, um die verschiedenen Mittel zu identifizieren

Suchen Sie in R-seek nach der Funktion KNN, um die entsprechende Funktion zu finden

Ram Ahluwalia
quelle
1
ahh, ich wollte das gerade posten! Sie können auch auf diesen Link für die Codes und so weiter verweisen: statmethods.net/advstats/cluster.html
King
Ich habe es mit Matlabs kmeansFunktion versucht . Die resultierenden Mittel variieren stark von Versuch zu Versuch. (Schlechte Heuristik in dieser Implementierung?) Für den 1-Cluster-Satz erhalte ich manchmal Mittelwerte um (270.293.693), manchmal um (260.285.308). Für den 3-Cluster-Satz sind einige Antworten (196.324.468) und (290.459.478).
Nikolaus
Gibt es einen Ort, an dem ich die Daten einfügen kann?
Nikolaus
Oh, ungefähr 693 bedeuten: Es gibt zwei offensichtliche Ausreißer, einen 532 und einen 855, von insgesamt 755 Werten. Alle übrigen Werte sind im Histogramm zu sehen.
Nikolaus
Sie müssen über die Mittel hinausschauen, die Sie von k-means erhalten, und sehen, wie gut sie Ihre Daten tatsächlich beschreiben!
Hat aufgehört - Anony-Mousse