Розуміння обчислень кореляції відстаней


15

Наскільки я зрозумів, кореляція відстані є надійним і універсальним способом перевірити, чи існує зв’язок між двома числовими змінними. Наприклад, якщо у нас є набір пар чисел:

(x1, y1)
(x2, y2)
...
(xn, yn)

ми можемо використовувати кореляцію відстані, щоб перевірити, чи існує якесь (не обов'язково лінійне) відношення між двома змінними ( xта y). Більше того, xі yможуть бути вектори різних розмірів.

Розрахувати кореляцію відстані порівняно легко. Спочатку використовуємо для обчислення матриці відстані. Тоді обчислюємо матрицю відстані, використовуючи y i . Дві матриці відстані матимуть однакові розміри, тому що кількість x i і y i однакове (тому що вони приходять попарно).xiyixiyi

Зараз у нас дуже багато відстаней, які можна спарити. Наприклад, елемент (2,3)з першої матриці відстані з'єднується з елементом (2,3)другої матриці відстані. Отже, у нас є набір пар відстаней і ми можемо використовувати його для обчислення кореляції (кореляції між відстанями).

Якщо два типи відстаней співвіднесені, то це означає, що близькі X зазвичай означають близькі Ys. Наприклад, якщо близький до x 13, ніж це означає, що y 7 , ймовірно, буде близький до y 13 . Отже, можна зробити висновок, що Xs і Ys залежні.x7x13y7y13

Звучить розумно, проте я не розумію двох аспектів .

По-перше , для обчислення кореляції відстані ми не використовуємо дві матриці відстані безпосередньо. Ми застосовуємо до них процедуру подвійного центрування (щоб сума всіх елементів у будь-якому рядку (або стовпчику) була дорівнює нулю). Я не розумію, навіщо нам це робити. Яка логіка (чи інтуїція) за цим кроком?

По-друге , у вихідних матрицях відстані маємо нулі на діагоналі. Отже, якщо обчислити кореляції між відстанями, ми матимемо статистично значущу кореляцію лише тому, що багато нулів з першої матриці поєднані з відповідними нулями у другій матриці. Як вирішується ця проблема?

Відповіді:


16

Відстань коваріації / кореляції (= броунівська коваріація / кореляція) обчислюється в наступних кроках:

  1. Обчислювальна матриця евклідових відстаней між Nвипадками по змінної , а інша також матриця по змінної Y . Будь-яка з двох кількісних ознак, X або Y , може бути багатоваріантною, а не просто одновимірною.XYXY
  2. Виконайте подвійне центрування кожної матриці. Подивіться, як зазвичай робиться подвійне центрування . Однак, в нашому випадку, коли робить це робити НЕ квадратні відстані спочатку і не ділить на , в кінці кінців. Рядок, значення стовпця та загальне середнє значення елементів стають нульовими.2
  3. Помножте дві результативні матриці по елементах і обчисліть суму; або аналогічно, розгорніть матриці на два вектори стовпців і обчисліть їх підсумований перехресний добуток.
  4. Середнє, ділення на кількість елементів, N^2.
  5. Візьміть квадратний корінь. Результатом є відстань ковариации між і Y .XY
  6. Відхилення відстаней - це відстані коваріацій , Y з власними "я", ви також обчислюєте їх, точки 3-4-5.XY
  7. Кореляція відстані отримується з трьох чисел аналогічно тому, як кореляція Пірсона виходить із звичайної коваріації та пари дисперсій: розділіть коваріацію на квадратний корінь добутку на дві дисперсії.

Коваріація відстані (і кореляція) - це не коваріація (або кореляція) між самими відстанями. Саме коваріацію (кореляцію) між спеціальними скалярними добутками (крапковими продуктами) складають матриці "подвійного центру".

У евклідовому просторі скалярний добуток - це подібність, однозначно пов'язана з відповідною відстані. Якщо у вас є дві точки (вектори), ви можете висловити їх близькість як скалярний продукт замість їх відстані, не втрачаючи інформації.

Однак, щоб обчислити скалярний добуток, ви повинні звернутися до точки початку простору (вектори походять від початку). Як правило, можна розмістити походження, де йому подобається, але часто і зручно - розмістити його на геометричній середині хмари точок, середній. Оскільки середнє значення належить до того ж простору, що і той, що охоплюється хмарою, розмірність не набухне.

Тепер звичайне подвійне центрування матриці відстаней (між точками хмари) - це операція перетворення відстаней до скалярних добутків при розміщенні початку в цій геометричній середині. При цьому "мережа" відстаней рівномірно замінюється "сплеском" векторів, певної довжини і парних кутів, від початку:

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

[Сузір'я на моєму прикладі малюнка є планарним, що дає можливість «змінної», скажімо, це , створивши її двовимірною. Коли X є одноколонною змінною, звичайно, всі точки лежать на одній прямій.]XX

Лише трохи формально про операцію подвійного центрування. Нехай мають n points x p dimensionsдані (у універсальному випадку, ). Нехай D - матриця евклідових відстаней між точками. Нехай C - X із стовпцями по центру. Тоді S = двоцентрове  D 2 дорівнює C C ' , скалярні добутки між рядками після хмари точок були центрировані. Основна властивість подвійного центрування полягає в тому, що 1Xp=1Dn x nnCXS=double-centered D2CC, і ця сума дорівнює сумі запереченням звиключеннядіагональних елементівS.12nD2=trace(S)=trace(CC)S

Повернення до кореляції відстані. Що ми робимо, коли обчислюємо коваріацію відстані? Ми перетворили обидві мережі відстаней у відповідні пучки векторів. Потім ми обчислюємо коваріацію (а згодом і кореляцію) між відповідними значеннями двох пучків: кожне скалярне значення добутку (колишнє значення відстані) однієї конфігурації множиться на відповідну конфігурацію іншої. Це можна розглядати як (як було сказано в пункті 3) обчислення звичайної коваріації між двома змінними після векторизації двох матриць у цих "змінних".

Таким чином, ми ковариваємо дві множини подібності (скалярні добутки, які є перетвореними відстанями). Будь-яка коваріація - це поперечний продукт моментів: ви повинні обчислити ці моменти, відхилення від середнього, по-перше, - і подвійне центрування було таким обчисленням. Це відповідь на ваше запитання: коваріація повинна базуватися на моментах, але відстань - це не моменти.

Додаткове взяття квадратного кореня після (пункт 5) здається логічним, оскільки в нашому випадку момент вже був самим собою як коваріація (скалярний продукт і коваріація є конкурентами структурно), і тому ви отримали такий собі вид, що помножили коваріації двічі. Тому для того, щоб повернутися назад на рівень значень вихідних даних (і щоб можна було обчислити значення кореляції), потрібно взяти корінь згодом.

(0,2)12


під "підведеним перехресним продуктом" на кроці 3, ви просто маєте на увазі звичайний скалярний продукт?
kram1032

1
@ kram1032, так scp та скалярний продукт є синонімами stats.stackexchange.com/a/22520/3277
ttnphns

8

Я думаю, що обидва ваші запитання глибоко пов'язані. У той час як початкові діагоналі в матриці відстані дорівнюють 0, те, що використовується для коваріації (що визначає чисельник кореляції), є двозначно центрированими значеннями відстаней - що для вектора з будь-якими варіаціями означає, що діагоналі будуть негативний.

Тож давайте переглянемо простий незалежний випадок і подивимось, чи це дає нам інтуїцію щодо того, чому кореляція дорівнює 0, коли дві змінні незалежні.

(X,Y)=[(0,0),(0,1),(1,0),(1,1)]

XY

a=[0011001111001100]

b=[0101101001011010]

A

A=[.5.5.5.5.5.5.5.5.5.5.5.5.5.5.5.5]

B=[.5.5.5.5.5.5.5.5.5.5.5.5.5.5.5.5]

.5.5=.25.5.5=.25.5.5=.250

0

0ab0.25

(Як вказує ttnphns, саме по собі цього недостатньо, оскільки значення також має значення. Ми можемо зробити те саме подвійне центрування, але якщо додати їх у квадратурі, ми втратимо властивість "if" і "лише".


1
Не заперечуєте, якби я редагував матриці у цій відповіді?
shadowtalker

@ssdecontrol дякую за пропозицію! Я пройшов і зробив це сам, але не соромтеся вносити будь-які інші зміни форматування.
Меттью Грейвс

1
Я не зовсім розумію, що ви маєте на увазі під "єдиним" у цьому випадку (це те, що сказав Маттей чи інше?) Що для мене насправді загадкове / важливе (як я це висловив у кінці своєї відповіді), чому ( теоретично) , коли ми виконуємо подвійну центрування без зведення в квадрат відстані перших ми полегшуємо Dcov мати свої унікальні і корисні властивості.
ttnphns

1
@ttnphns: Під одним центром я мав на увазі віднімання великої середньої значення від кожного значення відстані. У будь-якому випадку я згоден, що коваріація відстані є загадковою.
амеба каже, що повернеться до Моніки

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