Тот, который используется опцией «ward.D» (эквивалентно единственной опции «Ward» в версиях R <= 3.0.3), не реализует критерий кластеризации Ward (1963), тогда как опция «ward.D2» реализует этот критерий ( Муртах и Лежандр 2014).
( http://stat.ethz.ch/R-manual/R-patched/library/stats/html/hclust.html )
Очевидно, ward.D не выполняет критерий Уорда должным образом. Тем не менее, похоже, что он хорошо справляется с кластеризацией, которую он производит. Что реализует method = "ward.D", если это не критерий Уорда?
Ссылки
Murtagh, F. & Legendre, P. (2014). Метод иерархической агломерационной кластеризации Уорда: какие алгоритмы реализуют критерий Уорда? Журнал классификации , 31 (3), 274-295.
r
clustering
ward
Раффаэль
источник
источник
Ответы:
Соответствующая рукопись здесь .
Разница между ward.D и ward.D2 - это разница между двумя критериями кластеризации, которые в рукописи называются Ward1 и Ward2.
Это в основном сводится к тому, что алгоритм Уорда непосредственно правильно реализован только в Ward2 (ward.D2), но Ward1 (ward.D) также можно использовать, если евклидовы расстояния (от
dist()
) возводятся в квадрат перед вводом их вhclust()
используя ward.D в качестве метода.Например, SPSS также реализует Ward1, но предупреждает пользователей, что расстояния должны быть возведены в квадрат для получения критерия Ward. В этом смысле реализация ward.D не считается устаревшей, и, тем не менее, было бы неплохо сохранить ее для обратной совместимости.
источник
Ward algorithm is directly correctly implemented in just Ward2
, а, скорее, что: (1) для получения правильных результатов с обеими реализациями используйте квадраты евклидовых расстояний с Ward1 и не квадратные евклидовы расстояния с Ward2; (2) чтобы сделать их выходные дендрограммы сопоставимыми (идентичными), примените квадратный корень к уровням слияния после Ward1 или квадратные уровни слияния после Ward2, прежде чем строить дендрограмму.Единственная разница между
ward.D
&ward.D2
является входным параметром.hclust(dist(x)^2,method="ward.D")
~hclust(dist(x)^2,method="ward")
которые эквивалентны:
hclust(dist(x),method="ward.D2")
Вы можете найти реферат бумаги: Иерархический метод кластеризации Уорда: критерий кластеризации и агломерационный алгоритм
В Ward2 значения критерия « по шкале расстояний » , тогда как Ward1 значение критерия « по шкале расстояний квадрата ».
источник
Я наткнулся на исследовательскую работу, которая соответствует целевой функции, которая оптимизируется с помощью «Ward1 (ward.D)»: Иерархическая кластеризация с помощью соединения между расстояниями: расширение метода минимальной дисперсии Уорда . Оказывается, что реализация R "Ward1 (ward.D)" эквивалентна минимизации энергетического расстояния между группами кластеров.
источник
ward.D2
, but I don't think it is stated anywhere thatward.D1
. In fact, on page 161–162, it is stated that for