Понимание расчетов корреляции расстояний

15

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

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

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

Относительно легко вычислить корреляцию расстояний. Сначала мы используем xi для вычисления матрицы расстояний. Затем мы вычисляем матрицу расстояний, используя . Две матрицы расстояний будут иметь одинаковые размеры, потому что число и одинаково (потому что они идут парами).yixiyi

Сейчас у нас много расстояний, которые можно спарить. Например, элемент (2,3)из первой матрицы расстояний связан с элементом (2,3)из второй матрицы расстояний. Итак, у нас есть набор пар расстояний, и мы можем использовать его для вычисления корреляции (корреляции между расстояниями).

Если два типа расстояний коррелируют, это означает, что близкие значения X обычно означают близкие значения Ys. Например, если близко к это означает, что , вероятно, будет близко к . Итак, мы можем сделать вывод, что 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) кажется логичным, потому что в нашем случае момент уже сам по себе был своего рода ковариацией (скалярное произведение и ковариация являются структурно конкурирующими ), и так получилось, что вы стали своего рода умноженными ковариациями дважды. Поэтому, чтобы вернуться обратно на уровень значений исходных данных (и чтобы иметь возможность вычислить значение корреляции), необходимо впоследствии получить корень.

Одно важное примечание должно наконец уйти. Если бы мы делали двойное центрирование по его классическому пути, то есть после возведения в квадрат евклидовых расстояний, то мы бы получили ковариацию расстояния, которая не является истинной ковариацией расстояния и бесполезна. Он будет казаться вырожденным в величину, точно связанную с обычной ковариацией (и дистанционная корреляция будет функцией линейной корреляции Пирсона). Что делает ковариацию / корреляцию расстояний уникальной и способной измерять не линейную ассоциацию, а общую форму зависимости , так что dCov = 0 тогда и только тогда, когда переменные независимы, - это отсутствие возведения в квадрат расстояний при выполнении двойного центрирования (см. пункт 2). На самом деле, любая степень расстояния в диапазоне сделал бы, однако, стандартная форма сделать это на власть 1 . Почему эта сила, а не сила 2 способствует тому, что коэффициент становится мерой нелинейной взаимозависимости, является довольно сложной (для меня) математической проблемой, имеющейхарактерные функциираспределений, и я хотел бы услышать кого-то более образованного, чтобы объяснить здесь механику расстояния ковариация / корреляция с возможно простыми словами (я однаждыпопытался, безуспешно).(0,2)12

ttnphns
источник
под «суммированным перекрестным произведением» на шаге 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 и only if.)

Мэтью Грейвс
источник
1
Вы не против, если я отредактирую матрицы в этом ответе?
Shadowtalker
@ssdecontrol спасибо за предложение! Я прошел и сделал это сам, но не стесняйтесь вносить любые другие изменения форматирования.
Мэтью Грейвс
1
Я не совсем понимаю, что вы подразумеваете под «холостяком» в данном случае (это то, что сказал Мэтью или что-то еще?) Что действительно таинственно / важно для меня (как я выразил это в конце моего ответа), почему ( теоретически), когда мы выполняем двойное центрирование, не возводя в квадрат расстояния, мы помогаем dCov приобретать уникальные и полезные свойства.
ttnphns
1
@ttnphns: Под одиночным центрированием я имел в виду вычитание большого среднего из каждого значения расстояния. В любом случае, я согласен, что ковариация расстояния таинственна.
говорит амеба, восстанови Монику
1
@amoeba Я хотел бы, чтобы авторы написали продолжение с неким интуитивным объяснением и эффективной реализацией для нескольких пар переменных. Это приближается к десятилетию, так как их оригинальная бумажная и дистанционная ковариация все еще главным образом - просто безумное отклонение для аспирантов. единственный раз, когда я видел его на практике, был в нереализованной функции в Stan для диагностики цепочек MC
shadowtalker