了解距离相关计算


15

据我了解,距离相关是一种健壮且通用的方法,用于检查两个数字变量之间是否存在关系。例如,如果我们有一组数字对:

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

我们可以使用距离相关来检查两个变量(xy)之间是否存在任何(不一定是线性的)关系。而且,x并且y可以是不同维度的向量。

计算距离相关性相对容易。首先,我们使用计算距离矩阵。然后我们使用计算距离矩阵。这两个距离矩阵的维数相同,因为x_iy_i的数目相同(因为它们成对出现)。ÿ X ÿ xiyixiyi

现在我们有很多距离可以配对。例如,(2,3)来自第一距离矩阵的元素(2,3)与来自第二距离矩阵的元素配对。因此,我们有一组成对的距离,我们可以用它来计算相关性(距离之间的相关性)。

如果两种类型的距离相关,则意味着接近Xs通常意味着接近Ys。例如,如果接近,则意味着y_7可能接近y_ {13}。因此,我们可以得出结论,Xs和Ys是相关的。x 13 y 7 y 13x7x13y7y13

听起来很合理,但是我不了解两个方面

首先,要计算距离相关性,我们不直接使用两个距离矩阵。我们对其应用双重居中过程(以便任何行(或列)中所有元素的总和等于零)。我不明白为什么我们需要这样做。此步骤背后的逻辑(或直觉)是什么?

其次,在原始距离矩阵中,对角线上有零。因此,如果我们计算距离之间的相关性,则将具有统计上显着的相关性,因为第一矩阵中的许多零与第二矩阵中的对应零成对。该问题如何解决?

Answers:


16

距离协方差/相关性(=布朗协方差/相关性)按以下步骤计算:

  1. N用变量计算个案之间的欧氏距离矩阵,以及同样用变量计算另一个矩阵。或这两个定量特征中的任何一个都可能是多元变量,而不仅仅是单变量。Y X YXYXY
  2. 对每个矩阵进行两次居中。了解通常如何进行双重居中。然而,在我们的情况下,这样做时,它也不会广场的距离最初并不会分裂到底。元素的行,列均值和总体均值变为零。2
  3. 将两个结果矩阵逐元素相乘并计算总和;或者等效地,将矩阵解包为两个列向量,然后计算它们的求和积。
  4. 平均值,除以元素数,N^2
  5. 求平方根。结果是和之间的距离协方差ÿXY
  6. 距离方差是,与自己的距离的协方差,您同样可以计算它们,即点3-4-5。ÿXY
  7. 从三个数字获得距离相关性,类似于从通常的协方差和方差对中如何获得Pearson相关性:将协方差除以两个方差乘积的平方根。

距离协方差(和相关性)不是距离本身之间的协方差(或相关性)。构成“双中心”矩阵的特殊标量积(点积)之间的协方差(相关)。

在欧几里德空间中,标量乘积是与相应距离唯一联系的相似性。如果您有两个点(向量),则可以将它们的接近度表示为标量乘积而不是其距离,而不会丢失信息。

但是,要计算标量积,您必须引用空间的原点(向量来自原点)。通常,可以将原点放置在他喜欢的位置,但是经常且方便的是将其放置在点云的几何中间,即均值。由于均值与被云覆盖的空间属于同一空间,因此维数不会膨胀。

现在,距离矩阵(在云的点之间)通常的双重居中是将距离转换为标量乘积,同时将原点放置在该几何中间的操作。在这种情况下,距离的“网络”被距原点的特定长度和成对角度的向量的“突发”等效地替代:

在此处输入图片说明

[我的示例图片中的星座是平面的,它给出了生成为二维的“变量”,即当然,当是单列变量时,所有点都位于一条线上。]XXX

正式介绍了双重居中操作。设n points x p dimensions数据(在单变量情况下为)。令为点之间的欧几里得距离的矩阵。令为,其列居中。然后等于,即点云定心后行之间的标量积。双重居中的主要属性是,该和等于的对角线元素的求和d Ç X 小号 = 双为本  d 2 c ^ C ^ ' 1Xp=1Dn x nnCXS=double-centered D2CC小号12nD2=trace(S)=trace(CC)S

