马氏距离

匿名 (未验证) 提交于 2019-12-03 00:21:02

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

主要是针对马氏距离的计算,很多博客没有说清楚,进行进一步的细化

两个样本:

His1 = {3,4,5,6}
His2 = {2,2,8,4}

它们的均值为:
U = {2.5, 3, 6.5, 5}

其中S(i,j)={[His1(i)-u(i)]*[His1(j)-u(j)]+[His2(i)-u(i)]*[His2(j)-u(j)]}/2

S(1,1 ) = {[Hist1(1) - u(1)] * [Hist1(1) - u(i)] + [Hist2(1) - u(1)] * [Hist2(1) - u(1)]}/2 s(1,1) = ((3-2.5)(3-2.5)+(2-2.5)*(2-2.5))/2 = 0.25  S(1,2 ) = {[Hist1(1) - u(1)] * [Hist1(2) - u(2)] + [Hist2(1) - u(1)] * [Hist2(2) - u(2)]}/2 s(1,2) = ((3-2.5)(4-3)+(2-2.5)*(2-3))/2 =(0.5*1 + (-0.5)*(-1)) /2 = 1/2 = 0.5
协方差矩阵为:
S =
| 0.25 0.50 -0.75 0.50 |

|-0.75 -1.50 2.25 -1.50 |

| 0.50 1.00 -1.50 1.00 |

下一步就是求出逆矩阵S^(-1)

可以使用python的科学计算库scipy,计算逆矩阵

马氏距离 D=sqrt{[His1-His2] * S^(-1) * [(His1-His2)的转置列向量]}




原地址:http://54pe.iteye.com/blog/478242

文章来源: 马氏距离
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!