رتب القيم المتساوية تعتمد على قاعدة التعامل مع التعادل. قد يحتفظ جدولان بالقيم نفسها، ثم تختلف خانة الرتبة لأن أحدهما اختار average والآخر dense. نرتب أربع قيم مؤلفة تصاعديًا، ونقارن طرق rankdata دون أن نفسر اختلاف رتبتين كأنه اختلاف في القياس.
الخلاصة السريعة
لا؛ قاعدة التعادل جزء من معنى الرتبة. تغير القاعدة قد يغير الرتب دون أن يغير القيم الأصلية أو يجعل إحدى القيمتين المتساويتين أكبر من الأخرى.
- تبدأ رتب rankdata من 1 ، والطريقة الافتراضية average. [1] نقصر المثال على قائمة عددية واحدة بلا قيم مفقودة، بترتيب تصاعدي.
- لقيم 4 و 4 و 9 و 15 ، يعطي حساب average الرتب 1.5 و 1.5 و 3 و 4 ؛ وmin يعطي 1 و 1 و 3 و 4 ، وmax يعطي 2 و 2 و 3 و 4.
- يعطي dense هنا 1 و 1 و 2 و 3 ، دون فجوة بعد التعادل. أما ordinal فيميز القيم المتساوية وفق ترتيب ظهورها. [1] فرق الرتبتين لا يثبت فرق القيمة.
- احفظ اسم الطريقة واتجاه الترتيب وهوية كل قيمة. لم ننفذ الدالة، والرتب ليست مسافات عددية بين القياسات أو دليل جودة نموذج.
ما مجال المثال وقاعدة بدايته؟
توثق SciPy أن الرتب تبدأ من 1 وأن average هي طريقة التعادل الافتراضية. [1]
نؤلف أربع قيم هي 4 و 4 و 9 و 15. نمنح القيم الأصغر رتبًا أصغر، ولا توجد قيمة مفقودة في قائمتنا. لكل ظهور للعدد 4 هوية مختلفة، رغم تساوي القيمة.
نقصر الحساب على هذه القائمة الواحدة. لا ندرس ترتيب مصفوفة عبر محاور مختلفة أو طريقة التعامل مع NaN؛ تلك الإعدادات ليست ضمن المقارنة التي يعرضها الجدول.
كيف تقسم الطرق رتبتي القيمتين المتساويتين؟
توثق SciPy أن average تمنح كل قيمة متعادلة متوسط الرتب التي كانت ستشغلها، وmin تمنح أدناها وmax أعلاها. [1]
في قائمتنا يشغل التعادل موضعي الرتبة 1 و 2. متوسطهما 1.5 ، لذلك يحصل ظهورا العدد 4 على 1.5 في average. وتمنحهما min الرقم 1 ، بينما تمنحهما max الرقم 2.
تبقى 9 في الرتبة 3 و 15 في الرتبة 4 في هذه الطرق الثلاث. لم تختف مشاهدة من البيانات؛ اختلفت طريقة تسمية موضعي التعادل.
ما الفرق بين كثافة الرتب وفك التعادل بترتيب الظهور؟
تصف SciPy dense بأنها تنتقل بعد التعادل إلى الرتبة التالية مباشرة، وordinal بأنها تمنح رتبًا منفصلة للقيم المتساوية بحسب ترتيب ظهورها. [1]
في dense يصبح ظهورا 4 في الرتبة 1 ، ثم 9 في الرتبة 2 و 15 في الرتبة 3. لا تعني الفجوة المختصرة أن الفروق بين 4 و 9 وبين 9 و 15 متساوية.
في ordinal يحصل ظهور 4 الأول على 1 والثاني على 2. إذا بدلنا هويتي الظهورين قبل الترتيب، تبدلت الرتبتان المنسوبتان إليهما؛ القيمتان ما زالتا متساويتين. ترتيب الوصول فض التعادل، ولم يثبت تفوق قياس على الآخر.
| طريقة الحساب | ظهور 4 الأول | ظهور 4 الثاني | القيمة 9 | القيمة 15 |
|---|---|---|---|---|
| average | 1.5 | 1.5 | 3 | 4 |
| min | 1 | 1 | 3 | 4 |
| max | 2 | 2 | 3 | 4 |
| dense | 1 | 1 | 2 | 3 |
| ordinal | 1 | 2 | 3 | 4 |
ماذا نكتب مع عمود الرتبة؟
نقترح حفظ القيمة الأصلية وهوية ظهورها واسم طريقة التعادل واتجاه الترتيب. بهذه المعلومات يمكن تفسير لماذا رأينا 1.5 في ملف و 1 في آخر دون اتهام أحدهما بتغيير القيمة.
وإذا طلبت مهمة اختيار سجل واحد عند التعادل، نعلن قاعدة ذلك القرار. استخدام ordinal لتكوين رتب منفصلة يختلف عن وجود فرق قياسي يبرر اختيار الحالة الأولى.
الجدول حساب يدوي للطرق الموصوفة، وليس مخرج تشغيل. الرتبة تخبرنا عن ترتيب وفق قاعدة معلنة؛ لا تستعيد وحدات القياس أو مقادير الفروق، ولا تثبت وحدها فائدة ترتيب معين لنموذج.
المصادر ومتابعة القراءة
- SciPy: rankdata (يفتح في نافذة جديدة)docs.scipy.org
أُعدّ هذا المقال بصياغة عربية أصلية بالاستناد إلى المصادر أعلاه، وهو مدخل تمهيدي إلى الموضوع. اقرأ منهجية المحتوى وحدوده.
