斯皮爾曼等級相關系數(shù)一_第1頁
斯皮爾曼等級相關系數(shù)一_第2頁
斯皮爾曼等級相關系數(shù)一_第3頁
斯皮爾曼等級相關系數(shù)一_第4頁
全文預覽已結束

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、Spearman Rank(斯皮爾曼等級)相關系數(shù)1、簡介在統(tǒng)計學中,斯皮爾曼等級相關系數(shù)以Charles Spearman命名,并經常用希臘字母(rho)表示其值。斯皮爾曼等級相關系數(shù)用來估計兩個變量X、Y之間的相關性,其中變量間的相關性可以使用單調函數(shù)來描述。如果兩個變量取值的兩個集合中均不存在相同的兩個元素,那么,當其中一個變量可以表示為另一個變量的很好的單調函數(shù)時(即兩個變量的變化趨勢相同),兩個變量之間的可以達到+1或-1。假設兩個隨機變量分別為X、Y(也可以看做兩個集合),它們的元素個數(shù)均為N,兩個隨即變量取的第i(1=i=N)個值分別用Xi、Yi表示。對X、Y進行排序(同時為升序

2、或降序),得到兩個元素排行集合x、y,其中元素xi、yi分別為Xi在X中的排行以及Yi在Y中的排行。將集合x、y中的元素對應相減得到一個排行差分集合d,其中di=xi-yi,1=i=N。隨機變量X、Y之間的斯皮爾曼等級相關系數(shù)可以由x、y或者d計算得到,其計算方式如下所示:由排行差分集合d計算而得(公式一):由排行集合x、y計算而得(斯皮爾曼等級相關系數(shù)同時也被認為是經過排行的兩個隨即變量的皮爾遜相關系數(shù),以下實際是計算x、y的皮爾遜相關系數(shù))(公式二):以下是一個計算集合中元素排行的例子(僅適用于斯皮爾曼等級相關系數(shù)的計算)這里需要注意:當變量的兩個值相同時,它們的排行是通過對它們位置進行平

3、均而得到的。2、適用范圍斯皮爾曼等級相關系數(shù)對數(shù)據(jù)條件的要求沒有皮爾遜相關系數(shù)嚴格,只要兩個變量的觀測值是成對的等級評定資料,或者是由連續(xù)變量觀測資料轉化得到的等級資料,不論兩個變量的總體分布形態(tài)、樣本容量的大小如何,都可以用斯皮爾曼等級相關系數(shù)來進行研究。3、Matlab實現(xiàn)源程序一:斯皮爾曼等級相關系數(shù)的Matlab實現(xiàn)(依據(jù)排行差分集合d計算,使用上面的公式一)cppview plaincopy1. functioncoeff=mySpearman(X,Y)2. %本函數(shù)用于實現(xiàn)斯皮爾曼等級相關系數(shù)的計算操作3. %4. %輸入:5. %X:輸入的數(shù)值序列6. %Y:輸入的數(shù)值序列7.

4、%8. %輸出:9. %coeff:兩個輸入數(shù)值序列X,Y的相關系數(shù)10. 11. 12. iflength(X)=length(Y)13. error(兩個數(shù)值數(shù)列的維數(shù)不相等);14. return;15. end16. 17. N=length(X);%得到序列的長度18. Xrank=zeros(1,N);%存儲X中各元素的排行19. Yrank=zeros(1,N);%存儲Y中各元素的排行20. 21. %計算Xrank中的各個值22. fori=1:N23. cont1=1;%記錄大于特定元素的元素個數(shù)24. cont2=-1;%記錄與特定元素相同的元素個數(shù)25. forj=1:N

5、26. ifX(i)X(j)27. cont1=cont1+1;28. elseifX(i)=X(j)29. cont2=cont2+1;30. end31. end32. Xrank(i)=cont1+mean(0:cont2);33. end34. 35. %計算Yrank中的各個值36. fori=1:N37. cont1=1;%記錄大于特定元素的元素個數(shù)38. cont2=-1;%記錄與特定元素相同的元素個數(shù)39. forj=1:N40. ifY(i)Y(j)41. cont1=cont1+1;42. elseifY(i)=Y(j)43. cont2=cont2+1;44. end45

6、. end46. Yrank(i)=cont1+mean(0:cont2);47. end48. 49. %利用差分等級(或排行)序列計算斯皮爾曼等級相關系數(shù)50. fenzi=6*sum(Xrank-Yrank).2);51. fenmu=N*(N2-1);52. coeff=1-fenzi/fenmu;53. 54. end%函數(shù)mySpearman結束源程序二:使用Matlab中已有的函數(shù)計算斯皮爾曼等級相關系數(shù)(使用上面的公式二)cppview plaincopy1. coeff=corr(X,Y,type,Spearman);注意:使用Matlab自帶函數(shù)計算斯皮爾曼等級相關系數(shù)時,

7、需要保證X、Y均為列向量;Matlab自帶的函數(shù)是通過公式二計算序列的斯皮爾曼等級相關系數(shù)的。一般情況下,使用上面給出的源程序一是可以得到所要的結果的,但是當序列X或Y中出現(xiàn)具有相同值的元素時,源程序一給出的結果就會與Matlab中corr函數(shù)計算的結果不同,這是因為當序列X或Y中有相同的元素時,公式一和公式二計算的結果會有偏差。這里可以通過將源程序一中的以下三行cppview plaincopy1. fenzi=6*sum(Xrank-Yrank).2);2. fenmu=N*(N2-1);3. coeff=1-fenzi/fenmu;改為cppview plaincopy1. coeff=corr(Xrank,Yrank);%皮爾遜相關系數(shù)這樣便可以使源程序一在計算包含相同元素值的變

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論