斯皮尔曼等级相关系数一.doc

斯皮尔曼等级相关系数一.doc

ID:52817122

大小:49.50 KB

页数:4页

时间:2020-03-30

斯皮尔曼等级相关系数一.doc_第1页
斯皮尔曼等级相关系数一.doc_第2页
斯皮尔曼等级相关系数一.doc_第3页
斯皮尔曼等级相关系数一.doc_第4页
资源描述:

《斯皮尔曼等级相关系数一.doc》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、SpearmanRank(斯皮尔曼等级)相关系数 1、简介在统计学中,斯皮尔曼等级相关系数以CharlesSpearman命名,并经常用希腊字母ρ(rho)表示其值。斯皮尔曼等级相关系数用来估计两个变量X、Y之间的相关性,其中变量间的相关性可以使用单调函数来描述。如果两个变量取值的两个集合中均不存在相同的两个元素,那么,当其中一个变量可以表示为另一个变量的很好的单调函数时(即两个变量的变化趋势相同),两个变量之间的ρ可以达到+1或-1。  假设两个随机变量分别为X、Y(也可以看做两个集合),它们的元素个数均为N,两个随即变量取的第

2、i(1<=i<=N)个值分别用Xi、Yi表示。对X、Y进行排序(同时为升序或降序),得到两个元素排行集合x、y,其中元素xi、yi分别为Xi在X中的排行以及Yi在Y中的排行。将集合x、y中的元素对应相减得到一个排行差分集合d,其中di=xi-yi,1<=i<=N。随机变量X、Y之间的斯皮尔曼等级相关系数可以由x、y或者d计算得到,其计算方式如下所示: 由排行差分集合d计算而得(公式一):由排行集合x、y计算而得(斯皮尔曼等级相关系数同时也被认为是经过排行的两个随即变量的皮尔逊相关系数,以下实际是计算x、y的皮尔逊相关系数)(公式二

3、): 以下是一个计算集合中元素排行的例子(仅适用于斯皮尔曼等级相关系数的计算)这里需要注意:当变量的两个值相同时,它们的排行是通过对它们位置进行平均而得到的。 2、适用范围斯皮尔曼等级相关系数对数据条件的要求没有皮尔逊相关系数严格,只要两个变量的观测值是成对的等级评定资料,或者是由连续变量观测资料转化得到的等级资料,不论两个变量的总体分布形态、样本容量的大小如何,都可以用斯皮尔曼等级相关系数来进行研究。3、Matlab实现源程序一:斯皮尔曼等级相关系数的Matlab实现(依据排行差分集合d计算,使用上面的公式一)[cpp] vie

4、wplaincopy1.function coeff = mySpearman(X , Y)  2.% 本函数用于实现斯皮尔曼等级相关系数的计算操作  3.%  4.% 输入:  5.%   X:输入的数值序列  6.%   Y:输入的数值序列  7.%  8.% 输出:  9.%   coeff:两个输入数值序列X,Y的相关系数  10.  11.  1.if length(X) ~= length(Y)  2.    error('两个数值数列的维数不相等');  3.    return;  4.end  5.  6.N =

5、 length(X); %得到序列的长度  7.Xrank = zeros(1 , N); %存储X中各元素的排行  8.Yrank = zeros(1 , N); %存储Y中各元素的排行  9.  10.%计算Xrank中的各个值  11.for i = 1 : N  12.    cont1 = 1; %记录大于特定元素的元素个数  13.    cont2 = -1; %记录与特定元素相同的元素个数  14.    for j = 1 : N  15.        if X(i) < X(j)  16.          

6、  cont1 = cont1 + 1;  17.        elseif X(i) == X(j)  18.            cont2 = cont2 + 1;  19.        end  20.    end  21.    Xrank(i) = cont1 + mean([0 : cont2]);  22.end  23.  24.%计算Yrank中的各个值  25.for i = 1 : N  26.    cont1 = 1; %记录大于特定元素的元素个数  27.    cont2 = -1; %记录

7、与特定元素相同的元素个数  28.    for j = 1 : N  29.        if Y(i) < Y(j)  30.            cont1 = cont1 + 1;  31.        elseif Y(i) == Y(j)  32.            cont2 = cont2 + 1;  33.        end  34.    end  35.    Yrank(i) = cont1 + mean([0 : cont2]);  36.end  37.  38.%利用差分等级(或排行)序

8、列计算斯皮尔曼等级相关系数  39.fenzi = 6 * sum((Xrank - Yrank).^2);  40.fenmu = N * (N^2 - 1);  41.coeff = 1 - fenzi / fenmu;  42.  43.en

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。