废话不多说,这节都是干货

我们继续讲第二个函数cov,需要区分的还是两个概念:协方差和样本协方差无偏估计值,此部分参考了博客相关内容http://blog.csdn.net/raocong2010/article/details/5941602,如图:

图中三个式子分别表示了样本的平均值、样本方差无偏估计值、样本协方差的无偏估计值,如果把S、C中的N-1换做N就成了表示方差与协方差了。

好了,开工!

函数名称:cov

函数功能: 求协方差矩阵

函数用法:

cov(X) % cov(X,0) = cov(X)

cov(X,Y) %

X,Y必须是各维数都相同的矩阵

cov(X,1) %

除以N而不是N-1 cov(X,Y,1) % 除以N而不是N-1

详细描述:

......................................................................

if X is a vector向量,cov(X)输出的是这个向量的方差

例:

>> A = [4 1 3];

>> AA = cov(A)

AA =

2.3333

>> a = mean(A)

a =

2.6667

>> AAA =

1/3*((4-a)^2+(1-a)^2+(3-a)^2)

AAA =

1.5556

>> AAAA=

1/2*((4-a)^2+(1-a)^2+(3-a)^2) %同样,这个方差不是真正意义的方差,而是对样本统计方差的一个无偏估计值

AAAA =

2.3333

..............................................................................

For matrices, where each row is an observation, and each column

is a variable, cov(X) is the covariance matrix.

对于矩阵来说,matlab把每行看做一个观察值,把每列当做一个变量,也就是说对于一个4*3的矩阵求协方差矩阵,matlab会认为存在三个变量,即会求出一个3*3的协方差矩阵

其中,对角线元素为对应变量的方差无偏估计值,其他位置为对应变量间的 协方差无偏估计值(即除的是N-1)

但是需要注意的事,matlab在计算相关矩阵时,虽然把每一列的数作为一个随机变量的样本,但每一行必须作为一个这几个随机变量的联合样本

即第i个随机变量取第k行的样本值时,第j个随机变量也取第k行的样本值。

知道了这一点,我们就可以用协方差的公式代入来计算协方差矩阵了。

下面是一段算法的实现代码:

clc; clear all; M = 5 N = 3; % 生成一个M*N的随机原始矩阵 OriginMatrix = rand( M, N ); % 使用自带的cov函数计算相关矩阵 CovMatrix = cov( OriginMatrix ); MeanArray = mean( OriginMatrix ); MeanMatrix = ones( M, 1 ) * MeanArray; % 得到每列减去每列均值的的矩阵 OriginSubMean = OriginMatrix - MeanMatrix; % 计算出相关矩阵 if M == 1 CovMatrixComputed = OriginSubMean' * OriginSubMean /

M; else CovMatrixComputed = OriginSubMean' * OriginSubMean / ( M-1

); end

.......................................................................

例1:

>> X = [1 5 6; 4 3 9 ; 4 2 9; 4 7

2]

X =

1 5 6

4 3 9

4 2 9

4 7 2

>> Y = cov(X)

Y =

2.2500 -0.7500 0.5000

-0.7500 4.9167 -7.1667

0.5000 -7.1667 11.0000

为探究过程,以Y(1,1)和Y(1,2)为例进行验证

>> x=X(:,1);

>> sum((x-3.25).^2)/3

ans =

2.2500

>> y = X (:,2);

>> aa =

x'*y/3 %需要注意的是,每行看做一个观察值,每列看做一个变量,也就是说,每行显示的是联合观察值,加入对于第一个变量我们取1

,那么第二个变量就肯定取5,第三个变量就肯定是6

aa =

-0.7500

......................................................

对于cov(X,Y)

X、Y必须是各维数都相等的矩阵,其功能是把X中所有元素看做一个变量的样本,Y中所有元素看做另外一个变量的样本,把矩阵中每个对应位置看做一个联合观察值

函数实现的是求出两个变量的协方差矩阵

例2:

>> X

X =

1 5 6

4 3 9

4 2 9

4 7 2

>> Y = [1 6 7; 7 5 9 ; 1 6 4 ; 2 9

2]

Y =

1 6 7

7 5 9

1 6 4

2 9 2

>> cov(X,Y)

ans =

6.9697 4.4242

4.4242 8.4470

现在用(1,1)和(1,2)位置验证

>>

sum(sum((X-mean(mean(X))).^2))/11 %把X中每个元素都看做一个变量的样本,求其方差的无偏估计值

ans =

6.9697

>> sum(sum((X-mean(mean(X))).*(Y-mean(mean(Y)))))/11 %把X、Y矩阵对应位置元素看做一个联合样本,根据公式E[(X-EX)*(Y-EY)]求协方差

ans =

4.4242

.....................................................................................

cov(X,1) 和 cov(X,Y,1)

与之前的求解过程一致,不同的是,其求出的是协方差,而不是样本的协方差无偏估计值,即其除以的是N 而不是N-1

例3:

>> cov(X,1)

ans =

1.6875 -0.5625 0.3750

-0.5625 3.6875 -5.3750

0.3750 -5.3750 8.2500

>> x=X(:,1);

sum((x-3.25).^2)/4 %不同之处

ans =

1.6875

>> y = X

(:,2);

>> y = y - 4.25;

>> aa = x'*y/4 %不同之处

aa =

-0.5625

例4:

X =

1 5 6

4 3 9

4 2 9

4 7 2

>> Y = [1 6 7; 7 5 9 ; 1 6 4 ; 2 9

2]

