Уникальный принцип коэффициента Жакара - PullRequest
0 голосов
/ 10 мая 2018

Привет! У меня есть набор данных, который можно смоделировать с помощью:

set.seed(123)
v1 <- rbinom(10000, 1, .2)
v2 <- rbinom(10000, 1, .3)
v3 <- rbinom(10000, 1, .25)
v4 <- rbinom(10000, 1, .5)
v5 <- rbinom(10000, 1, .35)
v6 <- rbinom(10000, 1, .2)
v7 <- rbinom(10000, 1, .3)
v8 <- rbinom(10000, 1, .25)
v9 <- rbinom(10000, 1, .5)
v10<- rbinom(10000, 1, .35)
dats <- data.frame(v1,v2,v3,v4,v5,v6,v7,v8,v9,v10)

Я работаю над использованием расстояния Жакара для создания структуры расстояния следующим образом:

dat.jac <- philentropy::distance(dats, method = "jaccard") 

Итак, вот мой вопрос: поскольку это двоичные переменные, это означает, что существует не более 2 ^ 10 = 1024 уникальных групп. Означает ли это, что у меня есть чрезмерно представленные данные, поскольку у меня более 1024 баллов? Еще один способ задать вопрос: нужно ли мне вычислять расстояние по Джакарду уникальных наблюдений и использовать количество наблюдений в качестве весов, или я могу просто рассчитать расстояние по Джакарду каждого наблюдения (строки), чтобы получить матрицу расстояний? С точки зрения программирования, что из следующего я должен продолжить?

dat.jac <- philentropy::distance(dats, method = "jaccard") 

или

dat.jac <- philentropy::distance(unique(dats), method = "jaccard")

Моя цель - использовать матрицу расстояний в иерархической кластеризации, используя следующий код:

dist.jac.mat<- as.matrix(dist.jac)
dist.jac.mat[is.na(dist.jac.mat)] <- 0 
hc <- hclust(as.dist(dist.jac.mat), method = "single")
fviz_nbclust(dats, FUN = hcut, diss = as.dist(dist.jac.mat), k.max = 15, 
nboot = 250, method = "silhouette")

1 Ответ

0 голосов
/ 12 мая 2018

Для одной ссылки действительно достаточно использовать только уникальные точки. Потому что количество не имеет значения для одной и полной ссылки. Для других связей это обычно не имеет места. там вам нужно будет использовать взвешенную кластеризацию и их вес по количеству дубликатов.

Однако у вас будет другая проблема:

Поскольку у вас есть почти все комбинации, кластеризация будет бесполезна. Возможных расстояний очень мало, и ваша дендрограмма, скорее всего, будет иметь очень мало уровней, пока все не будет связано. Это присуще данным такого рода. Кластеризация лучше всего работает на непрерывных переменных, где у вас очень мало дублирующих расстояний.

...