ضریب همبستگی رتبهای اسپیرمن [۱] آمارهای ناپارامتری برای سنجش ضریب همبستگی بین دو متغیر تصادفی است. این ضریب را معمولاً با ρ یا r s {\displaystyle r_{s}} نشان میدهند.
مقدار ضریب همبستگی رتبهای اسپیرمن مبین قابلیت بیان یک متغیر به صورت تابعی یکنوا از متغیر دیگر است. همبستگی کامل پیرسون (۱+ یا ۱-) در جاییست که متغیری تابعی یکنوا از متغیر دیگر باشد. صفر بودن این ضریب دلیل استقلال متقابل است. لازم به ذکر است که از ضریب اسپیرمن تنها در شرایطی استفاده میشود که دادههای ورودی رتبهای باشند. روش های دیگری مانند تای کندال را می توان بهجای ضریب همبستگی اسپیرمن استفاده نمود که همانند روش اسپیرمن یک روش ناپارامتری محسوب می شود.
اگر n زوج داده به صورت ( X i , Y i ) {\displaystyle (X_{i},Y_{i})} داده شدهباشند و رتبهٔ هر داده را به صورت ( x i , y i ) {\displaystyle (x_{i},y_{i})} تعریف کنیم، ضریب اسپیرمن از طریق فرمول زیر محاسبه می گردد[۲][۳]:
r s = 1 − 6 ∑ d i 2 n ( n 2 − 1 ) {\displaystyle r_{s}=1-{\frac {6\sum d_{i}^{2}}{n(n^{2}-1)}}}
بطوریکه مقدار d i {\displaystyle d_{i}} بیانگر فاصله بین دو رنک در مشاهدات است که از طریق فرمول d i = R ( x i ) − R ( y i ) {\displaystyle d_{i}=\operatorname {R} (x_{i})-\operatorname {R} (y_{i})} محاسبه می گردد و n {\displaystyle n} بیانگر تعداد مشاهدات است.
همچنین، این ضریب را میتوان به صورت ضریب همبستگی پیرسون بین دادههای رتبهبندی شده تعریف کرد. به عنوان مثال، اگر n زوج داده به صورت ( X i , Y i ) {\displaystyle (X_{i},Y_{i})} داده شدهباشند، ابتدا رتبهٔ هر داده را به صورت ( x i , y i ) {\displaystyle (x_{i},y_{i})} حساب کرده و سپس ضریب همبستگی اسپیرمن را به صورت زیر حساب میکنیم:
به دادههای تکراری مقدار میانگین رتبهها را اختصاص میدهیم. جدول زیر مثالی از محاسبهٔ رتبه را نشان میدهد:
فرض کنید دو سری دیتا رتبه ای بهصورت جدول زیر وجود دارد. می خواهیم مقدار ضریب اسپیرمن را برای این دیتاها محاسبه نماییم.
مقدار ضریب اسپیرمن برای این دو سری دیتا 0.5 خواهد بود که بیانگر مشابهت آنها می باشد. نحوه محاسبه ضریب اسپیرمن بهصورت زیر است:
r s = 1 − 6 ∑ d i 2 n ( n 2 − 1 ) = 1 − 6 ∗ ( ( 1 − 1 ) 2 + ( 3 − 2 ) 2 + ( 2 − 3 ) 2 ) 3 ( 3 2 − 1 ) = 0.5 {\displaystyle r_{s}=1-{\frac {6\sum d_{i}^{2}}{n(n^{2}-1)}}=1-{\frac {6*((1-1)^{2}+(3-2)^{2}+(2-3)^{2})}{3(3^{2}-1)}}=0.5}
در متلب، تابع corr برای این منظور است؛ مثلاً در کد زیر:
N=5; % No. of nodes
x = randn(N,1); y = randn(N,1);
[r,p] = corr(x,y,'type','Spearman');
z(N,2)=0; z(:,1)=x(:,1);z(:,2)=y(:,1);z2=sortrows(z,1);zx=z2(:,1);zy=z2(:,2);
fprintf(' Spearman"s rho= %g, P_Value= %g\n',r,p), plot(zx,zy,'ro-')
مقدار ضریب اسپیرمن و مقدار احتمال محاسبه میشوند. توجه شود که مقدار احتمال تابعی از ضریب اسپیرمن و شمار نمونه هاست.
همچنین می توان مقدار ضریب اسپیرمن را در اکسل با استفاده از تابع CORREL(array1, array2) محاسبه نمود.