Выполняется ли неравенство треугольника для этих корреляционных расстояний?

13

Для иерархической кластеризации я часто вижу следующие две «метрики» (они точно не говорят) для измерения расстояния между двумя случайными переменными X и Y :

d1(X,Y)=1|Cor(X,Y)|,d2(X,Y)=1(Cor(X,Y))2
ли либо выполнить неравенство треугольника? Если так, то как мне доказать это, кроме как просто делать грубые расчеты? Если они не являются показателями, что является простым контрпримером?
Линда
источник
Вы можете быть заинтересованы в рецензировании этого документа: arxiv.org/pdf/1208.3145.pdf .
Крис

Ответы:

5

Неравенство треугольника на вашем d1 даст:

d1(X,Z)d1(X,Y)+d1(Y,Z)1|Cor(X,Z)|1|Cor(X,Y)|+1|Cor(Y,Z)||Cor(X,Y)|+|Cor(Y,Z)|1+|Cor(X,Z)|

Это, кажется, довольно простое неравенство, чтобы победить. Мы можем сделать правую часть как можно меньше (ровно одну), сделав X и Z независимыми. Тогда можем ли мы найти Y для которого левая часть превышает единицу?

Если и и имеют одинаковую дисперсию, то и аналогично для , поэтому левая часть значительно выше единицы, и неравенство нарушается. Пример этого нарушения в R, где и - компоненты многомерной нормали:X Z C o r ( X , Y ) = Y=X+ZXZCor(Y,Z)XZCor(X,Y)=220.707Cor(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

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 ) = 1d2SigmaVar(X)=2Var(Z)=1Cov(X,Z)=1

Var(Y)=Var(X+Y)=Var(X)+Var(Z)+2Cov(X,Z)=2+1+2=5

Мы также можем исследовать ковариации:

