距离估计算法,数据分析基础距离度量方式
距离估计算法,数据分析基础距离度量方式左图:欧 右图:马氏考虑到各种特性之间的联系,并且是尺度无关的(因为也经过标准化),表示数据的协方差距离。欧式距离近就一定相似?身高和体重,这两个变量拥有不同的单位,不同的scale。比如身高用米计算,而体重用千克计算,差1m的身高与差10kg的体重的概念是相同的吗?实际上未必。但是,在普通的欧氏距离中,会被视为相同的。Mahalanobis distance
数据分析中,为了评定数据之间的相似度,有很多不同的距离的计算方法,如欧氏距离,马氏距离等等。
欧氏距离Euclidean distance:欧几里得距离,m维空间中两个点之间的真实距离
- 离差平方和,开根号,得到结果
- 二维平面上点a(x1 y1)与b(x2 y2)间的欧氏距离
- 不一定需要进行中心化和标准化
公式表示:
标准化欧氏距离 (Standardized Euclidean Distance):将各个分量都“标准化”到均值、方差相等所得出的距离。
欧式距离近就一定相似?
身高和体重,这两个变量拥有不同的单位,不同的scale。比如身高用米计算,而体重用千克计算,差1m的身高与差10kg的体重的概念是相同的吗?实际上未必。但是,在普通的欧氏距离中,会被视为相同的。
马氏距离Mahalanobis distance
考虑到各种特性之间的联系,并且是尺度无关的(因为也经过标准化),表示数据的协方差距离。
- 是欧氏距离的一种修正(主成分空间中的欧氏距离)
- 简单来说 马氏距离是在原来的基础上进行旋转 旋转后在进行标准化 得出的距离。
左图:欧 右图:马氏
公式表示:
有M个样本向量X1~Xm,协方差矩阵记为S,均值记为向量μ,则其中样本向量X到μ的马氏距离表示为:
向量Xi与Xj之间的马氏距离定义为:
若协方差矩阵是单位矩阵(各个样本向量之间独立同分布),则Xi与Xj之间的马氏距离等于他们的欧氏距离:
若协方差矩阵是对角矩阵,则就是标准化欧氏距离。
曼哈顿距离Manhattan Distance顾名思义,在曼哈顿街区要从一个十字路口开车到另一个十字路口,驾驶距离显然不是两点间的直线距离,而是实际驾驶距离就是“曼哈顿距离”。
曼哈顿距离:只可以沿着方格走的实际距离
公式表示:
二维平面两点a(x1 y1)与b(x2 y2)间的曼哈顿距离:
n维空间点a(x11 x12 … x1n)与b(x21 x22 … x2n)的曼哈顿距离: