协方差矩阵的计算及意义「建议收藏」

协方差矩阵的计算及意义「建议收藏」声明:博文转自https://blog.csdn.net/mr_hhh/article/details/78490576一、首先看一个比较简洁明了的协方差计算介绍:1.协方差定义X、Y是两个随机变量,X、Y的协方差cov(X,Y)定义为:其中,2.协方差矩阵定义矩阵中的数据按行排列与按列排列求出的协方差矩阵是不同的,这里默认数据是按行排列。即每一行是一个obs…

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

声明:博文转自https://blog.csdn.net/mr_hhh/article/details/78490576

一、首先看一个比较简洁明了的协方差计算介绍:

1. 协方差定义
X、Y 是两个随机变量,X、Y 的协方差 cov(X, Y) 定义为:

协方差矩阵的计算及意义「建议收藏」

其中,协方差矩阵的计算及意义「建议收藏」

2. 协方差矩阵定义
矩阵中的数据按行排列与按列排列求出的协方差矩阵是不同的,这里默认数据是按行排列。即每一行是一个observation(or sample),那么每一列就是一个随机变量。

协方差矩阵的计算及意义「建议收藏」

协方差矩阵:

协方差矩阵的计算及意义「建议收藏」

协方差矩阵的维度等于随机变量的个数,即每一个 observation 的维度。在某些场合前边也会出现 1 / m,而不是 1 / (m – 1).

3. 求解协方差矩阵的步骤
举个例子,矩阵 X 按行排列:

协方差矩阵的计算及意义「建议收藏」
1. 求每个维度的平均值

协方差矩阵的计算及意义「建议收藏」

2. 将 X 的每一列减去平均值

协方差矩阵的计算及意义「建议收藏」

其中:

协方差矩阵的计算及意义「建议收藏」
3. 计算协方差矩阵

协方差矩阵的计算及意义「建议收藏」
——————— 
作者:Rise_1024 
来源:CSDN 
原文:https://blog.csdn.net/mr_hhh/article/details/78490576 
版权声明:本文为博主原创文章,转载请附上博文链接!

二、再来看一下协方差矩阵的意义:

协方差代表的意义是什么? 

在概率论中,两个随机变量 X 与 Y 之间相互关系,大致有下列3种情况:

 

协方差矩阵的计算及意义「建议收藏」

 

情况一,如上, 当 X, Y 的联合分布像上图那样时,我们可以看出,大致上有: X 越大  Y 也越大, X 越小  Y 也越小,这种情况,我们称为“正相关”。

协方差矩阵的计算及意义「建议收藏」

 

情况二, 如上图, 当X, Y 的联合分布像上图那样时,我们可以看出,大致上有:X 越大Y 反而越小,X 越小 Y 反而越大,这种情况,我们称为“负相关”。

协方差矩阵的计算及意义「建议收藏」

情况三,如上图, 当X, Y  的联合分布像上图那样时,我们可以看出:既不是X  越大Y 也越大,也不是 X 越大 Y 反而越小,这种情况我们称为“不相关”。

 

 

怎样将这3种相关情况,用一个简单的数字表达出来呢?

在图中的区域(1)中,有 X>EX ,Y-EY>0 ,所以(X-EX)(Y-EY)>0;

在图中的区域(2)中,有 X<EX ,Y-EY>0 ,所以(X-EX)(Y-EY)<0;

在图中的区域(3)中,有 X<EX ,Y-EY<0 ,所以(X-EX)(Y-EY)>0;

在图中的区域(4)中,有 X>EX ,Y-EY<0 ,所以(X-EX)(Y-EY)<0。

当X 正相关时,它们的分布大部分在区域(1)和(3)中,小部分在区域(2)和(4)中,所以平均来说,有E(X-EX)(Y-EY)>0 

当 X与 Y负相关时,它们的分布大部分在区域(2)和(4)中,小部分在区域(1)和(3)中,所以平均来说,有(X-EX)(Y-EY)<0 

当 X与 Y不相关时,它们在区域(1)和(3)中的分布,与在区域(2)和(4)中的分布几乎一样多,所以平均来说,有(X-EX)(Y-EY)=0 

所以,我们可以定义一个表示X, Y 相互关系的数字特征,也就是协方差

cov(X, Y) = E(X-EX)(Y-EY)

当 cov(X, Y)>0时,表明 X正相关

当 cov(X, Y)<0时,表明XY负相关;

当 cov(X, Y)=0时,表明XY不相关。

这就是协方差的意义。

 

三、此部分进行更系统的说明:

声明:博文转自 https://blog.csdn.net/ybdesire/article/details/6270328

协方差的定义

协方差矩阵的计算及意义「建议收藏」

对于一般的分布,直接代入E(X)之类的就可以计算出来了,但真给你一个具体数值的分布,要计算协方差矩阵,根据这个公式来计算,还真不容易反应过来。网上值得参考的资料也不多,这里用一个例子说明协方差矩阵是怎么计算出来的吧。

记住,X、Y是一个列向量,它表示了每种情况下每个样本可能出现的数。比如给定

协方差矩阵的计算及意义「建议收藏」

