在PCA中涉及到了方差var和协方差cov,下面详细了解这两个函数的用法。numpy中var和cov函数求法和MATLAB中var和cov函数求法类似。

首先均值,样本方差,样本协方差公式分别为

其中样本方差公式中为什么除的n-1而不是n,样本协方差同样除的是n-1而不是n,请看此处:http://blog.csdn.net/maoersong/article/details/21819957,如果除的是n,那么求的方差就不是随机抽取变量组成样本的方差,而是整个空间的方差。

下面就介绍MATLAB中var和cov函数的用法

以下内容转载出处:http://blog.sina.com.cn/s/blog_9e67285801010twv.html

函数名称: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

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

对于矩阵来说,matlab把每行看做一个观察值,把每列当做一个变量,也就是说对于一个4*3的矩阵求协方差矩阵,matlab会认为存在三个变量,即会求出一个3*3的协方差矩阵。
    其中,对角线元素为对应变量的方差无偏估计值,其他位置为对应变量间的 协方差无偏估计值(即除的是N-1)

.......................................................................
例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

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

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

numpy中方差var、协方差cov求法相关推荐

  1. R中方差,协方差,相关系数

    提到方差,一个命令var(). 方差定义用来度量随机变量和其数学期望(即均值)之间的偏离程度. > a = sample(10) > a[1] 4 2 9 3 6 10 8 5 7 1&g ...

  2. 期望值、方差、协方差、相关系数,numpy 计算均值、方差、协方差,相关系数

    文章目录 期望值.方差.协方差.相关系数 一.期望值 二.方差 1. 概念: 2. 示例: 三.协方差 1. 概念: 2. 示例: 四.协方差矩阵 1. 概念: 2. 示例: 五.协方差的相关系数 1 ...

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

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

  4. 协方差cov(X),cov(X,Y);变异系数c.v

    目录 协方差 cov(x) - x 为一个样本向量 - x 为一个样本矩阵 协方差 cov(x,y) 变异系数 c.v 首先看看 均值,样本方差,样本协方差 公式区别 Xˉ\bar{X}Xˉ = 1N ...

  5. python方差函数_python 中的var()函数和cov函数用法-Go语言中文社区

    本文是学习多篇博客总结而得: numpy中var和cov函数求法和MATLAB中var和cov函数求法类似: 首先均值X,样本方差S,样本协方差C 公式分别为: 一.  MATLAB和Python中计 ...

  6. 协方差与相关系数 numpy中cov与corrcoef的使用

    协方差与相关系数 协方差与相关系数 协方差 相关系数 1.协方差 如果两个变量的变化趋势一致,也就是说如果其中一个大于自身的期望值时另外一个也大于自身的期望值,那么两个变量之间的协方差就是正值:如果两 ...

  7. python使用numpy中的np.mean函数计算数组的均值、np.var函数计算数据的方差、np.std函数计算数组的标准差

    python使用numpy中的np.mean函数计算数组的均值.np.var函数计算数据的方差.np.std函数计算数组的标准差 目录

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

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

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

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

最新文章

  1. 黄聪:使用srvany.exe将任何程序作为Windows服务运行
  2. Selenium WebDriver- 操作 IFrame 中的页面元素
  3. 集合论在图论中的应用的约束描述
  4. Django操作mysql数据库增删改查
  5. anaconda的安装与使用详细教程
  6. linux虚拟arm环境环境,Ubuntu 模拟ARM开发环境
  7. 360 快视频疑似盗取 B 站数据,暂无最新回应
  8. Q125:PBRT-V3,对比VolPathIntegrator::Li()和EstimateDirect()判断Medium的方式
  9. ENVI入门系列教程---一、数据预处理---1.2基本操作--5.x以后的界面(旧界面)
  10. JS 获取宽,高(ie未测)
  11. 介绍一下和AspNetPager结合的不错的分页方案
  12. 计算机录音机应用程序在哪,Windows录音机在哪 电脑录音机怎么用
  13. 爬取微博评论,生成词云图!
  14. java 注解 entity_详解Java中的注解
  15. Tiny6410 的NandFlash(K9GAG08U0E)
  16. Android数据库更新并保留原来数据的实现
  17. java为什么被开发者_Spring为何受到Java开发者的青睐?Spring是如何简化Java开发的?...
  18. 使用tree生成目录树结构
  19. g2o学习记录(4)cmake-gui再次编译g2o及不太完美的处理cs.h错误[20190323已找到完美解决方案](非干货纯记录,可不看)
  20. 标准盒模型 与 怪异盒模型

热门文章

  1. 技术的真相 | 从AR口红试妆了解人工智能试妆技术
  2. ffmpeg之av_read_frame
  3. 前端——Form表单
  4. 做人如水 做事如山
  5. 免信任型计算的扩容模型
  6. opencv学习记录——(5)图像像素的操作
  7. 【Vue3】vue3获取对象长度(非数组长度)
  8. 更改linux文件/目录的权限、拥有者及用户组
  9. sql server 2008 不允许保存更改,您所做的更改要求删除并重新创建以下表
  10. MySQL数据库修改表某一列数据(一整列)