Y =

1 6 7

7 5 9

1 6 4

2 9 2

>> cov(X,Y)

ans =

6.9697 4.4242

4.4242 8.4470

>> a =cov(X,Y,1)

a =

6.3889 4.0556

4.0556 7.7431

>>

a.*12/11 %看出来了吧

ans =

6.9697 4.4242

4.4242 8.4470

额,二师兄,到高老庄了

oracle方差和协方差函数,[转载]方差var、协方差cov、协方差矩阵(浅谈)(三)_函数cov...相关推荐

  1. 样本协差阵 matlab函数,方差var、协方差cov、协方差矩阵(浅谈)(三)_函数cov...

    废话不多说,这节都是干货 我们继续讲第二个函数cov,需要区分的还是两个概念:协方差和样本协方差无偏估计值,此部分参考了博客相关内容http://blog.csdn.net/raocong2010/a ...

  2. 【转载】动态载入DLL所需要的三个函数详解(LoadLibrary,GetProcAddress,FreeLibrary)...

    原文地址:https://www.cnblogs.com/westsoft/p/5936092.html 动态载入 DLL 动态载入方式是指在编译之前并不知道将会调用哪些 DLL 函数, 完全是在运行 ...

  3. mysql 多租户设计_[转载]数据层的多租户浅谈(SAAS多租户数据库设计)

    原文:http://www.ibm.com/developerworks/cn/java/j-lo-dataMultitenant/index.html 在上一篇"浅析多租户在 Java 平 ...

  4. 期望、方差、协方差、协方差矩阵

    原 期望.方差.协方差和协方差矩阵 2018年06月07日 17:10:58 siucaan 阅读数:6231 </div><div class="operating&qu ...

  5. oracle数据库之统计分析(方差、标准差、协方差)

    1. 方差.标准差 引言:   样本中各数据与样本平均数的差的平方和的平均数叫做样本方差:样本方差的算术平方根叫做样本标准差.样本方差和样本标准差都是衡量一个样本波动大小的量,样本方差或样本标准差越大 ...

  6. (史上最全总结)总体方差,样本方差,标准差,抽样方差,标准误差,均方误差,协方差 ...........

    文章目录 数学期望 \color{blue}数学期望 数学期望 总体和样本 \color{blue}总体和样本 总体和样本 方差 \color{blue} 方差 方差 1. 总体方差 \color{b ...

  7. matlab计算斜方差_协方差与协方差矩阵(附Matlab实现)

    今天天气很棒呀,所以也要是活力满满的一天鸭!今天回顾了之前看到的协方差和协方差矩阵,发现真的缺漏了很多,所以做如下记录. 协方差 学过概率统计的应该都知道协方差的定义,接下来就简单说明一下. 协方差表 ...

  8. [转载] python笔记:4.1.2.1统计量_离散程度_方差和标准差

    参考链接: Python中的统计函数 2(方差度量) # -*- coding: utf-8 -*- """ Created on Sun May 26 16:51:35 ...

  9. 方差、协方差、协方差矩阵以及互相关矩阵

    目录 1.方差和协方差 2.从方差/协方差到协方差矩阵 3.互相关矩阵 1.方差和协方差   在统计学中,方差是用来度量单个随机变量的离散程度,而协方差一般是用来度量两个随机变量的相似程度,其中方差的 ...

最新文章

  1. 【转】CPU位数、核数、个数
  2. newman api
  3. 修改mysql存储过程的权限调用权限 definer invoker
  4. 用jQuery设置多个css样式
  5. [react] 你有用过React.Fragment吗?说说它有什么用途?
  6. JEECG 版本更新日志
  7. 设置图片和文字的垂直居中
  8. nginx基础配置,转发所有
  9. 矩阵分析与应用(5)
  10. ie浏览器打不开闪退_点开IE浏览器的时候总是闪退
  11. ios微信支付服务器错误,iOS开发之-微信支付
  12. [ 人力资源面试篇 ] 应届生 “ HR 面 “ 面试分析
  13. 邮件服务器域名怎么查看,如何查看企业邮箱是哪里的域名
  14. PhotoShopCS6安装及其破解【带资源免费】
  15. 2念整数(5分) 题目内容: 你的程序要读入一个整数,范围是[-100000,100000]。然后,用汉语拼音将这个整数的每一位输出出来。 如输入1234,则输出: yi er san si
  16. 鸿蒙系统荣耀新机,鸿蒙系统要来了?网传荣耀新机搭载鸿蒙 OS
  17. 百度Aistudio飞桨七日游体验python爬虫和分析数据
  18. 对*p++与*++p;(*p)++ 与 ++(*p)的理解
  19. 树与二叉树转换,森林与二叉树的转换,哈夫曼编码例题详解
  20. 12. 计划任务(crontab)

热门文章

  1. Google Analytics虚拟页面和事件追踪的区别
  2. 行千里,看山城轻轨穿楼越林;致广大,望重庆交通桥上桥下
  3. linux ssh客戶端:termius介绍及安装
  4. gin-vue-admin菜单配置教程:父子菜单
  5. 【收藏】Docker安装微信
  6. 定时自动刷新网页在线工具分享
  7. CentOS7升级Git版本
  8. Linkis1.0用户使用文档:JAVA和SCALA调用Linkis的接口示例代码
  9. docker logs 容器日志文件路径查看
  10. phoenix关联hbase表:通过建立视图映射或表映射的方式