详解马氏距离中的协方差矩阵计算(超详细)

2022-09-13 14:52:39 浏览数 (1)

大家好,又见面了,我是你们的朋友全栈君。

一、概率统计基本知识

1.样本均值 样本均值(Mean)是在总体中的样本数据的平均值。

2.样本方差 方差(Variance)是度量一组数据的离散(波动)程度。方差是各个样本与样本均值的差的平方和的均值,分母除以n-1是为了满足无偏估计:

3.样本标准差

4.协方差 协方差(Covariance)是度量两个变量的变动的同步程度,也就是度量两个变量线性相关性程度。若协方差大于0,表示一个变量增大时另一个变量也会增大,即两个变量呈正相关;若协方差小于0,表示一个变量增大时另一个变量会减小,即两个变量呈负相关;若协方差为0,则统计学上认为二者线性无关。注意两个无关的变量并非完全独立,只是没有线性相关性而已。 协方差的计算公式如下:

5.协方差矩阵 在统计学与概率论中,协方差矩阵的每个元素是各个向量元素之间的协方差,是从标量随机变量到高维度随机向量的自然推广。 协方差矩阵(Covariance matrix)由随机变量集合中两两随机变量的协方差组成。矩阵的第i行第j列的元素是随机变量集合中第i和第j个随机变量的协方差。假设我们有三个n维随机变量X,Y,Z(一般而言,在实际应用中这里的随机变量就是数据的不同维度。切记:协方差矩阵计算的是不同维度之间的协方差,而不是不同样本之间的协方差。):

则n维随机变量X,Y,Z的协方差矩阵为:

其中每个元素值的计算都可以利用上面计算协方差的公式进行。

二、马氏距离(Mahalanobis Distance)

1.定义 马氏距离(Mahalanobis distance)是由印度统计学家马哈拉诺比斯(P. C. Mahalanobis)提出的,表示点与一个分布之间的距离。它是一种有效的计算两个未知样本集的相似度的方法。与欧氏距离不同的是,它考虑到各种特性之间的联系(例如:一条关于身高的信息会带来一条关于体重的信息,因为两者是有关联的),并且是尺度无关的(scale-invariant),即独立于测量尺度。对于一个均值为μ,协方差矩阵为Σ的多变量行向量x(设x有m个分量,且每个分量都是n维列向量),其马氏距离矩阵为:

其中

可以发现,(x-μ)T是m×n矩阵,Σ是n×n矩阵,(x-μ)是n×m矩阵,所以DM(x)是m×m矩阵,衡量的是向量x不同分量两两之间的马氏距离。

2.马哈拉诺比斯距离也可以定义为两个服从同一分布并且其协方差矩阵为Σ 的样本点x与y的差异程度:

假设x,y都是3维向量,那么由于(x-y)T是1×3矩阵,Σ的逆是3×3矩阵(因为这里我们的数据点有3个维度的属性),(x-y)是3×1矩阵,所以d(x,y)是一个1×1的数值,衡量的是x与y之间的马氏距离。

3.两个样本点的马氏距离计算示例:

Matlab计算协方差矩阵验算(矩阵a的列代表属性,行代表样本点):

得到协方差矩阵后,我们就可以计算出v和x之间的马氏距离了:

Matlab验算:

切记:协方差矩阵计算的是不同维度之间的协方差,而不是不同样本之间的协方差!

发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/153968.html原文链接:https://javaforall.cn

0 人点赞