Kendall Rank(肯德尔等级)相关系数
1、簡(jiǎn)介
在統(tǒng)計(jì)學(xué)中,肯德爾相關(guān)系數(shù)是以Maurice Kendall命名的,并經(jīng)常用希臘字母τ(tau)表示其值。肯德爾相關(guān)系數(shù)是一個(gè)用來測(cè)量?jī)蓚€(gè)隨機(jī)變量相關(guān)性的統(tǒng)計(jì)值。一個(gè)肯德爾檢驗(yàn)是一個(gè)無參數(shù)假設(shè)檢驗(yàn),它使用計(jì)算而得的相關(guān)系數(shù)去檢驗(yàn)兩個(gè)隨機(jī)變量的統(tǒng)計(jì)依賴性。肯德爾相關(guān)系數(shù)的取值范圍在-1到1之間,當(dāng)τ為1時(shí),表示兩個(gè)隨機(jī)變量擁有一致的等級(jí)相關(guān)性;當(dāng)τ為-1時(shí),表示兩個(gè)隨機(jī)變量擁有完全相反的等級(jí)相關(guān)性;當(dāng)τ為0時(shí),表示兩個(gè)隨機(jī)變量是相互獨(dú)立的。
?
假設(shè)兩個(gè)隨機(jī)變量分別為X、Y(也可以看做兩個(gè)集合),它們的元素個(gè)數(shù)均為N,兩個(gè)隨即變量取的第i(1<=i<=N)個(gè)值分別用Xi、Yi表示。X與Y中的對(duì)應(yīng)元素組成一個(gè)元素對(duì)集合XY,其包含的元素為(Xi, Yi)(1<=i<=N)。當(dāng)集合XY中任意兩個(gè)元素(Xi, Yi)與(Xj, Yj)的排行相同時(shí)(也就是說當(dāng)出現(xiàn)情況1或2時(shí);情況1:Xi>Xj且Yi>Yj,情況2:Xi<Xj且Yi<Yj),這兩個(gè)元素就被認(rèn)為是一致的。當(dāng)出現(xiàn)情況3或4時(shí)(情況3:Xi>Xj且Yi<Yj,情況4:Xi<Xj且Yi>Yj),這兩個(gè)元素被認(rèn)為是不一致的。當(dāng)出現(xiàn)情況5或6時(shí)(情況5:Xi=Xj,情況6:Yi=Yj),這兩個(gè)元素既不是一致的也不是不一致的。
?
這里有三個(gè)公式計(jì)算肯德爾相關(guān)系數(shù)的值
?
公式一:
?
其中C表示XY中擁有一致性的元素對(duì)數(shù)(兩個(gè)元素為一對(duì));D表示XY中擁有不一致性的元素對(duì)數(shù)。
注意:這一公式僅適用于集合X與Y中均不存在相同元素的情況(集合中各個(gè)元素唯一)。
?
公式二:
?
注意:這一公式適用于集合X或Y中存在相同元素的情況(當(dāng)然,如果X或Y中均不存在相同的元素時(shí),公式二便等同于公式一)。
其中C、D與公式一中相同;
;;
N1、N2分別是針對(duì)集合X、Y計(jì)算的,現(xiàn)在以計(jì)算N1為例,給出N1的由來(N2的計(jì)算可以類推):
將X中的相同元素分別組合成小集合,s表示集合X中擁有的小集合數(shù)(例如X包含元素:1 2 3 4 3 3 2,那么這里得到的s則為2,因?yàn)橹挥?、3有相同元素),Ui表示第i個(gè)小集合所包含的元素?cái)?shù)。N2在集合Y的基礎(chǔ)上計(jì)算而得。
?
公式三:
?
注意:這一公式中沒有再考慮集合X、或Y中存在相同元素給最后的統(tǒng)計(jì)值帶來的影響。公式三的這一計(jì)算形式僅適用于用表格表示的隨機(jī)變量X、Y之間相關(guān)系數(shù)的計(jì)算(下面將會(huì)介紹)。
參數(shù)M稍后會(huì)做介紹。
?
以上都是圍繞用集合表示的隨機(jī)變量而計(jì)算肯德爾相關(guān)系數(shù)的,下面所講的則是圍繞用表格表示的隨機(jī)變量而計(jì)算肯德爾相關(guān)系數(shù)的。
?
通常人們會(huì)將兩個(gè)隨機(jī)變量的取值制作成一個(gè)表格,例如有10個(gè)樣本,對(duì)每個(gè)樣本進(jìn)行兩項(xiàng)指標(biāo)測(cè)試X、Y(指標(biāo)X、Y的取值均為1到3)。根據(jù)樣本的X、Y指標(biāo)取值,得到以下二維表格(表1):
?
由表1可以得到X及Y的可以以集合的形式表示為:
X={1, 1, 2, 2, 2, 2, 2, 3, 3, 3};
Y={1, 2, 1, 1, 2, 2, 3, 2, 3, 3};
得到X、Y的集合形式后就可以使用以上的公式一或公式二計(jì)算X、Y的肯德爾相關(guān)系數(shù)了(注意公式一、二的適用條件)。
當(dāng)然如果給定X、Y的集合形式,那么也是很容易得到它們的表格形式的。
?
這里需要注意的是:公式二也可以用來計(jì)算表格形式表示的二維變量的肯德爾相關(guān)系數(shù),不過它一般用來計(jì)算由正方形表格表示的二維變量的肯德爾相關(guān)系數(shù),公式三則只是用來計(jì)算由長方形表格表示的二維變量的Kendall相關(guān)系數(shù)。這里給出公式三中字母M的含義,M表示長方形表格中行數(shù)與列數(shù)中較小的一個(gè)。表1的行數(shù)及列數(shù)均為三。
?
2、適用范圍?
肯德爾相關(guān)系數(shù)與斯皮爾曼相關(guān)系數(shù)對(duì)數(shù)據(jù)條件的要求相同,可參見統(tǒng)計(jì)相關(guān)系數(shù)(2)--Spearman Rank(斯皮爾曼等級(jí))相關(guān)系數(shù)及MATLAB實(shí)現(xiàn)中介紹的斯皮爾曼相關(guān)系數(shù)對(duì)數(shù)據(jù)條件的要求。
?
3、Matlab實(shí)現(xiàn)
源程序一:
肯德爾相關(guān)系數(shù)的Matlab實(shí)現(xiàn)(依據(jù)公式二得到)
?
function coeff = myKendall(X , Y) % 本函數(shù)用于實(shí)現(xiàn)肯德爾等級(jí)相關(guān)系數(shù)的計(jì)算操作 % % 輸入: % X:輸入的數(shù)值序列 % Y:輸入的數(shù)值序列 % % 輸出: % coeff:兩個(gè)輸入數(shù)值序列X,Y的相關(guān)系數(shù)if length(X) ~= length(Y)error('兩個(gè)數(shù)值數(shù)列的維數(shù)不相等');return; end%將X變?yōu)樾行蛄?#xff08;如果X已經(jīng)是行序列則不作任何變化) if size(X , 1) ~= 1X = X'; end %將Y變?yōu)樾行蛄?#xff08;如果Y已經(jīng)是行序列則不作任何變化) if size(Y , 1) ~= 1Y = Y'; endN = length(X); %得到序列的長度 XY = [X ; Y]; %得到合并序列 C = 0; %一致性的數(shù)組對(duì)數(shù) D = 0; %不一致性的數(shù)組對(duì)數(shù) N1 = 0; %集合X中相同元素總的組合對(duì)數(shù) N2 = 0; %集合Y中相同元素總的組合對(duì)數(shù) N3 = 0; %合并序列XY的總對(duì)數(shù) XPair = ones(1 , N); %集合X中由相同元素組成的各個(gè)子集的元素?cái)?shù) YPair = ones(1 , N); %集合Y中由相同元素組成的各個(gè)子集的元素?cái)?shù) cont = 0; %用于計(jì)數(shù)%計(jì)算C與D for i = 1 : N - 1for j = i + 1 : Nif abs(sum(XY(: , i) ~= XY(: , j))) == 2 switch abs(sum(XY(: , i) > XY(: , j)))case 0C = C + 1;case 1D = D + 1;case 2C = C + 1;endendend end%計(jì)算XPair中各個(gè)元素的值 while length(X) ~= 0cont = cont + 1;index = find(X == X(1));XPair(cont) = length(index);X(index) = []; end %計(jì)算YPair中各個(gè)元素的值 cont = 0; while length(Y) ~= 0cont = cont + 1;index = find(Y == Y(1));YPair(cont) = length(index);Y(index) = []; end%計(jì)算N1、N2及N3的值 N1 = sum(0.5 * (XPair .* (XPair - 1))); N2 = sum(0.5 * (YPair .* (YPair - 1))); N3 = 0.5 * N * (N - 1);coeff = (C - D) / sqrt((N3 - N1) * (N3 - N2));end %函數(shù)myKendall結(jié)束
?
源程序二:
使用Matlab中已有的函數(shù)計(jì)算肯德爾相關(guān)系數(shù)
?
coeff = corr(X , Y , 'type' , 'Kendall');
注意:使用Matlab自帶函數(shù)計(jì)算肯德爾相關(guān)系數(shù)時(shí),需要保證X、Y均為列向量;Matlab自帶的函數(shù)是通過公式二計(jì)算序列的肯德爾相關(guān)系數(shù)的。
?
這里還有另外一種不是計(jì)算肯德爾相關(guān)系數(shù)的公式(僅適用于集合X與Y中均不存在相同元素的情況,實(shí)際上其與公式一等價(jià)),可見參考文獻(xiàn)(3)。
?
4、參考內(nèi)容
(1)、http://en.wikipedia.org/wiki/Kendall_tau_rank_correlation_coefficient
(2)、http://www.unesco.org/webworld/idams/advguide/Chapt4_2.htm
(3)、http://www.wikidoc.org/index.php/Kendall_tau_rank_correlation_coefficient
--------------------- 
作者:wsywl 
來源:CSDN 
原文:https://blog.csdn.net/wsywl/article/details/5889419 
版權(quán)聲明:本文為博主原創(chuàng)文章,轉(zhuǎn)載請(qǐng)附上博文鏈接!
轉(zhuǎn)載于:https://www.cnblogs.com/sddai/p/10323561.html
總結(jié)
以上是生活随笔為你收集整理的Kendall Rank(肯德尔等级)相关系数的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
 
                            
                        - 上一篇: 【洛谷 P3194】 [HNOI2008
- 下一篇: CLR 中 线程的 ThreadStat
