马氏距离+协方差公式+无偏估计

阅读: 评论:0

马⽒距离+协⽅差公式+⽆偏估计
以下资源均来⾃互联⽹
马⽒距离与其推导
马⽒距离就是⽤于度量两个坐标点之间的距离关系,表⽰数据的协⽅差距离。与尺度⽆关的(scale-invariant),即独⽴于测量尺度。
基本思想(intuition)道生一
如下图的过程(以两个维度作为例⼦),此例的数据重⼼为原点,P1,P2到原点的欧⽒距离相同,但点P2在y轴上相对原点有较⼤的变异,⽽点P1在x轴上相对原点有较⼩的变异。所以P1点距原点的直观距离是⽐P2点的⼩的。
马⽒距离就是解决这个问题,它将直观距离和欧式距离统⼀。它先将数据不同维度上的⽅差统⼀(即各维度上的⽅差相同),此时的欧式距离就是直观距离
如图:统⼀⽅差后的图,P1到原点的距离⼩于P2。P1’到原点的欧式距离和P2的相同。以上所说的直观距离就是马⽒距离。但是,如果不同维度之间具有相关性,则压缩的效果就不好了。如下图只在横向和纵向上压缩,则达不到上图的压缩效果。
所以在F1⽅向和F2⽅向上压缩数据才能达到较好的效果。所以需要将原始的在X坐标系中的坐标表⽰在F坐标系中。然后再分别沿着坐标轴压缩数据。
所以,计算样本数据的马⽒距离分为两个步骤:
1. 坐标旋转
2. 数据压缩
坐标旋转的⽬标:使旋转后的各个维度之间线性⽆关,所以该旋转过程就是主成分分析的过程。
数据压缩的⽬标:所以将不同的维度上的数据压缩成为⽅差都是1的的数据集。
推导过程
有⼀个原始的多维样本数据Xn×mXn×m(m列,n⾏):
其中每⼀⾏表⽰⼀个测试样本(共n个);
Xi表⽰样本的第i个维度(共m个),以上多为样本数据记为X=(X1,X2…Xm)X=(X1,X2…Xm)。样本的总体均值为
其协⽅差为:
协⽅差矩阵是在具有⼀组样本后,表⽰数据的各维度之间的关系的。其中n是样本的数量
假设将原始数据集 X通过坐标旋转矩阵 U旋转到新的坐标系统中得到⼀个新的数据集 F。(其实 X和 F表⽰的是同⼀组样本数据集,只是由于其坐标值不同,为了易于区分⽤了两个字母表⽰)
新数据集F的均值记为
由于将数据集旋转后数据的各维度之间是不相关的,所以新数据集F的协⽅差矩阵应该为对⾓阵。
由于:
所以:
旧城改造
每个就是每个维度值⽅差。
由于是实对⾓阵,所以U是⼀个正交矩阵。
以上是准备知识,下⾯推导⼀个样本点x=(x1,x2…xm)到重⼼μX=(μX1,μX2…μXm)的马⽒距离。等价于求点f=(f1,f2…fm)压缩后的坐标值到数据重⼼压缩后的坐标值μF=(μF1,μF2…μFm)的欧式距离。
这就是马⽒距离的的计算公式了。
如果x是列向量
如果并把上⽂的重⼼点改为任意⼀个样本点y,则可以得到x和y两个样本点之间的马⽒距离公式为:
以上来⾃
协⽅差公式
统计学的基本概念
学过概率统计的孩⼦都知道,统计⾥最基本的概念就是样本的均值,⽅差,或者再加个标准差。⾸先我们给你⼀个含有n个样本的集合X= {X1,…,Xn},依次给出这些概念的公式描述,这些⾼中学过数学的孩⼦都应该知道吧,⼀带⽽过。
很显然,均值描述的是样本集合的中间点,它告诉我们的信息是很有限的,⽽标准差给我们描述的则是样本集合的各个样本点到均值的距离之平均。以这两个集合为例,[0,8,12,20]和[8,9,11,12],两个集合的均值都是10,但显然两个集合差别是很⼤的,计算两者的标准差,前者是8.3,后者是1.8,显然后者较为集中,故其标准差⼩⼀些,标准差描述的就是这种“散布度”。之所以除以n-1⽽不是除以n,是因为这样能使我们以较⼩的样本集更好的逼近总体的标准差,即统计上所谓的“⽆偏估计”。⽽⽅差则仅仅是标准差的平⽅。
教育体制改革为什么需要协⽅差?
⾯⼏个统计量看似已经描述的差不多了,但我们应该注意到,标准差和⽅差⼀般是⽤来描述⼀维数据的,但现实⽣活我们常常遇到含有多维数据的数据集,最简单的⼤家上学时免不了要统计多个学科的考试成绩。⾯对这样的数据集,我们当然可以按照每⼀维独⽴的计算其⽅差,但是通常我们还想了解更多,⽐如,⼀个男孩⼦的猥琐程度跟他受⼥孩⼦欢迎程度是否存在⼀些联系啊,嘿嘿~协⽅差就是这样⼀种⽤来度量两个随机变量关系的统计量,我们可以仿照⽅差的定义:
来度量各个维度偏离其均值的程度,标准差可以这么来定义:
协⽅差的结果有什么意义呢?如果结果为正值,则说明两者是正相关的(从协⽅差可以引出“相关系数”的定义),也就是说⼀个⼈越猥琐就越受⼥孩⼦欢迎,嘿嘿,那必须的~结果为负值就说明负相关的,越猥琐⼥孩⼦越讨厌,可能吗?如果为0,也是就是统计上说的“相互独⽴”。
从协⽅差的定义上我们也可以看出⼀些显⽽易见的性质,如:
协⽅差多了就是协⽅差矩阵
上⼀节提到的猥琐和受欢迎的问题是典型⼆维问题,⽽协⽅差也只能处理⼆维问题,那维数多了⾃然就需要计算多个协⽅差,⽐如n维的数据集就需要计算个协⽅差,那⾃然⽽然的我们会想到使⽤矩阵来组织这些数据。给出协⽅差矩阵的定义:
这个定义还是很容易理解的,我们可以举⼀个简单的三维的例⼦,假设数据集有{x,y,z}{x,y,z}三个维度,则协⽅差矩阵为:
上海电力学院图书馆
可见,协⽅差矩阵是⼀个对称的矩阵,⽽且对⾓线是各个维度上的⽅差。
Matlab协⽅差实战
上⾯涉及的内容都⽐较容易,协⽅差矩阵似乎也很简单,但实战起来就很容易让⼈迷茫了。必须要明确⼀点,### 协⽅差矩阵计算的是不同维度之间的协⽅差,⽽不是不同样本之间的。这个我将结合下⾯的例⼦说明,以下的演⽰将使⽤Matlab,为了说明计算原理,不直接调⽤Matlab的cov函数。
⾸先,随机产⽣⼀个10*3维的整数矩阵作为样本集,10为样本的个数,3为样本的维数。
MySample = fix(rand(10,3)*50)
根据公式,计算协⽅差需要计算均值,那是按⾏计算均值还是按列呢,我⼀开始就⽼是困扰这个问题。前⾯我们也特别强调了,协⽅差矩阵是计算不同维度间的协⽅差,要时刻牢记这⼀点。样本矩阵
的每⾏是⼀个样本,每列为⼀个维度,所以我们要### 按列计算均值。为了描述⽅便,我们先将三个维度的数据分别赋值:
dim1 = MySample(:,1);
一周立波秀2011集全集高清dim2 = MySample(:,2);
dim3 = MySample(:,3);
计算dim1与dim2,dim1与dim3,dim2与dim3的协⽅差:
sum( (dim1-mean(dim1)) .* (dim2-mean(dim2)) ) / ( size(MySample,1)-1 ) % 得到  74.5333
sum( (dim1-mean(dim1)) .* (dim3-mean(dim3)) ) / ( size(MySample,1)-1 ) % 得到  -10.0889
sum( (dim2-mean(dim2)) .* (dim3-mean(dim3)) ) / ( size(MySample,1)-1 ) % 得到  -106.4000
搞清楚了这个后⾯就容易多了,协⽅差矩阵的对⾓线就是各个维度上的⽅差,下⾯我们依次计算:
std(dim1)^2 % 得到  108.3222
std(dim2)^2 % 得到  260.6222
std(dim3)^2 % 得到  94.1778
这样,我们就得到了计算协⽅差矩阵所需要的所有数据,调⽤Matlab⾃带的cov函数进⾏验证:
cov(MySample)
把我们计算的数据对号⼊座,是不是⼀摸⼀样?
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Update:今天突然发现,原来协⽅差矩阵还可以这样计算,先让样本矩阵中⼼化,即每⼀维度减去该维度的均值,使每⼀维度上的均值为0,然后直接⽤新的到的样本矩阵乘上它的转置,然后除以(N-1)即可。其实这种⽅法也是由前⾯的公式通道⽽来,只不过理解起来不是很直观,但在抽象的公式推导时还是很常⽤的!同样给出Matlab代码实现:
音乐网站论文···
X = MySample - repmat(mean(MySample),10,1); % 中⼼化样本矩阵,使各维度均值为0
C = (X’*X)./(size(X,1)-1);
·
··
总结
理解协⽅差矩阵的关键就在于牢记它计算的是不同维度之间的协⽅差,⽽不是不同样本之间,拿到⼀个样本矩阵,我们最先要明确的就是⼀⾏是⼀个样本还是⼀个维度,⼼中明确这个整个计算过程就会顺流⽽下,这么⼀来就不会迷茫了~
以上来⾃
⽆偏估计

本文发布于:2023-07-12 21:22:08,感谢您对本站的认可!

本文链接:https://patent.en369.cn/xueshu/208114.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:样本   数据   距离   矩阵   维度   计算   均值
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2022 Comsenz Inc.Powered by © 369专利查询检索平台 豫ICP备2021025688号-20 网站地图