(参考文章)

标准差和方差一般是用来描述一维数据的

所谓的维数,拿EEG信号来说,每个通道就是一个维度,而同一个通道的每个一数字是样本。

协方差就是这样一种用来度量两个随机变量关系的统计量,我们可以仿照方差的定义:

来度量各个维度偏离其均值的程度,标准差可以这么来定义:

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

协方差多了就是协方差矩阵

这个定义还是很容易理解的,我们可以举一个简单的三维的例子,假设数据集有

三个维度,则协方差矩阵为

其中cov(x,y)就是一个数,

对应x,y渠道平均值后,求内积再求平均值,就是x,y之间的协方差

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

Matlab协方差实战

协方差矩阵计算的是不同维度之间的协方差,而不是不同样本之间的。

这个我将结合下面的例子说明,以下的演示将使用Matlab,为了说明计算原理,不直接调用Matlab的cov函数 。

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

1MySample = fix(rand(10,3)*50)

根据公式,计算协方差需要计算均值,那是按行计算均值还是按列呢,我一开始就老是困扰这个问题。前面我们也特别强调了,协方差矩阵是计算不同维度间的协方差,要时刻牢记这一点。样本矩阵的每行是一个样本,每列为一个维度,所以我们要按列计算均值。

dim1 = MySample(:,1);dim2 = MySample(:,2);dim3 = MySample(:,3);

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

sum( (dim1-mean(dim1)) .* (dim2-mean(dim2)) ) / ( size(MySample,1)-1 ) % 得到  74.5333

sum( (dim1-mean(dim1)) .* (dim3-mean(dim3)) ) / ( size(MySample,1)-1 ) % 得到  -10.0889

sum( (dim2-mean(dim2)) .* (dim3-mean(dim3)) ) / ( size(MySample,1)-1 ) % 得到  -106.4000

搞清楚了这个后面就容易多了,协方差矩阵的对角线就是各个维度上的方差,下面我们依次计算:

std(dim1)^2 % 得到   108.3222 std()是求标准差的函数

std(dim2)^2 % 得到   260.6222

std(dim3)^2 % 得到   94.1778

这样,我们就得到了计算协方差矩阵所需要的所有数据,调用Matlab自带的cov函数进行验证:

cov(MySample)

=

简化算法:

由于分别为m 与n 个标量元素的列向量随机变量X 与Y,二者对应的期望值分别为μ与ν,这两个变量之间的协方差定义为m×n

矩阵

也就是说,先让样本矩阵中心化,即每一维度减去该维度的均值,使每一维度上的均值为0,然后直接用新得到的样本矩阵乘上它的转置,然后除以(N-1)即可。即为上式。N 表示的是每一维度的样本数。

例子:

X’=[1 2 3 ] %均值是2

Y’=[4 5 6] %均值是5

则会得到 x-2=[-1 0 1]’ ; y-5=[-1 0 1]’

进行转置相乘后 求均值

则得到 ((x-2)’*(y-5))/2=[1 1;1 1] 同结果是一样的

再举个例子:

a=fix(rand(10,3)*50)

a =

37 42 17

12 12 41

25 40 29

34 12 27

44 46 45

47 17 14

27 9 37

6 12 37

7 30 19

12 23 28

x=a-repmat(mean(a),10,1)%这里mean(a)得到的是列平均值,repmat(mean(a),10,1)是产生一个10行一列的矩阵。在这里的一列是指mean(a)整体

x =

11.9000 17.7000 -12.4000

-13.1000 -12.3000 11.6000

-0.1000 15.7000 -0.4000

8.9000 -12.3000 -2.4000

18.9000 21.7000 15.6000

21.9000 -7.3000 -15.4000

1.9000 -15.3000 7.6000

-19.1000 -12.3000 7.6000

-18.1000 5.7000 -10.4000

-13.1000 -1.3000 -1.4000

(x’*x)./ (size(x,1)-1) =

232.9889 70.0778 -31.9333

70.0778 200.6778 -17.2444

-31.9333 -17.2444 111.1556

