Чи виконується нерівність трикутника для цих відстаней на основі кореляції?


13

Для ієрархічної кластеризації я часто бачу наступні дві "метрики" (вони точно не говорять) для вимірювання відстані між двома випадковими змінними і : \ newcommand {\ Cor} {\ mathrm {Cor}} \ begin {align} d_1 (X, Y) & = 1- | \ Cor (X, Y) |, \\ d_2 (X, Y) & = 1 - (\ Cor (X, Y)) ^ 2 \ end {align} Чи можна виконати нерівність трикутника? Якщо так, як я можу це довести, окрім того, щоб просто робити розрахунок грубої сили? Якщо вони не є метриками, що таке простий лічильник приклад?XY

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, де і є компонентами багатовимірної норми:Y=X+ZXZCor(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, поки не вискочив хороший контрприклад. Дозволення , і дає:d2SigmaVar(X)=2Var(Z)=1Cov(X,Z)=1

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

Ми також можемо досліджувати коваріації:

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

Тоді а і тому нерівність трикутника порушується за суттєвим запасом.d2(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).XYZ

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

Отже, виходить, що відстань, виражена у запитанні, якбула б квадратна евклідова відстань, якби формула не ігнорувала знак коефіцієнта кореляції.d1(X,Y)=1|Cor(X,Y)|

Якщо матрицяs трапляється граміаном (позитивний напівдефініт), тоді квадратний корінь відстані "d1" - це евклідова відстань, що, звичайно, є метричною. З не великими матрицяминерідко це випадок або близький до нього випадок, коли відстані недалеко добре сходяться в евклідовому просторі. Оскільки метрика є ширшим класом, ніж евклідова, дана матриця відстаней "sqrt (d1)" може очікувати появи метрики досить часто.|r||r|

Що стосується "d1" як такого, що є "схожим" на евклідову відстань у квадраті , воно, безумовно, неметрічне. Навіть справжня евклідова відстань у квадраті не є метричною: вона порушує іноді принцип нерівності трикутника. [В кластерному аналізі досить часто використовується квадратна евклідова відстань; Однак більшість таких випадків на насправді має на увазі будівництво аналізу на nonsquared відстані, квадрати яких є всього лише зручним входом для розрахунків.] Для того, щоб побачити його (близько квадрата евклидова ), давайте намалюємо наші три вектора.d

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

Вектори мають одиницю довжини (тому що стандартизована). Косинуси кутів ( , , ) , , відповідно. Ці кути поширюють відповідні евклідові відстані між векторами: , , . Для простоти всі три вектори знаходяться в одній площині (і тому кут між і є сумою двох інших, ). Саме положення, в якому порушення нерівності трикутника на відстані у квадраті є найбільш помітним.αβα+βrXYrXZrYZdXYdXZdYZXZα+β

Бо, як ви бачите очима, площа зеленого квадрата перевищує суму двох червоних квадратів: .dYZ2>dXY2+dXZ2

Тому щодо

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

відстань, можна сказати, не метрична. Тому що навіть коли спочатку всі s були позитивними, відстань є евклідовим яке саме по собі не є метричним.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" буде метричним в неколінеарній обстановці (тобто три вектори, які не знаходяться в площині) - я зараз не можу сказати, хоча я попередньо припускаю, що це буде.αβ


3

Дивіться також цей препринт, який я написав: http://arxiv.org/abs/1208.3145 . Мені ще потрібно взяти час і належним чином подати його. Реферат:

Ми досліджуємо два класи перетворень косинусної подібності та співвідношення Пірсона та Спірмена на метричні відстані, використовуючи простий інструмент функцій збереження метрики. Перший клас ставить антикорельовані об'єкти максимально далеко один від одного. Раніше відомі перетворення підпадають під цей клас. Другий клас поєднує співвіднесені та антикорельовані об'єкти. Прикладом такого перетворення, яке дає метричну відстань, є синусова функція при застосуванні до даних, що центрируються.

Підсумок вашого запитання полягає в тому, що d1 , d2 насправді не є метриками і що квадратний корінь d2 насправді є належним показником.


2

Немає.

Найпростіший зустрічний приклад:

для відстань не визначається взагалі, незалежно від вашого є.X=(0,0)Y

Будь-який постійний ряд має стандартне відхилення , і таким чином викликає ділення на нуль у визначенні ...σ=0Cor

Максимум це метрика на підмножині простору даних, не враховуючи будь-яких постійних рядів.


Гарна думка! Я мушу згадати це у попередньому друку, згаданому в інших місцях.
мікан
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.