浅谈协方差矩阵

一、统计学的基本概念

统计学里最基本的概念就是样本的均值、方差、标准差。首先,我们给定一个含有n个样本的集合,下面给出这些概念的公式描述:

均值:clip_image002

标准差:image

方差:image

均值描述的是样本集合的中间点,它告诉我们的信息是有限的,而标准差给我们描述的是样本集合的各个样本点到均值的距离之平均。

以这两个集合为例,[0, 8, 12, 20]和[8, 9, 11, 12],两个集合的均值都是10,但显然两个集合的差别是很大的,计算两者的标准差,前者是8.3后者是1.8,显然后者较为集中,故其标准差小一些,标准差描述的就是这种“散布度”。之所以除以n-1而不是n,是因为这样能使我们以较小的样本集更好地逼近总体的标准差,即统计上所谓的“无偏估计”。而方差则仅仅是标准差的平方。

 

二、为什么需要协方差

标准差和方差一般是用来描述一维数据的,但现实生活中我们常常会遇到含有多维数据的数据集,最简单的是大家上学时免不了要统计多个学科的考试成绩。面对这样的数据集,我们当然可以按照每一维独立的计算其方差,但是通常我们还想了解更多,比如,一个男孩子的猥琐程度跟他受女孩子的欢迎程度是否存在一些联系。协方差就是这样一种用来度量两个随机变量关系的统计量,我们可以仿照方差的定义:

clip_image002[6]

来度量各个维度偏离其均值的程度,协方差可以这样来定义:

clip_image002[8]

协方差的结果有什么意义呢?如果结果为正值,则说明两者是正相关的(从协方差可以引出“相关系数”的定义),也就是说一个人越猥琐越受女孩欢迎。如果结果为负值, 就说明两者是负相关,越猥琐女孩子越讨厌。如果为0,则两者之间没有关系,猥琐不猥琐和女孩子喜不喜欢之间没有关联,就是统计上说的“相互独立”。

从协方差的定义上我们也可以看出一些显而易见的性质,如:

clip_image002[10]

clip_image002[12]

 

三、协方差矩阵

前面提到的猥琐和受欢迎的问题是典型的二维问题,而协方差也只能处理二维问题,那维数多了自然就需要计算多个协方差,比如n维的数据集就需要计算clip_image002[16]个协方差,那自然而然我们会想到使用矩阵来组织这些数据。给出协方差矩阵的定义:

clip_image002[18]

这个定义还是很容易理解的,我们可以举一个三维的例子,假设数据集有三个维度,则协方差矩阵为:

clip_image002[20]

可见,协方差矩阵是一个对称的矩阵,而且对角线是各个维度的方差。

 

四、Matlab协方差实战

必须要明确一点,协方差矩阵计算的是不同维度之间的协方差,而不是不同样本之间的。以下的演示将使用Matlab,为了说明计算原理,不直接调用Matlab的cov函数:

首先,随机生成一个10*3维的整数矩阵作为样本集,10为样本的个数,3为样本的维数。

wps_clip_image-15418

图 1 使用Matlab生成样本集

根据公式,计算协方差需要计算均值,前面特别强调了,协方差矩阵是计算不同维度之间的协方差,要时刻牢记这一点。样本矩阵的每行是一个样本,每列是一个维度,因此我们要按列计算均值。为了描述方便,我们先将三个维度的数据分别赋值:

wps_clip_image-17278

图 2 将三个维度的数据分别赋值

计算dim1与dim2,dim1与dim3,dim2与dim3的协方差:

wps_clip_image-19087

图 3 计算三个协方差

协方差矩阵的对角线上的元素就是各个维度的方差,下面我们依次计算这些方差:

wps_clip_image-20207

图 4 计算对角线上的方差

这样,我们就得到了计算协方差矩阵所需要的所有数据,可以调用Matlab的cov函数直接得到协方差矩阵:

wps_clip_image-25729

图 5 使用Matlab的cov函数直接计算样本的协方差矩阵

计算的结果,和之前的数据填入矩阵后的结果完全相同。


