Для иерархической кластеризации я часто вижу следующие две «метрики» (они точно не говорят) для измерения расстояния между двумя случайными переменными и :
Для иерархической кластеризации я часто вижу следующие две «метрики» (они точно не говорят) для измерения расстояния между двумя случайными переменными и :
Ответы:
Неравенство треугольника на вашем даст:
Это, кажется, довольно простое неравенство, чтобы победить. Мы можем сделать правую часть как можно меньше (ровно одну), сделав и независимыми. Тогда можем ли мы найти для которого левая часть превышает единицу?
Если и и имеют одинаковую дисперсию, то и аналогично для , поэтому левая часть значительно выше единицы, и неравенство нарушается. Пример этого нарушения в R, где и - компоненты многомерной нормали:X Z C o r ( X , Y ) = √Cor(Y,Z)XZ
library(MASS)
set.seed(123)
d1 <- function(a,b) {1 - abs(cor(a,b))}
Sigma <- matrix(c(1,0,0,1), nrow=2) # covariance matrix of X and Z
matrixXZ <- mvrnorm(n=1e3, mu=c(0,0), Sigma=Sigma, empirical=TRUE)
X <- matrixXZ[,1] # mean 0, variance 1
Z <- matrixXZ[,2] # mean 0, variance 1
cor(X,Z) # nearly zero
Y <- X + Z
d1(X,Y)
# 0.2928932
d1(Y,Z)
# 0.2928932
d1(X,Z)
# 1
d1(X,Z) <= d1(X,Y) + d1(Y,Z)
# FALSE
Обратите внимание, что эта конструкция не работает с вашим :
d2 <- function(a,b) {1 - cor(a,b)^2}
d2(X,Y)
# 0.5
d2(Y,Z)
# 0.5
d2(X,Z)
# 1
d2(X,Z) <= d2(X,Y) + d2(Y,Z)
# TRUE
Вместо того, чтобы начинать теоретическую атаку на , на этом этапе мне просто было проще поиграть с ковариационной матрицей в R, пока не хороший контрпример. Если , и получим:V a r ( X ) = 2 V a r ( Z ) = 1 C o v ( X , Z ) = 1Sigma
Мы также можем исследовать ковариации:
C o v ( Y , Z ) = C o v ( X + Z , Z
Тогда квадратные корреляции: Cor(X,Y)2=Cov(X,Y)2
Тогда тогда как и поэтому неравенство треугольника существенно нарушается.d 2 ( X , Y ) = 0,1 d 2 ( Y , Z ) = 0,2
Sigma <- matrix(c(2,1,1,1), nrow=2) # covariance matrix of X and Z
matrixXZ <- mvrnorm(n=1e3, mu=c(0,0), Sigma=Sigma, empirical=TRUE)
X <- matrixXZ[,1] # mean 0, variance 2
Z <- matrixXZ[,2] # mean 0, variance 1
cor(X,Z) # 0.707
Y <- X + Z
d2 <- function(a,b) {1 - cor(a,b)^2}
d2(X,Y)
# 0.1
d2(Y,Z)
# 0.2
d2(X,Z)
# 0.5
d2(X,Z) <= d2(X,Y) + d2(Y,Z)
# FALSE
Давайте три вектора (это может быть переменными или физическими лицами) , и . И мы стандартизировали каждый из них по z-баллам (среднее = 0, дисперсия = 1).Y Z
Тогда согласно теореме косинуса ("закон косинусов") квадрат евклидова расстояния между двумя стандартизированными векторами (скажем, X и Y) будет , где , косинусное сходство, является Пирсоном из-за z-стандартизации векторов. Мы можем смело опустить константу множителя из нашего рассмотрения.
Итак, получается, что расстояние, выраженное в вопросе какбыло бы квадратом евклидова расстояния, если бы формула не игнорировала знак коэффициента корреляции.
Если матрицаs оказывается градиентным (положительный полуопределенный), тогда корень квадратный из расстояния "d1" - это евклидово расстояние, которое, конечно, является метрикой. С небольшими матрицамиэто часто бывает или почти всегда, когда расстояния не очень хорошо сходятся в евклидовом пространстве. Поскольку метрика является более широким классом, чем евклидова, данная матрица расстояний "sqrt (d1)" может ожидать появления метрики довольно часто.
Что касается «d1» как такового, которое является «подобным» квадрату евклидова расстояния, оно определенно неметрическое. Даже истинное квадратное евклидово расстояние не является метрикой: оно иногда нарушает принцип неравенства треугольника. [В кластерном анализе квадрат евклидова расстояния используется довольно часто; тем не менее, в большинстве таких случаев подразумевается построение анализа на неквадратном расстоянии, а квадраты - просто удобный вход для вычислений.] Чтобы увидеть это (о квадрате евклидова ), давайте нарисуем наши три вектора.
Векторы имеют единичную длину (потому что стандартизированы). Косинусы углов ( , , ) равны , , соответственно. Эти углы распространяют соответствующие евклидовы расстояния между векторами: , , . Для простоты все три вектора находятся в одной плоскости (и поэтому угол между и является суммой двух других, ). Это положение, в котором нарушение неравенства треугольника квадратами расстояний является наиболее заметным.
Ибо, как вы можете видеть глазами, площадь зеленого квадрата превышает сумму двух красных квадратов: .
Поэтому относительно
Расстояние можно сказать, что это не метрика. Потому что даже когда все были изначально положительными, расстояние является евклидовым которое само не является метрическим.
Что насчет второй дистанции?
Поскольку корреляция в случае стандартизированных векторов равна , есть . (Действительно, - это линейная регрессия, величина, которая является квадратом корреляции зависимой переменной с чем-то, ортогональным к предиктору.) В этом случае нарисуйте синусы векторов и сделайте их квадратными (потому что мы речь идет о расстоянии, которое ):SSerror/SStotal
Хотя визуально это не совсем очевидно, зеленый снова больше, чем сумма красных областей .
Это может быть доказано. На плоскости . Квадрат с обеих сторон, так как мы заинтересованы в .
В последнем выражении два важных термина показаны в скобках. Если второе из этих двух (или может быть) больше первого, то и расстояние "d2" нарушается треугольное неравенство. И это так на нашей картинке, где составляет около 40 градусов, а составляет около 30 градусов (термин 1 равен, а термин 2 есть ). «D2» не является метрическойα β.1033
.2132
Квадратный корень расстояния "d2" - синусоидальной меры - хотя и метрический (я считаю). Вы можете играть с различными углами и на моем круге, чтобы убедиться. Будет ли «d2» показывать метрику в неколлинеарной обстановке (т. Е. Три вектора не на плоскости) - я пока не могу сказать, хотя предположительно предположу, что так и будет.β
Смотрите также этот препринт, который я написал: http://arxiv.org/abs/1208.3145 . Мне все еще нужно время и правильно представить его. Аннотация:
Мы исследуем два класса преобразований косинусного сходства и корреляций Пирсона и Спирмена в метрические расстояния, используя простой инструмент функций, сохраняющих метрику. Первый класс помещает антикоррелированные объекты максимально далеко друг от друга. Ранее известные преобразования попадают в этот класс. Второй класс сопоставляет коррелированные и антикоррелированные объекты. Примером такого преобразования, которое дает метрическое расстояние, является функция синуса при применении к центрированным данным.
В результате ваш вопрос заключается в том , что d1 , d2 действительно не являются метриками и что квадратный корень из d2 на самом деле является правильной метрикой.
Нет.
Простейший контрпример:
для расстояние не определяется вообще, независимо от вашего есть.Y
Любой ряд констант имеет стандартное отклонение , и, следовательно, вызывает деление на ноль в определении ...C o r
Самое большее, это метрика в подмножестве пространства данных, не включающая в себя никаких постоянных рядов.