matlab求解相关系数

  最近收到一项新任务,要求两个矩阵的相关系数,说白了就是转换成向量两两计算。本来这个工作我是想自己写个小程序搞定的,但是大家纷纷反映matlab自带了此项功能,本着活到老学到老的心态,我开始查找这个函数,目测貌似有两个函数可以直接调用,首先我们先来介绍下我们这里的相关系数。

  皮尔逊积矩相关系数(Pearson product-moment correlation coefficient)

通常用γ或ρ表示,是用来度量两个变量之间的相互关系(线性相关)的,取值范围在[-1,+1]之间。

  下面再说下可直接调用的函数

  1.corrcoef

 corrcoef(X):返回从矩阵X形成的一个相关系数矩阵,若X是一个m*n的矩阵,那么得到的相关系数矩阵A就是一个n*n的对称矩阵,A中的第i行第j列的元素表示的就是X第i列和第j列的相关系数。

corrcoef(X,Y):它的作用和corrcoef([X,Y])是一样的。

corrcoef函数算出来的是皮尔逊相关系数。

corrcoef函数计算相关系数是在matlab提供的cov函数基础上进行计算的,形成的矩阵是

  2.corr

 corr(X)输出的结果和corrcoef是一致的,但是corr可以自己选择相关系数的类型。matlab提供三种,默认的是皮尔逊相关系数,剩下的两种是kendall和spearman.

corr(X,'type','pearson')和corr(X)的结果是一样的。

 

 

 

 

 

posted @ 2013-07-11 11:07  紫巅草  阅读(10406)  评论(0编辑  收藏  举报