马氏距离[1],全称马哈拉诺比斯距离,是由印度统计学家马哈拉诺比斯(P. C. Mahalanobis)提出的,表示数据的协方差距离。它是一种有效的计算两个未知样本集的相似度的方法。与欧氏距离不同的是它考虑到各种特性之间的联系(例如:一条关于身高的信息会带来一条关于体重的信息,因为两者是有关联的),并且是尺度无关的,即独立于测量尺度。
当p为2时,欧式距离即为平面上两个点的直线距离,在p维空间中,欧式距离即为p维空间上两个点的直线距离。
为了数学上的表达方便,我们经常使用平方欧式距离:
由公式可知,如果各分量的单位不全相同,则上述欧式距离是无意义的。即使各分量的单位相同,如果各分量的方差不同,那么欧式距离也会受到较大方差分量的影响。
为了便于理解,我们看一下 到样本均值的平方欧式距离:
由于为随机变量,应在平均的角度观察每一项所起作用的大小,则有:
从公式中可以看出,方差越大,随机分量起的作用就越大。此处如果对各分量都做了标准化变换,则各分量方差均为1,因此平方和中各分量所起的平均作用都一样,
虽然欧式距离经变量的标准化之后能够消除各变量的单位或方差的不同影响,但不能消除变量之间相关性带来的不利影响。如图所示[2]:
肉眼可见B点应该更加离群,但是经过标准化之后求欧式距离发现A点离原点更远,也就是A点更离群,这与我们的直觉相违背,主要原因在于和有明显的线性相关关系,这对于欧式距离的计算会产生不利的影响。
那么如何克服分量之间的相关性对于欧式距离计算的影响呢?我们可以考虑对,坐标轴做一定程度的旋转,旋转成构成的新坐标轴,此处可以使得和不相关,由于和的方差不一样,那么同样可以通过标准化变化使得和方差一样,新坐标系下两个点之间的欧式距离即为马氏距离。马氏距离的公式定义如下:
下面详细介绍一下马氏距离的推导过程:
因此,对x做线性变换后得到新随机变量y里面的各分量是线性无关的,其协方差矩阵是对角矩阵,y的方差为,我们还需要对y做标准化处理,使得y的方差变为1,形成新的y,变换公式如下:
因而,对于旋转压缩后的的各分量之间线性无关,而且已经标准化,同时与尺度无关。因而这里可以直接使用欧氏距离描述两点之间的距离,公式如下:
证毕
以上可以看出,只需要将变量按照主成分进行旋转,从而让随机变量的各分量相互独立,然后进行标准化后的欧式距离即为马氏距离,对x的各分量做线性变换后,马氏距离保持不变,马氏距离是一个与各变量单位无关的纯数值.