Ich habe mehrere Verteilungen (10 Verteilungen in der Abbildung unten).
Tatsächlich handelt es sich um Histogramme: Auf der x-Achse gibt es 70 Werte, die die Größe einiger Partikel in einer Lösung darstellen, und für jeden Wert von x ist der entsprechende Wert von y der Anteil der Partikel, deren Größe um den Wert von x liegt.
Ich möchte diese Distributionen gruppieren. Derzeit verwende ich zum Beispiel ein hierarchisches Clustering mit dem euklidischen Abstand. Ich bin mit der Wahl der Entfernung nicht zufrieden. Ich habe eine informationstheoretische Distanz wie Kullback-Leibler ausprobiert, aber die Daten enthalten viele Nullen, was zu Schwierigkeiten führt. Haben Sie einen Vorschlag für eine angemessene Entfernung und / oder eine andere Clustering-Methode?
quelle
Wenn es sich bei Ihren Daten um Histogramme handelt, sollten Sie geeignete Abstandsfunktionen wie die "Histogramm-Schnittentfernung" untersuchen.
Es gibt ein Tool namens ELKI, das eine Vielzahl von Clustering-Algorithmen enthält (viel moderner als k-means und hierarchisches Clustering) und sogar eine Version des Histogramm-Schnittabstands enthält, die Sie in den meisten Algorithmen verwenden können. Vielleicht möchten Sie einige der darin verfügbaren Algorithmen ausprobieren. Aus der Handlung, die Sie oben gegeben haben, ist mir nicht klar, was Sie tun möchten. Gruppieren Sie die einzelnen Histogramme, richtig? Gemessen an den 10, die Sie oben gezeigt haben, gibt es möglicherweise keine Cluster.
quelle
Möglicherweise möchten Sie eine Feature-Extraktionstechnik verwenden, um Deskriptoren für ein k-Mittel oder eine andere Art von Clustering abzuleiten.
Ein grundlegender Ansatz wäre, eine bestimmte Verteilung an Ihre Histogramme anzupassen und deren Parameter als Deskriptoren zu verwenden. Zum Beispiel scheinen Sie bimodale Verteilungen zu haben, die Sie mit 2 Mitteln und 2 Standardabweichungen beschreiben können.
Eine andere Möglichkeit besteht darin, die ersten zwei oder drei Hauptkomponenten der Anzahl der Histogramme zu gruppieren.
Alternativ können Wavelets-Ansätze verwendet werden.
Auf dieser Seite wird erläutert, wie dies beim Umgang mit extrazellulären Spikes geschieht. Die Daten sind unterschiedlich, aber die Idee sollte auf Ihren Fall anwendbar sein. Unten finden Sie auch viele Referenzen.
http://www.scholarpedia.org/article/Spike_sorting
In R können Sie die Hauptkomponenten Ihrer Peaks entweder mit der Funktion
princomp
oder berechnenprcomp
. Hier finden Sie ein Tutorial zu PCA in R.Für Wavelets können Sie sich das
wavelets
Paket ansehen .k-Mittel-Clustering kann mit der
kmeans
Funktion erreicht werden .quelle