文档章节

浅谈协方差矩阵

天蚕宝衣
 天蚕宝衣
发布于 2017/06/04 15:08
字数 1303
阅读 30
收藏 0

一. 统计学的基本概念

统计学里最基本的概念就是样本的均值(期望,物理学中叫做期待值)、方差、标准差。首先,我们给定一个含有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函数直接计算样本的协方差矩阵

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

五. 总结

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

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

天蚕宝衣
粉丝 28
博文 246
码字总数 181517
作品 0
天津
私信 提问
2DPCA以及增强的双向2DPCA详解

  最近在做目标追踪的过程中用到了2DPCA变换,花了两天时间研究了下2DPCA的起源及其重要改进,在此稍作总结。 相关原始文献   1、一维PCA及其不足之处   在介绍2DPCA之前,稍微提一下历...

u013088062
2015/11/19
0
0
关于PCA主成分析的个人理解

大致的思想: PCA分析主要就是对多维数据进行降维,并且借此来消除噪音和冗余数据。本质上就是对一组多维数据选取一个新的参考坐标,通过线性变换来投影到低维空间上,从而来表达新的数据,从...

Hannibal_Lecter
2017/12/06
0
0
数值分析Matlab二维正态(高斯)分布以及协方差矩阵

数值分析Matlab二维正态(高斯)分布以及协方差矩阵 主要是使用了matlab的mvnrnd产生随机的正态(高斯)分布二维矩阵,然后绘制出来。代码运行结果生成的正态分布实验数据如图: MATLAB代码: ...

zhangphil
2017/12/14
0
0
scikit-learn 中文文档-协方差估计-无监督学习|ApacheCN

中文文档: http://sklearn.apachecn.org/cn/stable/modules/covariance.html 英文文档: http://sklearn.apachecn.org/en/stable/modules/covariance.html 官方文档: http://scikit-learn.org......

qq_41127512
2017/11/29
0
0
一目了然之 PCA SVD 协方差 相关系数及区分

一、数据降维技术 二、PCA 首先要知道的是PCA降维的原理和目的是什么? 原理:最大化投影后数据的方差,表示为在某一维度的投影方差最大,如下图中当前位置不是投影方差最大的位置,因为好多...

herr_kun
2018/05/17
0
0

没有更多内容

加载失败,请刷新页面

加载更多

Spring Cloud 笔记之Spring cloud config client

观察者模式它的数据的变化是被动的。 观察者模式在java中的实现: package com.hxq.springcloud.springcloudconfigclient;import org.springframework.context.ApplicationListener;i...

xiaoxiao_go
今天
4
0
CentOS7.6中安装使用fcitx框架

内容目录 一、为什么要使用fcitx?二、安装fcitx框架三、安装搜狗输入法 一、为什么要使用fcitx? Gnome3桌面自带的输入法框架为ibus,而在使用ibus时会时不时出现卡顿无法输入的现象。 搜狗和...

技术训练营
今天
4
0
《Designing.Data-Intensive.Applications》笔记 四

第九章 一致性与共识 分布式系统最重要的的抽象之一是共识(consensus):让所有的节点对某件事达成一致。 最终一致性(eventual consistency)只提供较弱的保证,需要探索更高的一致性保证(stro...

丰田破产标志
今天
7
0
docker 使用mysql

1, 进入容器 比如 myslq1 里面进行操作 docker exec -it mysql1 /bin/bash 2. 退出 容器 交互: exit 3. mysql 启动在容器里面,并且 可以本地连接mysql docker run --name mysql1 --env MY...

之渊
今天
7
0
python数据结构

1、字符串及其方法(案例来自Python-100-Days) def main(): str1 = 'hello, world!' # 通过len函数计算字符串的长度 print(len(str1)) # 13 # 获得字符串首字母大写的...

huijue
今天
5
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部