返回距离相关。计算距离协方差时我们在做什么?我们已经将两个距离网络转换为它们相应的向量束。然后,我们计算两个束的相应值之间的协方差(以及随后的相关性):一种配置的每个标量乘积值(以前的距离值)乘以另一种配置的其对应的一个。可以看成是(如第3点所述),在对两个“变量”中的两个矩阵进行矢量化处理之后,计算两个变量之间的通常协方差。

因此,我们正在协变量化两组相似性(标量积,即转换后的距离)。任何类型的协方差都是矩的叉积:您必须计算这些矩,即与均值的偏差,首先是-并且双中心就是该计算。这就是您的问题的答案:协方差需要基于矩,但距离不是矩。

在(点5)之后再取平方根似乎是合乎逻辑的,因为在我们的情况下,此刻本身已经是一种协方差(标量积和协方差结构上是竞争者),因此得出来,您有两次相乘的协方差。因此,为了下降到原始数据值的水平(并能够计算相关值),必须先扎根。

最后应该注意一个重要的注意事项。如果我们对经典方法进行双重居中(即,对欧几里德距离进行平方后),那么最终的距离协方差将不是真实的距离协方差,也将无用。它看起来会退化为与通常的协方差完全相关的量(并且距离相关将是线性Pearson相关的函数)。是什么使距离协方差/相关性独特并且能够测量线性关联而不是一般性的依存关系,所以当且仅当变量是独立的时,dCov = 0时- 在执行双重定心时缺乏对距离的平方(请参见点2)。实际上,距离的任何幂在范围内1 2(0,2)会这样做,但是标准形式是在电源。为什么这个幂而不是幂有助于系数成为非线性相互依赖的量度(对我来说)是一个非常棘手的(对我来说)具有分布特征函数的数学问题,我想听听一些受过良好教育的人来解释距离的力学与可能简单的单词的协方差/相关性(我曾经尝试过但未成功)。12


通过步骤3中的“求和叉积”,您仅表示正常的标量积吗?
kram1032 '18

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]

每行和每一列的均值为0.5,总均值也为0.5,因此我们从所有值中减去0.5得到: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]

现在,当我们计算样本距离协方差时,即两个矩阵的元素乘积的平均值时,会发生什么?我们可以很容易地看到16个元素,其中4个(对角线!)是对,4个是对,而8个是对,因此总体平均值为,这就是我们想要的。.5.5=.25.5.5=.25.5.5=.250

这只是一个例子,不能证明如果变量是独立的,则距离相关性将为,如果距离相关性为0,则变量将是独立的。(这两种说法的证明都可以在引入距离相关性的2007年论文中找到。)0

我发现居中创建此理想属性(具有特殊意义)是很直观的。如果我们仅取和的元素与乘积的平均值,则最终将得到,并且需要付出一些努力才能确定该数字与独立性相对应。使用负的“均值”作为对角线意味着自然可以解决这个问题。但是您可能想考虑为什么双重居中具有此属性:进行单一居中(使用行,列或均值)是否也可以工作?我们是否可以不调整任何实际距离,而仅将对角线设置为行总和,列总和或总和的负数?0ab0.25

(正如ttnphns指出的那样,仅凭能力本身是不够的,因为功率也很重要。我们可以执行相同的双重居中,但是如果将它们正交相加,则会失去if和only if属性。)


1
如果我将矩阵编辑成这个答案,您介意吗?
shadowtalker

@ssdecontrol感谢您的报价!我自己做了,但是随时进行其他格式更改。
马修·格雷夫斯

1
我不太明白的“单”,在这种情况下,意味着(是什么马修说要不?)什么是真正的神秘/对我很重要(正如我在回答最后表示吧),为什么(从理论上讲),当我们在不对距离进行平方的情况下执行双重居中时,便会促进dCov具有其独特而有用的特性。
ttnphns

1
@ttnphns:通过一次居中,我的意思是从每个距离值中减去均值。无论如何,我同意距离协方差是神秘的。
变形虫说恢复莫妮卡2015年

1
我希望@amoeba的作者能够写出一些直观的解释,并对多对变量进行有效的实现。自从他们的原始论文和距离协方差仍然基本上只是研究生的堂吉otic德式转变以来,它已经快十年了。我见过的唯一一次在实践中使用它是在Stan中当时未实现的功能中,用于诊断MC链
shadowtalker 2015年
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.