Update:今天突然发现,原来协方差矩阵还可以这样计算,先让样本矩阵中心化,即每一维度减去该维度的均值,使每一维度上的均值为0,然后直接用新的到的样本矩阵乘上它的转置,然后除以(N-1)即可。其实这种方法也是由前面的公式通道而来,只不过理解起来不是很直观,但在抽象的公式推导时还是很常用的!同样给出Matlab代码实现:

1
2
X = MySample - repmat(mean(MySample),10,1);    % 中心化样本矩阵,使各维度均值为0
C = (X'*X)./(size(X,1)-1);

总结

理解协方差矩阵的关键就在于牢记它计算的是不同维度之间的协方差,而不是不同样本之间,拿到一个样本矩阵,我们最先要明确的就是一行是一个样本还是一个维度,心中明确这个整个计算过程就会顺流而下,这么一来就不会迷茫了~

P.S.写论文要选Latex,在wordpress里编辑公式还得用Latex,用Latex还真对得起咱学计算机这张脸~

在hexo上可以使用MathJax

 

转自:http://pinkyjie.com/2010/08/31/covariance/

转载于:https://www.cnblogs.com/Baron-Lu/p/7150326.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/268963.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

验证测试线时为什么会出现“正损耗”?

验证测试参考线很容易,对吗?是的,通常……但不总是。通过参考程序将功率计设置为0 dB后,对于单模,配对连接器对的损耗预计小于0.20 dB(例如-0.20 dB)。让我们研究一种损耗不是负的情况&#xff…

java一个接口可以继承另外一个接口吗

一个接口可以继承多个接口. interface C extends A, B {}是可以的.一个类可以实现多个接口: class D implements A,B,C{}但是一个类只能继承一个类,不能继承多个类 class B extends A{}在继承类的同时,也可以继承接口: class E extends D implements A,B,C{} 这也正是选择用接口…

OpenLDAP的安装测试及管理

简介:LDAP(轻量级目录服务访问协议,Lightweight Directory Access Protocol)基于X.500标准,支持TCP/IP,使用简单方便。现在越来越多的网络应用系统都支持LDAP。   目录是一个为查询、浏览和搜索而优化的专业分布式数据库&…

编写TreeSet类的实现程序,其中相关的迭代器使用二叉查找树

package com.test.tree;import java.util.Iterator;/*** 编写TreeSet类的实现程序&#xff0c;其中相关的迭代器使用二叉查找树。* 在每个节点上添加一个指向其父节点的链* author wyl* param <T>*/ public class MyTreeSet<T extends Comparable<? super T>&g…

东北天到ecef的变换_GNSS学习笔记-坐标转换

GNSS 坐标转换GNSS计算主要涉及三个坐标系&#xff0c;地心地固坐标系&#xff0c;地理坐标系和站心坐标系。这里主要介绍一下三个坐标的含义和转换公式。地心地固坐标系如图X,Y,Z表示 (ECEF坐标系)&#xff0c;以地心O为坐标原点&#xff0c;Z轴指向协议地球北极&#xff0c;X…

设计模式之模版方法模式的钩子方法

public abstract class SoyaMilk {//模版方法 可以做成finaL&#xff0c;不让子类去覆盖final void make(){select();if(customerWantCondiments()){addCondiments();}soak();beat();}void select(){System.out.println("第一步&#xff0c;请选择好的新鲜黄豆");}/…

利用福禄克铜缆测试仪测试铜缆的插入损耗

由于插入损耗发生在任何类型的传输中&#xff0c;因此它也是铜缆布线系统中的一个性能参数。与光纤相比&#xff0c;铜缆布线系统的插入损耗要大得多。另一个关键区别是&#xff0c;铜缆上的信号损耗随着信号频率的变化而变化&#xff0c;对于更高频率的信号&#xff0c;铜缆链…

交换机配置全接触

交换机配置全接触交换机的配置一直以来是非常神秘的&#xff0c;不仅对于一般用户&#xff0c;对于绝大多数网管人员来说也是如此&#xff0c;同时也是作为网管水平高低衡量的一个重要而又基本的标志。这主要在两个原因&#xff0c;一是绝大多数企业所配置的交换机都是桌面非网…

python变量名可以包含的字符有问号吗,带问号文字的Python正则表达式

Im using Djangos URLconf, the URL I will receive is /?codeauthenticationcodeI want to match the URL using r^\?code(?P.*)$ , but it doesnt work.Then I found out it is the problem of ?.Becuase I tried to match /aaa?aaa using raaa\?aaa raaa\\?aaa even …

Yii2 mongodb 扩展的where的条件增加大于 小于号

1. mongodb的where中有比較丰富的 条件。例如以下&#xff1a; static $builders [NOT > buildNotCondition,AND > buildAndCondition,OR > buildOrCondition,BETWEEN > buildBetweenCondition,NOT BETWEEN > buildBetweenCondition,IN > buildInCondition,…

子网计算菜鸟入门

其实关于子网计算的文章很多&#xff0c;无论是书本上还是网络上都能找到&#xff0c;但有一点大家可能都忘记了&#xff0c;那就是在学会计算子网之前&#xff0c;必 须要对IP地址和子网掩码的原理做一个比较正确地理解&#xff0c;可以说&#xff0c;理解了原理之后&#xff…

福禄克Fluke Pro3000 音频发生器和探头

虽然按照ANSI/TIA-606-B管理标准贴标签被认为是好做法&#xff0c;但让我们面对现实&#xff1a;标签并不总是出现&#xff0c;或者有时它们根本看不到您需要它们的地方。随着时间的推移&#xff0c;电信机房或数据中心的布线链路也可能已重新配置。当你需要追踪一根电缆或者在…

python3.0 数据类型、万恶的编码、文件操作

一、数据类型整理 1、字符串 概念&#xff1a;字符串就是一串字符。**注&#xff1a;python中没有字符概念。但其他语言有。字符串无法变更&#xff0c;每次变更相当于生成新的字符串 a、增 b、删 c、查 for i in 字符串 index() d、改 replace(old,new) "分隔符".jo…

判定2022年是否闰年c语言_C语言接本真题分享19年(2)

点击蓝字 关注我们C语言河北省 2019 年普通高校专科接本科教育选拔考试计算机科学与技术/软件工程/网络工程/物联网工程专业试卷 AC 语言程序设计(满分 150 分)第二部分|二、程序阅读题(本大题共 5 小题&#xff0c;每小题 6 分&#xff0c;共 30 分。请将程序的运行结果填写在…

oracle insert 新增语句

insert into 表名 values(值1&#xff0c;值2&#xff0c;......); insert into 表名(列1&#xff0c;列2&#xff0c;......)values(值1&#xff0c;值2&#xff0c;......);

福禄克网络TIA识别MPTL连接的操作方法

如果您熟悉水平电缆在一端终止于RJ-45插头直接连接到设备的部署&#xff0c;那么您就熟悉现在所称的模块化插头终止链路或MPTL&#xff08;即使并非总是以这种方式提及&#xff09;。 虽然先前在楼宇自动化和电子安全和安保标准中得到认可&#xff08;以前称为“直接连接”&am…

解决NHibernate 中与 SQL2005 关键字有冲突的问题

环境&#xff1a;NHibernate&#xff0c;sql2000 现象&#xff1a;当表名或字段名和sql2000关键字有冲突时&#xff0c;会出错。 解决方法&#xff1a;在 NHibernate 映射配置文件中&#xff0c;的将表名或字段名用两个重音符号&#xff08;&#xff09;括起来。重音符号键即是…

新手攻略熔炉_【新手攻略】快速入门

进图之后找城主接取任务前期主要经济等级来源&#xff0c;3级去学技能用杀敌数找天使妹妹随机潜力值潜力值关系到每次升级的属性分配点潜力果实可以不改变星级重新随机分配点这一点小伙伴们要注意随机到高星的潜力可就可以留下来用达到3级找书店老板学习技能Q3级Q&#xff0c;5…

【Python图像特征的音乐序列生成】解析ABC格式的文件(修改版)

ABC格式&#xff0c;是一个音乐标准&#xff0c;ABC Plus Project最新的标准是2.x。 ABC格式的音乐长成这样&#xff1a; 1 X: 22 T:Abacus3 % Nottingham Music Database4 S:By Hugh Barwell, via Phil Rowe5 R: Jig6 M:6/87 K:G8 "G"g2g B^AB|d2d G3|"Em"…