Иерархическая кластеризация с данными смешанного типа - какое расстояние / сходство использовать?

34

В моем наборе данных у нас есть как непрерывные, так и естественно дискретные переменные. Я хочу знать, можем ли мы сделать иерархическую кластеризацию, используя оба типа переменных. И если да, то какое расстояние подходит?

Бета
источник
Какое программное обеспечение вы используете?
rolando2
@ rolando2: я использую R (пакет hclus).
бета,
1
Есть ли причина для использования иерархической кластеризации?
Suncoolsu
Na. Я просто задаю этот вопрос ради моих знаний. Можем ли мы сделать иерархический, когда у нас смешанный тип данных. Если да, то почему? Если нет, то почему?
бета,
@ user4278 Ну, какова твоя цель в порядке ? Вы ищете для идентификации кластеров (отдельных лиц)?
ЧЛ

Ответы:

45

Одним из способов является использование коэффициента подобия Гауэра, который является составной мерой ; он принимает количественные (такие как рейтинговая шкала), бинарные (такие как присутствующие / отсутствующие) и номинальные (такие как работник / учитель / делопроизводитель) переменные. Позже Podani добавил опцию для определения порядковых переменных.12

Коэффициент легко понять даже без формулы; Вы вычисляете значение сходства между людьми по каждой переменной, принимая во внимание тип переменной, а затем усредняете по всем переменным. Обычно программа вычисления Gower позволяет вам взвешивать переменные, то есть их вклад, в составную формулу. Тем не менее, правильное взвешивание переменных различного типа является проблемой , четких руководящих принципов не существует, что делает Гауэра или другие «составные» показатели близости близкими.

Грани сходства Гауэра ( ):гS

  • Когда все переменные являются количественными (интервал), тогда коэффициент является нормированным по Манхэттену расстоянием, преобразованным в подобие. Из-за нормализации переменные различных единиц могут быть безопасно использованы. Однако не следует забывать о выбросах. (Вы также можете принять решение о нормализации с помощью другого показателя разброса, отличного от диапазона.) Из-за упомянутой нормализации с помощью статистики, например, диапазона, который чувствителен к составу отдельных лиц в наборе данных, сходство Gower между некоторыми двумя индивидуумами может изменить его значение. если вы удалите или добавите некоторых других лиц в данные.
  • Когда все переменные являются порядковыми, тогда они сначала ранжируются, а затем вычисляется Манхэттен, как указано выше, с количественными переменными, но со специальной поправкой на связи.
  • Когда все переменные являются двоичными (с асимметричной значимостью категорий: атрибут «присутствует» или «отсутствует»), то этот коэффициент является коэффициентом сопоставления Жакара (этот коэффициент обрабатывается, когда оба индивида не имеют атрибута как ни совпадения, ни несовпадения).
  • Когда все переменные являются номинальными (также включая здесь дихотомические с симметричным значением: «это» против «того»), тогда этот коэффициент является коэффициентом сопоставления кубиков, который вы получаете из своих номинальных переменных, если перекодировать их в фиктивные переменные (подробнее см. Этот ответ ) ,

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

Коэффициент находится в диапазоне от 0 до 1.

« Расстояние Гауэр ». Без порядковых переменных (т.е. без использования параметра Подани) ведет себя как евклидово расстояние, оно полностью поддерживает евклидово пространство. Но только метрическая (поддерживает треугольное неравенство), а не евклидова. При наличии порядковых переменных (с использованием параметра Подани) является только метрической, а не евклидовой; и вообще не метрический. Смотрите также .1-гS1-гS1-гS1-гS

С евклидовыми расстояниями (расстояниями, поддерживающими евклидово пространство) подойдет практически любой классический метод кластеризации. Включая K-средние (если ваша программа K-средних может, конечно, обрабатывать матрицы расстояний), а также методы Уорда, центроида и медианы иерархической кластеризации . Использование K-средних или других тех методов, основанных на евклидовом расстоянии с неевклидовым по-прежнему метрическим расстоянием , возможно, эвристически допустимо. При неметрических расстояниях такие методы не могут быть использованы.

В предыдущем пункте , если переговоры о K-средних или Уорд или такая кластеризацией является законной или нет с Гоуэром расстоянием математически (геометрический). С точки зрения шкалы измерения («психометрической») не следует вычислять среднее значение или отклонение от евклидова расстояния от него в любых категориальных (номинальных, двоичных, а также порядковых) данных; поэтому с этой позиции вы просто не можете обрабатывать коэффициент Гауэра с помощью K-средних, Уорда и т. д. Эта точка зрения предупреждает, что даже если присутствует евклидово пространство, оно может быть гранулированным, а не гладким ( см. связанный ).


1 Гауэр Дж.С. Общий коэффициент подобия и некоторые его свойства // Биометрия, 1971, 27, 857-872

2 Подани, Дж. Расширение общего коэффициента сходства Гауэра с порядковыми знаками // Таксон, 1999, 48, 331-340

ttnphns
источник
Спасибо ttnphns! Подскажите, пожалуйста, "Коэффициент подобия Гауэра" интегрирован в пакет hclus в R? Есть ли в R пакет с такой функциональностью?
бета
Я не пользователь R, поэтому не знаю, и не думаю, что вы найдете его в hclus. Но если вы Google "Gowerхожесть R", вы обязательно найдете то, что вам нужно!
ttnphns
user4278, на всякий случай, если вы не избегаете SPSS, у меня есть макрос для сходства Gower на моей веб-странице. Он принимает взвешивание и пропущенные данные.
ttnphns
@ user4278 О R конкретно, начните здесь: cran.r-project.org/web/views/Environmetrics.html
chl
@ttnphns: Спасибо тебе! Я посетил ваш сайт, и это отличный ресурс для SPSS. Но, к сожалению, я не слишком часто использую SPSS. Но я обязательно воспользуюсь им, если ничего не получу в R. @ chl: Спасибо! Но это огромный список. Я где-то читал, что Daisy в кластерном пакете обладает функциональностью сходства Gower.
бета
15

Если вы натолкнулись на этот вопрос и задаетесь вопросом, какой пакет загрузить для использования метрики Gower в R , в clusterпакете есть функция daisy () , которая по умолчанию использует метрику Gower всякий раз, когда используются смешанные типы переменных. Или вы можете вручную установить его для использования метрики Гауэра.

daisy(x, metric = c("euclidean", "manhattan", "gower"),
      stand = FALSE, type = list(), weights = rep.int(1, p))
Zhubarb
источник
4
В дополнении к ответу Zhubarb в , если вы хотите расстояние Гоуэра между всеми парами из двух наборов данных, а затем увидеть пакет R StatMatch.
Джеймс Хиршорн