相关系数的计算方法

相关系数定义(截图自百度百科):


关于相关系数的计算有两个性质:

性质一:



性质二:


利用上述两个性质,可得到一种计算相关系数的方法:先对两个随机变量X和Y进行标准化处理,即


然后再计算即可。

在实际中,给定具有N个元素的两个向量x和y,按照上述方法计算其Pearson相关系数的Matlab代码如下:

   mean_value = repmat(mean(X),N,1);
    X = X - mean_value;
    X = X./repmat( sum(X.^2).^(1/2),N,1);  //这儿计算方差时并未除以元素个数n,但不影响计算结果,因为后面计算EXY 时也未除以n。

    mean_value = repmat(mean(Y),N,1);
    Y = Y - mean_value;
    Y = Y./ repmat( sum(Y.^2).^(1.2),N,1);
    
    corr = X'.Y; 
该方法虽然并未减少时间和空间消耗,但是当需要求两个随机向量 时,直接调用Matlab提供的计算函数corrcoef(),会额外计算相关系数 ,为了减少不必要地计算,可使用上述介绍的方法来代替。

你可能感兴趣的:(Matlab)