Можно ли использовать расстояние Манхэттена с межкластерными связями Уорда в иерархической кластеризации?

15

Я использую иерархическую кластеризацию для анализа данных временных рядов. Мой код реализован с использованием функции MathematicaDirectAgglomerate[...] , которая генерирует иерархические кластеры с учетом следующих входных данных:

  • матрица расстояний D

  • название метода, используемого для определения межкластерной связи.

Я рассчитал матрицу расстояний D, используя расстояние Манхэттен:

d(x,y)=i|xiyi|

где и n 150 - количество точек данных в моем временном ряду.i=1,,nn150

У меня вопрос: можно ли использовать межкластерную связь Уорда с матрицей расстояний Манхэттена? Некоторые источники предполагают, что связь Уорда должна использоваться только с евклидовым расстоянием.

Обратите внимание, что для DirectAgglomerate[...]расчета связи Уорда используется только матрица расстояний, а не исходные наблюдения. К сожалению, я не уверен, как Mathematica модифицирует оригинальный алгоритм Уорда, который (из моего понимания) работал, сводя к минимуму сумму ошибок квадратов наблюдений, вычисленных относительно среднего значения кластера. Например, для кластера состоящего из вектора одномерных наблюдений, Уорд сформулировал сумму ошибок квадратов как:c

(j||cjmean(c)||2)2

(Другие программные инструменты, такие как Matlab и R, также реализуют кластеризацию Уорда, используя только матрицу расстояний, поэтому этот вопрос не является специфическим для Mathematica.)

Рейчел
источник
Недавно я проанализировал довольно большой набор данных, используя метод Уорда. В моем конкретном случае расстояние Манаттана дало по существу ту же группу, что и евклидово расстояние. Я не могу дать вам никаких математических доказательств в пользу какой-либо комбинации методов, но - по крайней мере, в моем случае - на кластеризацию не влиял метод расстояний
Нико
Все функции R не обязательно ждут матрицу расстояний. См , например, он-лайн помощь для agnesв кластере пакета.
ЧЛ
На самом деле можно использовать любое расстояние. Проверьте vlado.fmf.uni-lj.si/pub/preprint/ward.pdf Единственный улов в том, что среднее значение, о котором мы говорим, больше не является средним арифметическим, а средним по Фреше.
Рэнди Лай
но можем ли мы использовать манхэттенское расстояние для полной связи ??
Пайел Банерджи

Ответы:

8

Алгоритм кластеризации Уорда - это иерархический метод кластеризации, который минимизирует критерии «инерции» на каждом этапе. Эта инерция количественно определяет сумму квадратов невязок между уменьшенным сигналом и исходным сигналом: это мера дисперсии ошибки в l2 (евклидовом) чувстве. На самом деле, вы даже упоминаете об этом в своем вопросе. Вот почему, я думаю, нет смысла применять его к матрице расстояний, которая не является евклидовым расстоянием.

С другой стороны, средняя связь или иерархическая кластеризация с одной связью была бы идеально подходящей для других расстояний.

Gael Varoquaux
источник
2
Спасибо за ваш комментарий; Я думаю, что вы правы. Однако на практике кажется, что связь Уорда часто используется с неевклидовыми расстояниями. Я все еще не уверен, каковы могут быть последствия этого.
Рэйчел
Это, вероятно, исходит от людей, использующих Уорд просто потому, что это хорошо известно. Я бы сказал, что Уорд не приносит никакой выгоды по сравнению со средней связью в этих настройках. Однако это более затратно в вычислительном отношении (вам нужно вычислить первые два момента для каждого слияния или предварительно вычислить их). Таким образом, с прагматической точки зрения я бы просто пошел на среднюю связь.
Gael Varoquaux
1
На самом деле, инерция будет определяться с использованием суммы квадратов расстояния (необязательно быть евклидовым), см. Vlado.fmf.uni-lj.si/pub/preprint/ward.pdf
Рэнди Лай
5

Я не могу придумать причину, по которой Уорд должен отдавать предпочтение какой-либо метрике. Метод Уорда - это просто еще один вариант, чтобы решить, какие кластеры следует объединить во время агломерации. Это достигается путем нахождения двух кластеров, слияние которых минимизирует определенную ошибку ( примерный источник для формулы ).

Следовательно, он опирается на две концепции:

  1. Среднее векторов, которое (для числовых векторов) обычно рассчитывается путем усреднения по каждому измерению в отдельности.
  2. Сама метрика расстояния, т.е. понятие подобия, выражается этой метрикой.

Итак: Пока свойства выбранной метрики (например, вращение, перемещение или масштабная инвариантность) удовлетворяют ваши потребности (а метрика соответствует способу вычисления среднего значения кластера), я не вижу никакой причины не использовать его ,

Я подозреваю, что большинство людей предлагают евклидову метрику, потому что они

  • хочу увеличить вес различий между средним значением кластера и одним вектором наблюдения (что делается с помощью квадратов)
  • или потому, что он вышел как лучший показатель в валидации на основе их данных
  • или потому что он используется в целом.
Штеффен
источник
Спасибо за ваш ответ. Я немного прояснил свой вопрос, чтобы подчеркнуть, что алгоритм DirectAgglomerate [...] принимает только матрицу расстояний. Учитывая это, будет ли модифицированная реализация связи Уорда основана на предположении, что матрица расстояний является евклидовой? Например, реализация Matlab связи Уорда отмечает, что она подходит только для евклидовых расстояний ( mathworks.com/help/toolbox/stats/linkage.html ).
Рэйчел
1
@ Рейчел: ааа, понятно. Любая реализация прихода должна рассчитывать расстояние между членами кластера и центроидом. Интуитивно понятно, что метрика, используемая для этого, должна быть эквивалентна метрике, используемой для вычисления расстояний между наблюдениями ... следовательно, для matlab требуется евклидова дистриформация. Но теперь возникает вопрос, почему реализации не запрашивают функцию вместо матрицы расстояний? Какой урон наносится, когда для обеих задач используются разные метрики? Я признаю, я не знаю, это правильно, знаете.
Штеффен
Привет пример удален. любой другой сайт?
MonsterMMORPG
2

111

Суреш Венкатасубраманян
источник