协方差矩阵

协方差也只能处理二维问题,那维数多了自然就需要计算多个协方差,比如n维的数据集就需要计算 n!(n−2)!∗2 \frac{n!}{(n-2)!*2}个协方差,那自然而然我们会想到使用矩阵来组织这些数据。给出协方差矩阵的定义:

Cn∗n=(ci,j,ci,j=cov(Dimi,Dimj))

C_{n*n}=(c_{i,j}, c_{i,j}=cov(Dim_i, Dim_j))

这个定义还是很容易理解的,我们可以举一个三维的例子,假设数据集有三个维度,则协方差矩阵为:

必须要明确一点,协方差矩阵计算的是不同维度之间的协方差,而不是不同样本之间的。以下的演示将使用Matlab,为了说明计算原理,不直接调用Matlab的cov函数:

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

>> mySample=fix(rand(10,3)*50)mySample =40     7    3245    48     16    47    4245    24    4631    40    334     7    3713    21    3727    45    1947    39    3248    47     8

根据公式,计算协方差需要计算均值,前面特别强调了,协方差矩阵是计算不同维度之间的协方差,要时刻牢记这一点。样本矩阵的每行是一个样本,每列是一个维度,因此我们要按列计算均值。为了描述方便,我们先将三个维度的数据分别赋值:


>> dim1=mySample(:,1)dim1 =404564531413274748>> dim2=mySample(:,2)dim2 =748472440721453947>> dim3=mySample(:,3)dim3 =321424633373719328

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

>> cov12=sum((dim1-mean(dim1)).*(dim2-mean(dim2)))/(size(mySample,1)-1)cov12 =78>> cov13=sum((dim1-mean(dim1)).*(dim3-mean(dim3)))/(size(mySample,1)-1)cov13 =-120.2444>> cov13=sum((dim1-mean(dim1)).*(dim3-mean(dim3)))/(size(mySample,1)-1)cov13 =-120.2444>> cov13=sum((dim1-mean(dim1)).*(dim3-mean(dim3)))/(size(mySample,1)-1)cov13 =-120.2444>> cov23=sum((dim2-mean(dim2)).*(dim3-mean(dim3)))/(size(mySample,1)-1)cov23 =-126.9444

协方差矩阵的对角线上的元素就是各个维度的方差,下面我们依次计算这些方差:

>> var1=std(dim1)^2var1 =301.1556>> var2=std(dim2)^2var2 =268.9444>> var3=std(dim3)^2var3 =216.0111

这样,我们就得到了计算协方差矩阵所需要的所有数据,可以调用Matlab的cov函数直接得到协方差矩阵:

>> cov(mySample)ans =301.1556   78.0000 -120.244478.0000  268.9444 -126.9444-120.2444 -126.9444  216.0111

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

