【问题标题】:Calculate the average of Spearman correlation计算 Spearman 相关性的平均值
【发布时间】:2018-01-01 05:59:00
【问题描述】:

我有 2 列 A 和 B,其中包含 Spearman 的相关值,如下所示:

 0.127272727    -0.260606061
-0.090909091    -0.224242424
0.345454545      0.745454545
0.478787879      0.660606061
-0.345454545    -0.333333333
0.151515152     -0.127272727
0.478787879     0.660606061
-0.321212121    -0.284848485
0.284848485     0.515151515
0.36969697     -0.139393939
-0.284848485    0.272727273

如何在 Excel 或 Matlab 中计算这两列中这些相关值的平均值?我在这个链接中找到了一个接近的答案:https://stats.stackexchange.com/questions/8019/averaging-correlation-values 要点是在这种情况下我们不能使用均值或平均值,如链接中所述。他们提出了一个很好的方法来做到这一点,但我不知道如何在 Excel 或 Matlab 中实现它。

【问题讨论】:

    标签: excel matlab average correlation


    【解决方案1】:

    根据您提供的link 的第二个答案,这是最一般的情况,您可以在 Matlab 中计算平均 Spearman rho,如下所示:

    M = [0.127272727    -0.260606061;
        -0.090909091    -0.224242424;
        0.345454545      0.745454545;
        0.478787879      0.660606061;
        -0.345454545    -0.333333333;
        0.151515152     -0.127272727;
        0.478787879     0.660606061;
        -0.321212121    -0.284848485;
        0.284848485     0.515151515;
        0.36969697     -0.139393939;
        -0.284848485    0.272727273];
    
    
    z = atanh(M);
    meanRho = tanh(mean(z));
    

    如您所见,它给出了

    的平均值
    meanRho = 
    0.1165    0.1796
    

    而简单的平均值非常接近:

    mean(M)
    
    ans =
    
    0.1085    0.1350
    

    编辑:有关费舍尔变换的更多信息here。

    【讨论】:

      【解决方案2】:

      在 MATLAB 中,使用这些值定义一个矩阵并使用 mean 函数,如下所示:

      %define a matrix M
      M = [0.127272727    -0.260606061;
      -0.090909091    -0.224242424;
      0.345454545      0.745454545;
      0.478787879      0.660606061;
      -0.345454545    -0.333333333;
      0.151515152     -0.127272727;
      0.478787879     0.660606061;
      -0.321212121    -0.284848485;
      0.284848485     0.515151515;
      0.36969697     -0.139393939;
      -0.284848485    0.272727273];
      
      %calculates the mean of each column
      meanVals = mean(M);
      

      结果

      meanVals =
      0.1085    0.1350
      

      也可以按如下方式计算总均值和每一行的均值:

      meanVals = mean(M); %total mean
      meanVals = mean(M,2); %mean of each row
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-02-19
        • 1970-01-01
        • 2021-09-15
        • 2014-05-22
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多