C o v ( Y , Z ) = C o v ( X + Z , Z

Cov(X,Y)=Cov(X,X+Z)=Cov(X,X)+Cov(X,Z)=2+1=3
Cov(Y,Z)=Cov(X+Z,Z)=Cov(X,Z)+Cov(Z,Z)=1+1=2

Тогда квадратные корреляции: Cor(X,Y)2=Cov(X,Y)2

Cor(X,Z)2=Cov(X,Z)2Var(X)Var(Z)=122×1=0.5
Cor(Y,Z)2=Cov(Y,Z)2
Cor(X,Y)2=Cov(X,Y)2Var(X)Var(Y)=322×5=0.9
Cor(Y,Z)2=Cov(Y,Z)2Var(Y)Var(Z)=225×1=0.8

Тогда тогда как и поэтому неравенство треугольника существенно нарушается.d 2 ( X , Y ) = 0,1 d 2 ( Y , Z ) = 0,2d2(X,Z)=0.5d2(X,Y)=0.1d2(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
тарпон
источник
5

Давайте три вектора (это может быть переменными или физическими лицами) , и . И мы стандартизировали каждый из них по z-баллам (среднее = 0, дисперсия = 1).Y ZXYZ

Тогда согласно теореме косинуса ("закон косинусов") квадрат евклидова расстояния между двумя стандартизированными векторами (скажем, X и Y) будет , где , косинусное сходство, является Пирсоном из-за z-стандартизации векторов. Мы можем смело опустить константу множителя из нашего рассмотрения.dXY2=2(n1)(1cosXY)cosXYrXY2(n1)

Итак, получается, что расстояние, выраженное в вопросе какбыло бы квадратом евклидова расстояния, если бы формула не игнорировала знак коэффициента корреляции.d1(X,Y)=1|Cor(X,Y)|

Если матрицаs оказывается градиентным (положительный полуопределенный), тогда корень квадратный из расстояния "d1" - это евклидово расстояние, которое, конечно, является метрикой. С небольшими матрицамиэто часто бывает или почти всегда, когда расстояния не очень хорошо сходятся в евклидовом пространстве. Поскольку метрика является более широким классом, чем евклидова, данная матрица расстояний "sqrt (d1)" может ожидать появления метрики довольно часто.|r||r|

Что касается «d1» как такового, которое является «подобным» квадрату евклидова расстояния, оно определенно неметрическое. Даже истинное квадратное евклидово расстояние не является метрикой: оно иногда нарушает принцип неравенства треугольника. [В кластерном анализе квадрат евклидова расстояния используется довольно часто; тем не менее, в большинстве таких случаев подразумевается построение анализа на неквадратном расстоянии, а квадраты - просто удобный вход для вычислений.] Чтобы увидеть это (о квадрате евклидова ), давайте нарисуем наши три вектора.d

введите описание изображения здесь

Векторы имеют единичную длину (потому что стандартизированы). Косинусы углов ( , , ) равны , , соответственно. Эти углы распространяют соответствующие евклидовы расстояния между векторами: , , . Для простоты все три вектора находятся в одной плоскости (и поэтому угол между и является суммой двух других, ). Это положение, в котором нарушение неравенства треугольника квадратами расстояний является наиболее заметным.αβα+βrXYrXZrYZdXYdXZdYZXZα+β

Ибо, как вы можете видеть глазами, площадь зеленого квадрата превышает сумму двух красных квадратов: .dYZ2>dXY2+dXZ2

Поэтому относительно

d1(X,Y)=1|Cor(X,Y)|

Расстояние можно сказать, что это не метрика. Потому что даже когда все были изначально положительными, расстояние является евклидовым которое само не является метрическим.rd2

Что насчет второй дистанции?

d2(X,Y)=1(Cor(X,Y))2

Поскольку корреляция в случае стандартизированных векторов равна , есть . (Действительно, - это линейная регрессия, величина, которая является квадратом корреляции зависимой переменной с чем-то, ортогональным к предиктору.) В этом случае нарисуйте синусы векторов и сделайте их квадратными (потому что мы речь идет о расстоянии, которое ):rcos1r2sin21r2SSerror/SStotalsin2

введите описание изображения здесь

Хотя визуально это не совсем очевидно, зеленый снова больше, чем сумма красных областей .sinYZ2sinXY2+sinXZ2

Это может быть доказано. На плоскости . Квадрат с обеих сторон, так как мы заинтересованы в .sin(α+β)=sinαcosβ+cosαsinβsin2

sin2(α+β)=sin2α(1sin2β)+(1sin2α)sin2β+2sinαcosβcosαsinβ=sin2α+sin2β2[sin2αsin2β]+2[sinαcosαsinβcosβ]

В последнем выражении два важных термина показаны в скобках. Если второе из этих двух (или может быть) больше первого, то и расстояние "d2" нарушается треугольное неравенство. И это так на нашей картинке, где составляет около 40 градусов, а составляет около 30 градусов (термин 1 равен, а термин 2 есть ). «D2» не является метрическойα βsin2(α+β)>sin2α+sin2βαβ.1033.2132

Квадратный корень расстояния "d2" - синусоидальной меры - хотя и метрический (я считаю). Вы можете играть с различными углами и на моем круге, чтобы убедиться. Будет ли «d2» показывать метрику в неколлинеарной обстановке (т. Е. Три вектора не на плоскости) - я пока не могу сказать, хотя предположительно предположу, что так и будет.βαβ

ttnphns
источник
3

Смотрите также этот препринт, который я написал: http://arxiv.org/abs/1208.3145 . Мне все еще нужно время и правильно представить его. Аннотация:

Мы исследуем два класса преобразований косинусного сходства и корреляций Пирсона и Спирмена в метрические расстояния, используя простой инструмент функций, сохраняющих метрику. Первый класс помещает антикоррелированные объекты максимально далеко друг от друга. Ранее известные преобразования попадают в этот класс. Второй класс сопоставляет коррелированные и антикоррелированные объекты. Примером такого преобразования, которое дает метрическое расстояние, является функция синуса при применении к центрированным данным.

В результате ваш вопрос заключается в том , что d1 , d2 действительно не являются метриками и что квадратный корень из d2 на самом деле является правильной метрикой.

micans
источник
2

Нет.

Простейший контрпример:

для расстояние не определяется вообще, независимо от вашего есть.YX=(0,0)Y

Любой ряд констант имеет стандартное отклонение , и, следовательно, вызывает деление на ноль в определении ...C o rσ=0Cor

Самое большее, это метрика в подмножестве пространства данных, не включающая в себя никаких постоянных рядов.

ВЫЙТИ - Anony-Mousse
источник
Хорошая точка зрения! Я должен упомянуть об этом в препринте, упомянутом в другом месте.
micans