Взвешенный кластерный анализ в R - генерирует больше кластеров, чем запрошено с помощью hclust - PullRequest
0 голосов
/ 06 ноября 2019

Я пытаюсь провести иерархический агломерационный кластерный анализ в R с помощью пакета Weighted Cluster. Перед этим я рассчитал расстояния между последовательностями состояний, используя пакет TraMineR (см. Стр. 4-6 здесь ).

Следуя приведенной выше виньетке, я вставил свою матрицу расстояний в hclust, добавив вектор весов следующим образом ( datadist - это матрица расстояний; dataframe - этомой фрейм данных, содержащий данные временного ряда, и вес - это весовой коэффициент продольной съемки на всех волнах):

 Cluster <- hclust(as.dist(datadist), method = "ward", members = dataframe$weight)

Затем, после достижения конкретного кластерного решения (четыре подгруппы), яиспользовал функцию cutree, чтобы определить относительную частоту каждого кластера и назначить наблюдения:

 subgroups <- cutree(Cluster, k = 4)

Однако я каким-то образом сгенерировал больше , чем четыре группы после выполнения кода выше (более 30, по факту). Когда я удалил вектор весов, я смог произвести частоты для четырех кластеров, но невзвешенные результаты были неоптимальными.

Если кто-нибудь может помочь мне понять, что происходит (и как я могу решить или решить проблему), это будет очень цениться.

...