كيفية حساب ارتباط رتبة سبيرمان في بايثون
في الإحصاء، يشير الارتباط إلى قوة واتجاه العلاقة بين متغيرين. يمكن أن تتراوح قيمة معامل الارتباط من -1 إلى 1، مع التفسيرات التالية:
- -1: وجود علاقة سلبية تامة بين متغيرين
- 0: لا توجد علاقة بين متغيرين
- 1: وجود علاقة إيجابية مثالية بين متغيرين
هناك نوع خاص من الارتباط يسمى ارتباط رتبة سبيرمان ، والذي يستخدم لقياس الارتباط بين متغيرين مرتبين. (على سبيل المثال، ترتيب درجة امتحان الرياضيات للطالب بالنسبة إلى ترتيب درجة امتحان العلوم في الفصل الدراسي).
يشرح هذا البرنامج التعليمي كيفية حساب ارتباط رتبة سبيرمان بين متغيرين في بايثون
مثال: ارتباط رتبة سبيرمان في بايثون
لنفترض أن لدينا DataFrame الباندا التالية التي تحتوي على درجة امتحان الرياضيات ودرجة امتحان العلوم لـ 10 طلاب في فصل معين:
import pandas as pd #createDataFrame df = pd. DataFrame ({'student': ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J'], 'math': [70, 78, 90, 87, 84, 86, 91, 74, 83, 85], 'science': [90, 94, 79, 86, 84, 83, 88, 92, 76, 75]})
لحساب ارتباط رتبة سبيرمان بين درجات الرياضيات والعلوم، يمكننا استخدام الدالة Spearmanr() في scipy.stats :
from scipy. stats import spearmanr
#calculate Spearman Rank correlation and corresponding p-value
rho, p = spearmanr(df[' math '], df[' science '])
#print Spearman rank correlation and p-value
print (rho)
-0.41818181818181815
print (p)
0.22911284098281892
من النتيجة، يمكننا أن نرى أن ارتباط رتبة سبيرمان هو -0.41818 والقيمة الاحتمالية المقابلة هي 0.22911 .
وهذا يدل على أن هناك علاقة ارتباطية سلبية بين درجات امتحانات العلوم والرياضيات.
ومع ذلك، بما أن القيمة p للارتباط لا تقل عن 0.05، فإن الارتباط ليس ذا دلالة إحصائية.
لاحظ أنه يمكننا أيضًا استخدام الصيغة التالية لاستخراج معامل الارتباط أو القيمة p:
#extract Spearman Rank correlation coefficient
spearmanr(df[' math '], df[' science '])[0]
-0.41818181818181815
#extract p-value of Spearman Rank correlation coefficient
spearmanr(df[' math '], df[' science '])[1]
0.22911284098281892
مصادر إضافية
كيفية حساب ارتباط رتبة سبيرمان في R
كيفية حساب ارتباط رتبة سبيرمان في إكسيل
كيفية حساب ارتباط رتبة سبيرمان في ستاتا