تقنية

ارتباط أعمدة ناقصة: هل تستعمل كل خلية الصفوف نفسها؟

اختلاف عدد المشاهدات المكتملة لثلاث مقارنات ارتباط في الجدول نفسه
مثال أصلي لتغطية الأزواج دون حساب معاملات.

ارتباط أعمدة ناقصة قد يعرض مصفوفة واحدة، لكن خلاياها لا تعتمد بالضرورة على الصفوف نفسها. توثق pandas حساب الارتباط بالمشاهدات المكتملة لكل زوج من الأعمدة. [1] نراجع ستة صفوف مؤلفة، ونعد ما يبقى لكل مقارنة قبل قراءة أي معامل.

الخلاصة السريعة

لا؛ عند استبعاد المفقود لكل زوج، قد تستعمل خلية أ وب صفين، بينما تستعمل أ وج أربعة صفوف، رغم خروج الخليتين في المصفوفة نفسها.

  • تحسب DataFrame.corr ارتباط Pearson وKendall وSpearman من المشاهدات المكتملة لكل زوج. [1] نختار Pearson وأعمدة عددية فقط في المثال.
  • لدى أ وب أربع قيم معلومة لكل منهما، لكنهما يشتركان في صفين مكتملين فقط. أما أ وج وب وج فلدى كل منهما أربعة أزواج مكتملة.
  • تعرف pandas min_periods حدًا أدنى لكل زوج، وهو متاح لـPearson وSpearman. [1] عند حد 3 ، لا يجتاز زوج أ وب الشرط؛ عدد القيم المنفردة في العمود لا يكفي.
  • حفظ الصفوف وعدد الأزواج يكشف تغطية كل خلية. تجاوز الحد العددي لا يثبت كفاية البيانات أو صلاحية الاستنتاج، ولم نحسب معاملات أو نشغل pandas هنا.

ما الذي يستبعده الحساب لكل زوج؟

توثق pandas استعمال المشاهدات المكتملة لكل زوج في طرق Pearson وKendall وSpearman. [1]

نختار Pearson ونعلن ثلاثة أعمدة عددية أ وب وج. تكون مشاهدة زوج مكتملة إذا عرفت قيمتا العمودين في الصف نفسه. وجود قيمة في أ لا يكمل الزوج إذا غابت ب في ذلك الصف.

نكتب «مفقود» في الجدول للدلالة على غياب القيمة؛ لا نعني صفرًا. ولا نملأ المفقود بقيمة مقدرة ضمن هذا المثال، لأن ذلك سينشئ مدخلًا مختلفًا لحساب آخر.

أي صفوف تبقى في كل مقارنة؟

نؤلف ستة صفوف. أ معلوم في الصفوف 1 و 2 و 4 و 5 ، وب معلوم في 1 و 3 و 4 و 6 ، وج معلوم في الصفوف الستة.

إذن الصفان المشتركان بين أ وب هما 1 و 4 فقط. أما أ وج فتستعمل 1 و 2 و 4 و 5 ، وب وج تستعمل 1 و 3 و 4 و 6. أربعة أعداد في كل من أ وب لا تعني أربعة أزواج مشتركة.

تختلف قوائم الحالات التي تصفها الخلايا. لذلك نحفظ أسماء الصفوف بجانب الأعداد بدل التعامل مع المصفوفة كلها كأنها ملخص مجموعة مكتملة واحدة.

الصف المؤلفأبج
1271
25مفقود3
3مفقود94
4846
511مفقود8
6مفقود1210

أين يطبق الحد الأدنى min_periods؟

تعرف pandas min_periods بأنه العدد الأدنى من المشاهدات المطلوبة لكل زوج للحصول على نتيجة صالحة، وتوثق إتاحته لـPearson وSpearman. [1]

نختار حدًا مقداره 3. زوج أ وب يملك 2 ، فيفشل هذا الشرط. الزوجان أ وج وب وج يملك كل منهما 4 ، فيجتازان شرط العدد في جدولنا. لا نمد حكم الإعداد إلى Kendall.

لا نستخرج معاملًا من مجرد الاجتياز؛ نميز شرط التغطية العددية من النتيجة الحسابية ومن تقييم مناسبتها للمهمة. ولم نستدع الواجهة كي ننقل مخرجًا فعليًا أو رسالة بعينها.

كيف نرفق المصفوفة بتغطيتها؟

نقترح جدولًا مساعدًا يذكر لكل زوج أسماء الصفوف المكتملة وعددها والطريقة والحد الأدنى. إذا تغير ملف المدخل، نراجع تلك القوائم قبل مقارنة معامل جديد بمعامل قديم.

لا يحول العدد أربعة إلى إثبات تمثيل جميع الحالات أو صحة علاقة في مجتمع أوسع. وحتى المقارنة التي اجتازت الحد قد تحتاج مراجعة ثبات القيم وتصميم السجل ومعنى الأزواج.

مقالنا يعد الصفوف فقط، ولا ينتج معاملات ارتباط أو قيم p. الفائدة أن شكل المصفوفة الموحد لا يخفي اختلاف المشاهدات التي دخلت كل خلية.

المصادر ومتابعة القراءة

  1. pandas: DataFrame.corr (يفتح في نافذة جديدة)pandas.pydata.org

أُعدّ هذا المقال بصياغة عربية أصلية بالاستناد إلى المصادر أعلاه، وهو مدخل تمهيدي إلى الموضوع. اقرأ منهجية المحتوى وحدوده.