Angenommen, ich 5 Kategorien stündliche Daten für consective 10 Tage entspricht, erstellt als:Statistiken über Cluster-Mitglied Beziehungen über mehrere Tage
library(xts)
set.seed(123)
timestamp <- seq(as.POSIXct("2016-10-01"),as.POSIXct("2016-10-10 23:59:59"), by = "hour")
data <- data.frame(cat1 = rnorm(length(timestamp),150,5),
cat2 = rnorm(length(timestamp),130,3),
cat3 = rnorm(length(timestamp),150,5),
cat4 = rnorm(length(timestamp),100,8),
cat5 = rnorm(length(timestamp),200,15))
data_obj <- xts(data,timestamp) # creat time-series object
head(data_obj,2)
nun separat für jeden Tag, ich Clustering durchführen und sehen, wie diese Kategorien verhalten sich in Bezug zueinander mit einfachen kmeans
wie:
daywise_data <- split.xts(data_obj,f="days",k=1) # split data day wise
clus_obj <- lapply(daywise_data, function(x){ # clustering day wise
return (kmeans(t(x), 2))
})
Sobald Clustering vorbei ist, stelle ich mir die Cluster-Beziehungen über verschiedene 10 Tage mit
sapply(clus_obj,function(x) x$cluster) # clustering results
und ich die Ergebnisse als
Bei der visuellen Inspektion festgestellt, ist es klar, dass cat1
und cat3
immer im gleichen Cluster geblieben. Ähnlich sind cat4
und cat5
meist in verschiedenen Clustern an 10 verschiedenen Tagen.
Abgesehen von der visuellen Inspektion, gibt es einen automatischen Ansatz zum Sammeln dieser Art von Statistik aus solchen Clustering-Tabellen?
Hinweis: Dies ist ein Dummy-Beispiel. Ich habe einen Datenrahmen, der solche 80 Kategorien über kontinuierliche 100 Tage enthält. Eine automatische Zusammenfassung wie oben wird den Aufwand reduzieren.
Ihre Erklärung ist korrekt und ich möchte diesen Prozentsatz berechnen. Aber die in [Wikipedia] (https://en.wikipedia.org/wiki/Cluster_analysis) erwähnten externen Bewertungsmaßstäbe scheinen in meinem Fall nicht zu gelten, da ich keine Grundwahrheit (Benchmark) habe. Diese Clusterbildung wird nicht überwacht. Ihre weiteren Erkenntnisse könnten mir helfen, weiter zu graben ... –
Der gleiche Ansatz kann verwendet werden, um zwei Ergebnisse zu verschiedenen Zeitpunkten zu vergleichen. Die meisten dieser Methoden sind symmetrisch, im Wesentlichen sind sie ein Ähnlichkeitsmaß für Partitionierungen. –
Ich habe mein Problem ein wenig umformuliert und habe die Antwort auf [this] (http://stackoverflow.com/q/40713096/3317829) Stack Overflow Link bekommen –