协方差协方差矩阵【matlab实例】相关推荐

  1. 协方差矩阵的实例与意义

    协方差矩阵的实例与意义 在机器学习中经常需要计算协方差矩阵,本科时没学过这个概念,一直对此非常头疼.现在试图通过实例的计算.图形化的表示来梳理一下什么是协方差矩阵. A numerical examp ...

  2. 高斯 二维 matlab,MATLAB实例:二维高斯分布图

    MATLAB实例:二维高斯分布图 问题描述:用MATLAB在一张图上同时画出二维高斯散点图与分布图. 数据来源:MATLAB高斯混合数据的生成 将二维数据保存为gauss_data.txt. 前期工作 ...

  3. 卡尔曼滤波MatLab实例一:房间温度

    卡尔曼滤波简介 最近接触到卡尔曼滤波,查阅了图书馆以及网上的一些资料,稍微有点收获,在此记录一下,方便之后用到. 我主要参考了以下内容: ①https://blog.csdn.net/u0107206 ...

  4. 龙格库塔法解微分方程组的matlab程序,MATLAB实例源码教程:龙格库塔法求解微分方程组源代码实例.doc...

    MATLAB实例源码教程:龙格库塔法求解微分方程组源代码实例.doc MATLAB实例源码教程龙格库塔法求解微分方程组源代码实例题目用经典 Runge-Kutta方法求下列一阶微分方程组的近似解y1 ...

  5. bp神经网络matlab实例蚊子,bp神经网络matlab实例

    bp神经网络matlab实例 采用 Matlab 工具箱函数建立神经网络,对一些基本的神经网络参数进行了说明,深入了解参考 Matlab 帮助文档.实例一% 例 1 采用动量梯度下降算法训练 BP 网 ...

  6. matlab指派问题求法,MATLAB实例:Munkres指派算法

    MATLAB实例:Munkres指派算法 1. 指派问题陈述 指派问题涉及将机器分配给任务,将工人分配给工作,将足球运动员分配给职位等.目标是确定最佳分配,例如,使总成本最小化或使团队效率最大化.指派 ...

  7. matlab中二维散点图,MATLAB实例:二维散点图

    MATLAB实例:二维散点图 用MATLAB实现简单的散点图的绘制,可以自行设置点的形状与颜色,可以去掉坐标轴边框. 数据来源:MATLAB高斯混合数据的生成 将二维数据保存为gauss.txt. 1 ...

  8. 【啃书】《智能优化算法及其MATLAB实例》例6.1基本粒子群算法进行sphere函数寻优

    文章目录 问题描述 仿真过程 matlab源码 问题描述 仿真过程 基本粒子群算法的进化进程如下 matlab源码 以下给出的粒子群算法代码使用了给定惯性权重 %该脚本要命名为func1.m %%%% ...

  9. 支持向量机(SVM)MATLAB 实例讲解,及选择训练方式使误差率尽可能减为0

    今天看了有关支持向量机(Support vector machine,简称SVM )用来分类的内容.通过学习算法,SVM可以自动找出那些对分类有用有较好区分能力的支持向量,由此构造出的分类器可以最大化 ...

  10. matlab 画非线性曲线,MATLAB实例:非线性曲线拟合

    MATLAB实例:非线性曲线拟合 用最小二乘法拟合非线性曲线,给出两种方法:(1)指定非线性函数,(2)用傅里叶函数拟合曲线 1. MATLAB程序 clear clc xdata=[0.1732;0 ...

最新文章

  1. tools。php,phpTools/tools.php at master · superve/phpTools · GitHub
  2. 用python画爱心-python画一个玫瑰和一个爱心
  3. 【Linux】一步一步学Linux——help命令(16)
  4. python人人贷爬虫_爬取人人贷网上部分借贷信息以及数据可视化
  5. mysql的innodb如何定位锁问题_mysql的innodb如何定位锁问题,mysql如何减少主从复制延迟?...
  6. 周志华教授专著《集成学习:基础与算法》上市,豆瓣满分森林书破解AI实践难题...
  7. 2019年互联网实习高薪清单,看你有没有被倒挂
  8. 移动视频监控(2)---原型开发---(音视频编解码多平台移植(for window/wince))ffmpeg --自由之路即是曲折之路。...
  9. css ios动画,我的CSS动画未在iOS的
  10. 如何查看python的版本号
  11. js ---- 数组操作
  12. 余丙森概率论pdf_【概率论与数理统计pdf】下载 - 面包树
  13. 【知识图谱】08KBQA问答系统(python+fuseki+jena)
  14. 02-Ceph 集群部署
  15. python|爬虫东宫小说
  16. 打印表格留标题怎么设置_打印如何添加标题?内容一页打不下?—关于Excel文档打印的那些事-excel打印区域怎么设置...
  17. color constancy dataset(白平衡仿真数据集)
  18. Maven多模块开发Action:Consider defining a bean of type '*.*.*' in your configuration解决
  19. jenkin设置定时构建及时区修改
  20. 【做人:一,性格和习惯的重要性[转载]】

热门文章

  1. Object R3TR DOCT ZLOGIN_SCREEN_INFO can not be modify
  2. PDF页面大小方向调整
  3. NXP发布M33的内核MCU,只有M0+的价格!
  4. 利用微搭实现下拉框动态填充值得问题
  5. cla无证书认证_一年制留服认证研究生
  6. IT项目管理:IT项目集成管理
  7. 深入理解 tornado 之底层 ioloop 实现
  8. 互联网思维“独孤九剑”:传统企业互联网化的心法
  9. Python爬虫第一步之获取网页源代码
  10. eul for Mac(菜单栏系统监控工具) v1.5中文版