matlab中cov的处理方法
来源:互联网 发布:乐语客户端for mac 编辑:程序博客网 时间:2024/05/17 02:42
前几日一MM问我matlab中的cov函数是如何实现的,笔算的结果和电脑算的结果怎么不一样……于是两个人一起算了下,确实结果不太一样(其实差好远)……于是决定花时间研究了一下……于是花了不少时间才研究出来。这里把这个问题总结一下,以给后人前车之鉴。
算法实现
- 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
如何理解
matlab在计算相关矩阵时,把每一列的数作为一个随机变量的样本,每一行作为一个这几个随机变量的联合样本,即第i个随机变量取第k行的样本值时,第j个随机变量也取第k行的样本值。利用这个性质,我们就可以用协方差的公式代入来计算协方差矩阵了。
然而,由于矩阵中给出只是这些随机变量的样本,根据概率论的知识我们知道,由于我们不知道这些随机变量的概率分布(或联合概率分布),我们是不可能计算出这些随机变量的期望、方差或是协方差的,而只能计算出它们的一个无偏估计,即样本均值、样本方差与样本协方差。其计算公式如下所示:
matlab中的解释
cov(x), if X is a vector, returns the variance. For matrices, where each row is an observation, and each column is a variable, cov(X) is the covariance matrix. diag(cov(X)) is a vector of variances for each column, and sqrt(diag(cov(X))) is a vector of standard deviations. cov(X,Y), where X and Y are matrices with the same number of elements, is equivalent to cov([X(:) Y(:)]).
cov(x) or cov(x,y) normalizes by N-1, if N>1, where N is the number of observations. This makes cov(X)the best unbiased estimate of the covariance matrix if the observations are from a normal distribution. ForN=1, cov normalizes by N.
原文出处 http://blog.csdn.net/xiaojidan2011/article/details/8138775
- matlab中cov的处理方法
- MATLAB中cov(x)与cov(x,1)的区别
- Matlab中cov函数的算法
- Matlab中cov函数的算法
- matlab 的cov()函数
- matlab xcorr与cov的区别
- matlab cov 函数解析
- matlab cov函数
- matlab中的cov函数
- LLVM中code coverage检测工具llvm-cov的使用
- 协方差与相关系数 numpy中cov与corrcoef的使用
- matlab中图像的处理
- Matlab var std cov 函数解析
- 【matlab 图像处理】MATLAB中图像处理的函数
- MATLAB有关数字信号处理的一些方法
- Matlab处理图像的一般方法
- Window7笔记本 Matlab打不开的处理方法
- 关于numpy中cov(x)与cover(x,y)的一些理解
- Python开发利器WingIDE破解方法
- Java Web 开发地址元则
- android中传感器的学习
- tomcat安装版配置
- fragment 初探
- matlab中cov的处理方法
- Oracle DBV 工具 说明
- Android操作系统11种传感器介绍
- java小例子:使用javadoc工具生成API文档
- set_multicycle_path (转)set_false_path
- 论文读书笔记-topic correlation and individual influenceanalysis in online forums
- 第 2堂作业(3)
- Java模拟新浪和腾迅自动登录并发送微博(2013年3月更新可用)
- Exchange OWA页面无法搜索的问题,解决方法