马氏距离和欧氏距离的介绍

转自:http://54pe.javaeye.com/blog/478242

 

马氏距离是由印度统计学家马哈拉诺比斯 (P. C. Mahalanobis)提出的,表示数据的协方差距离。它是一种有效的计算两个未知样本集的相似度的方法。与欧式距离不同的是它考虑到各种特性之间的联 系(例如:一条关于身高的信息会带来一条关于体重的信息,因为两者是有关联的),并且是尺度无关的 (scale-invariant),即独立于测量尺 度。

    马氏距离不受量纲的影响,两点之间的马氏距离与原始数据的测量单位无关;由标准化数据和中心化数据 (即原始数据与均值之差)计算出的二点之间的马氏距离相同。马氏距离还可以排除变量之间的相关性的干扰。它的缺点是夸大了变化微小的变量的作用。

   下面是关于马氏距离的计算方法(参考: http://topic.csdn.net/u/20080911/14/f4402565-3b4f-4de4-a4fa-f4c020dd1477.html

写道

两个样本:
His1 = {3,4,5,6}
His2 = {2,2,8,4}

它们的均值为:
U = {2.5, 3, 6.5, 5}
协方差矩阵为:
S =
| 0.25 0.50 -0.75 0.50 |
| 0.50 1.00 -1.50 1.00 |
|-0.75 -1.50 2.25 -1.50 |
| 0.50 1.00 -1.50 1.00 |
其中 S(i,j)={[His1(i)-u(i)]*[His1(j)-u(j)]+[His2(i)-u(i)]*[His2(j)-u(j)]}/2

下一步就是求出逆矩阵 S^(-1)
马氏距离 D=sqrt{[His1-His2] * S^(-1) * [(His1-His2)的转置列向量 ]}

 

    欧氏距离( http://en.wikipedia.org/wiki/Euclidean_distance )即两项间的差是每个变量值差的平方和再平方根,目的是计算其间的整体距离即不相似性。我们熟悉的欧氏距离虽然很有用,但也有明显的缺点。它将样品的不同 属性(即各指标或各变量)之间的差别等同看待,这一点有时不能满足实际要求。例如,在教育研究中,经常遇到对人的分析和判别,个体的不同属性对于区分个体 有着不同的重要性。因此,有时需要采用不同的距离函数。

 

    补充说明:(来源: http://topic.csdn.net/u/20090819/15/4d4ccbe6-f186-48e6-a150-61c1f41dc4d2.html

写道

马氏距离( Mahalanobis distances
1)马氏距离的计算是建立在总体样本的基础上的,这一点可以从上述协方差矩阵的解释中可以得出,也就是说,如果拿同样的两个样本,放入两个不同的总体中,最后计算得出的两个样本间的马氏距离通常是不相同的,除非这两个总体的协方差矩阵碰巧相同;
2)在计算马氏距离过程中,要求总体样本数大于样本的维数,否则得到的总体样本协方差矩阵逆矩阵不存在,这种情况下,用欧式距离来代替马氏距离,也可以理解为,如果样本数小于样本的维数,这种情况下求其中两个样本的距离,采用欧式距离计算即可。
3)还有一种情况,满足了条件总体样本数大于样本的维数,但是协方差矩阵的逆矩阵仍然不存在,比如 A 3 4), B 5 6); C 7 8),这种情况是 因为这三个样本在其所处的二维空间平面内共线(如果是大于二维的话,比较复杂???)。这种情况下,也采用欧式距离计算。
4)在实际应用中总体样本数大于样本的维数这个条件是很容易满足的,而所有样本点出现 3)中所描述的情况是很少出现的,所以在绝大多数情况下,马氏距 离是可以顺利计算的,但是马氏距离的计算是不稳定的,不稳定的来源是协方差矩阵,这也是马氏距离与欧式距离的最大差异之处。
我们熟悉的欧氏距离虽然很有用,但也有明显的缺点。它将样品的不同属性(即各指标或各变量)之间的差别等同看待,这一点有时不能满足实际要求。马氏距离有 很多优点。它不受量纲的影响,两点之间的马氏距离与原始数据的测量单位无关;由标准化数据和中心化数据 (即原始数据与均值之差)计算出的二点之间的马氏距 离相同。马氏距离还可以排除变量之间的相关性的干扰。它的缺点是夸大了变化微小的变量的作用。

 

你可能感兴趣的:(c,教育,distance)