У меня есть данные, представленные в виде нескольких разных гистограмм одной переменной. Я хотел бы определить, какие гистограммы похожи, используя неконтролируемую кластеризацию. Я также хотел бы знать оптимальное количество используемых кластеров.Гистограммы кластеров с использованием сдвигов Земли. R
Я ознакомился с метрикой расстояний между мишенями Земли и расстоянием между гистограммами, но не знаю, как использовать это в общих алгоритмах кластеризации (например, k означает).
Primary: Какие r пакетов и функций я использую для группировки гистограмм?
Вторичный: Как определить «оптимальное» количество кластеров?
Пример набор данные 1 (3 Uni-модальные кластеры):
v1 <- rnorm(n=100, mean = 10, sd = 1) # cluster 1 (around 10)
v2 <- rnorm(n=100, mean = 50, sd = 5) # cluster 2 (around 50)
v3 <- rnorm(n=100, mean = 100, sd = 10) # cluster 3 (around 100)
v4 <- rnorm(n=100, mean = 12, sd = 2) # cluster 1
v5 <- rnorm(n=100, mean = 45, sd = 6) # cluster 2
v6 <- rnorm(n=100, mean = 95, sd = 6) # cluster 3
Пример набор данные 2 (3 би-модальные кластеры):
b1 <- c(rnorm(n=100, mean=9, sd=2) , rnorm(n=100, mean=200, sd=20)) # cluster 1 (around 10 and 200)
b2 <- c(rnorm(n=100, mean=50, sd=5), rnorm(n=100, mean=100, sd=10)) # cluster 2 (around 50 and 100)
b3 <- c(rnorm(n=100, mean=99, sd=8), rnorm(n=100, mean=175, sd=17)) # cluster 3 (around 100 and 175)
b4 <- c(rnorm(n=100, mean=12, sd=2), rnorm(n=100, mean=180, sd=40)) # cluster 1
b5 <- c(rnorm(n=100, mean=45, sd=6), rnorm(n=100, mean=80, sd=30)) # cluster 2
b6 <- c(rnorm(n=100, mean=95, sd=6), rnorm(n=100, mean=170, sd=25)) # cluster 3
b7 <- c(rnorm(n=100, mean=10, sd=1), rnorm(n=100, mean=210, sd=30)) # cluster 1 (around 10 and 200)
b8 <- c(rnorm(n=100, mean=55, sd=5), rnorm(n=100, mean=90, sd=15)) # cluster 2 (around 50 and 100)
b9 <- c(rnorm(n=100, mean=89, sd=9), rnorm(n=100, mean=165, sd=20)) # cluster 3 (around 100 and 175)
b10 <- c(rnorm(n=100, mean=8, sd=2), rnorm(n=100, mean=160, sd=30)) # cluster 1
b11 <- c(rnorm(n=100, mean=55, sd=6), rnorm(n=100, mean=110, sd=10)) # cluster 2
b12 <- c(rnorm(n=100, mean=105, sd=6), rnorm(n=100, mean=185, sd=21)) # cluster 3
EMD очень дорогой, поэтому для ускорения кластеризации вам необходимо использовать нижние границы и индексы. K-означает, что работает только для расхождений Bregman, и я не думаю, что EMD - это одно. –