matlab计算斜方差_协方差与Matlab的实现相关推荐

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

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

  2. matlab计算斜方差_利用matlab进行协方差运算

    本文全部参考自: http://www.cnblogs.com/welen/articles/5535042.html#undefined 知识点一: MATLAB中四个取整函数具体使用方法如下: M ...

  3. matlab计算斜方差_计算一幅图像的信噪比

    本文摘自本人的毕业设计<数字图像滤波算法研究>2019, Chang'an University, Xi'an, China. 本文适用于原始图像(即不含噪声的图像)存在的情况下. 使用待 ...

  4. matlab计算斜方差_Matlab求方差,均值,均方差,协方差的函数

    1.均值 数学定义: Matlab函数:mean >>X=[1,2,3] >>mean(X)=2 如果X是一个矩阵,则其均值是一个向量组.mean(X,1)为列向量的均值,me ...

  5. MATLAB中fix啥意思,matlab fix函数用法_常见问题解析,matlab

    matlab syms什么意思_常见问题解析 matlab中syms的意思是定义多个变量,可以用来创建符号变量x和y,语法是"syms x y":也可以创建一些符号变量.函数和数组 ...

  6. 求均值方差_协方差,方差,标准差

    要深度理解定义!!!要深度理解定义!!!要深度理解定义!!! 协方差,如下定义: 方差如下定义: 标准差就是sqrt(方差) 之前总是有个混淆的点. 故在这里mark一下.(要理解好定义的想表达的深层 ...

  7. 用matlab计算卫星的瞬时位置,用MATLAB计算GPS卫星位置.PDF

    用MATLAB计算GPS卫星位置 高 新 技 术 用MATLAB计算GPS卫星位置 罗利娟 杨乐 (西安翻译学院 陕西西安 710061) 摘 要:本文主要介绍了GPs测量数据的常用格式RINEX标准 ...

  8. matlab最优控制实验报告_最优控制的MATLAB实现.doc

    最优控制的MATLAB实现 最优控制的MATLAB实现 摘要 线性二次型最优控制是一种普遍采用的最优控制系统设计方法.使用MATLAB软件设计的GUI控制界面实现最优控制,有较好的人机交互界面,便于使 ...

  9. matlab app设计步骤_如何从MATLAB/Simulink入手,系统地学习自动驾驶?

    自动驾驶相关的软件工具有不少,作为汽车工程师,我们最熟悉的可能是MATLAB/Simulink.如何从MATLAB/Simulink入手,系统地学习自动驾驶? 本文来源:自动驾驶仿真 自动驾驶相关的软 ...

最新文章

  1. 南京微盟计算机,南京微盟 ME6118A50B3G ME6119A33PG ME6119A50PG 稳压IC
  2. 浅谈JavaScript错误
  3. hashcode的理解
  4. gwt-2.8.2下载_GWT 2 Spring 3 JPA 2 Hibernate 3.5教程– Eclipse和Maven 2展示
  5. java 电梯算法_编程之美之小飞的电梯调度算法(多种解法)---Java语言
  6. vue 功能模块后台可配置_Github14k的Springboot后台管理系统
  7. 简单搜索 poj1321
  8. 在SpringBoot中优雅的实现定时任务
  9. View相关知识学习总结
  10. JAVE 视音频转码
  11. python实现外挂自动学习网络课程实例
  12. 中国普通魔方行业市场供需与战略研究报告
  13. 智慧消防之物联网消防的意义
  14. android高仿微信拍摄,Android 仿微信视频拍摄 支持触摸拍摄 长按拍摄
  15. 海龟交易法则(中译文)
  16. RabbitMQ基础学习
  17. 图形验证码和短信验证码
  18. Conflux 网络已获 Cobo 钱包支持
  19. 022kuo_zhan_guan_li_qi
  20. 浅谈软件供应链安全治理与DevSecOps落地实践

热门文章

  1. python opencv单通道转多通道_13、OpenCV绘图和文本显示
  2. Image deformation of AffineSimilarityRigidProjective
  3. ATS和闰秒那些事儿
  4. leetcode-402 移掉K位数组
  5. Java中创建泛型数组
  6. 升级Jekyll 3.0
  7. webpack入门之简单例子跑起来
  8. ORB + OPENCV
  9. google gn构建系统的介绍
  10. SpringBoot整合Grpc实现跨语言RPC通讯