则X表示x轴可能出现的数,Y表示y轴可能出现的。注意这里是关键,给定了4个样本,每个样本都是二维的,所以只可能有X和Y两种维度。所以

协方差矩阵的计算及意义「建议收藏」

协方差矩阵的计算及意义「建议收藏」

用中文来描述,就是:

协方差(i,j)=(第i列的所有元素-第i列的均值)*(第j列的所有元素-第j列的均值)

这里只有X,Y两列,所以得到的协方差矩阵是2×2的矩阵,下面分别求出每一个元素:

       协方差矩阵的计算及意义「建议收藏」 

所以,按照定义,给定的4个二维样本的协方差矩阵为:

协方差矩阵的计算及意义「建议收藏」

用matlab计算这个例子

z=[1,2;3,6;4,2;5,2]

cov(z)

ans =

    2.9167   -0.3333

   -0.3333    4.0000

可以看出,matlab计算协方差过程中还将元素统一缩小了3倍。所以,协方差的matlab计算公式为:

    协方差(i,j)=(第i列所有元素-第i列均值)*(第j列所有元素-第j列均值)/(样本数-1)

       下面在给出一个4维3样本的实例,注意4维样本与符号X,Y就没有关系了,X,Y表示两维的,4维就直接套用计算公式,不用X,Y那么具有迷惑性的表达了。

协方差矩阵的计算及意义「建议收藏」

       协方差矩阵的计算及意义「建议收藏」 

(3)与matlab计算验证

                     Z=[1 2 3 4;3 4 1 2;2 3 1 4]

                     cov(Z)

                     ans =

                          1.0000    1.0000   -1.0000   -1.0000

                          1.0000    1.0000   -1.0000   -1.0000

                         -1.0000   -1.0000    1.3333    0.6667

                          -1.0000   -1.0000    0.6667    1.3333

       可知该计算方法是正确的。我们还可以看出,协方差矩阵都是方阵,它的维度与样本维度有关(相等)。参考2中还给出了计算协方差矩阵的源代码,非常简洁易懂,在此感谢一下!

 

参考:

[1] http://en.wikipedia.org/wiki/Covariance_matrix

[2] http://www.cnblogs.com/cvlabs/archive/2010/05/08/1730319.html
——————— 
作者:ybdesire 
来源:CSDN 
原文:https://blog.csdn.net/ybdesire/article/details/6270328 
版权声明:本文为博主原创文章,转载请附上博文链接!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/153985.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • Mysql 8.0解压版下载安装及配置教程

    Mysql 8.0解压版下载安装及配置教程首先声明,这里是Mysql8.0.27版本、64位操作系统解压版mysql的下载及安装配置及修改初始密码。如果是其他版本的mysql安装,可以自行查找其他方法,记住搜索的时候最好加上是什么版本的,因为不同版本的mysql安装的时候有些命令是不同的,例如,mysql5.7的就搜索mysql5.7安装。话不多说,接下来就是我的mysql8.0.27版本的教程了。1.下载打开下载地址:https://dev.mysql.com/downloads/mysql/,找到箭头中的文件https:/

  • CSS3选择器02—CSS3部分选择器

    该部分主要为CSS3新增的选择器接上一篇CSS(CSS3)选择器(1)一.通用兄弟选择器:24:E~F,匹配任何E元素之后的同级F元素。二.属性选择器:25:E[att^=val]

  • Spring Boot+Redis+拦截器+自定义Annotation实现接口自动幂等

    前言 在实际的开发项目中,一个对外暴露的接口往往会面临很多次请求,我们来解释一下幂等的概念:任意多次执行所产生的影响均与一次执行的影响相同。按照这个含义,最终的含义就是 对数据库的…

  • Netstat 网络命令详解

    Netstat 网络命令详解Netstat简介Netstat是一款命令行工具,可用于列出系统上所有的网络套接字连接情况,包括tcp,udp以及unix套接字,另外它还能列出处于监听状态(即等待接入请求)的套接字。

  • 错误813宽带连接解决办法_网站500服务器内部错误

    错误813宽带连接解决办法_网站500服务器内部错误相关链接:服务器IIS安全设置如何完全地重新安装IISIIS无法解析asp文件的原因分析及解决办法HTTP500内部错误解决办法IISFAQ整理一.错误表现IIS5的HTTP500内部服务器错误是我们经常碰到的错误之一,它的主要错误表现就是ASP程序不能浏览但HTM静态网页不受影响。另外当错误发生时,系统事件日志

  • 新手小白学JAVA 正则表达式 包装类 自动装箱/自动拆箱 BigDecimal

    新手小白学JAVA 正则表达式 包装类 自动装箱/自动拆箱 BigDecimal1正则表达式Regex1.1概述正确的字符串格式规则。常用来判断用户输入的内容是否符合格式的要求,注意是严格区分大小写的。1.2常见语法1.3String提供了支持正则表达式的方法Matches(正则):当前字符串能否匹配正则表达式replaceAll(正则,子串):替换子串split(正则):拆分字符串1.4练习:测试输入身份证号创建包:cn.tedu.api创建类:TestRegex.javapackagecn.tedu.api;impo

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号