كيف تستخدم التحليل الاستكشافي للبيانات EDA لاكتشاف الانحياز قبل بناء النموذج؟

مقدمة

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

التحليل الاستكشافي للبيانات، أو Exploratory Data Analysis واختصاره EDA، هو عملية فحص البيانات باستخدام الإحصاءات الوصفية والجداول والرسوم البيانية واختبارات الاتساق. لا يقتصر هدفه على اكتشاف القيم المفقودة أو الشاذة، بل يتجاوز ذلك إلى فهم من تمثله البيانات، ومن تغفله، وكيف تختلف العلاقات بين المتغيرات عبر المجموعات السكانية المختلفة. هذا الفهم المبكر يقلل احتمال بناء نموذج دقيق ظاهرياً لكنه غير عادل عملياً.

ما المقصود بالانحياز في البيانات ولماذا يجب كشفه مبكراً؟

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

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

توجد صور متعددة للانحياز ينبغي الانتباه إليها خلال مرحلة EDA، منها:

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

اكتشاف هذه المشكلات قبل بناء النموذج أقل كلفة وأكثر فاعلية من محاولة تصحيحها بعد نشره. كما أن فحص الانحياز مبكراً يمنع الباحث من تفسير ارتباطات مضللة على أنها علاقات سببية أو مؤشرات تنبؤية مشروعة.

ابدأ بفهم بنية البيانات وتغطية الفئات المختلفة

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

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

مثلاً، يمكن البدء في بايثون بفحص هيكل البيانات وتوزيع متغير حساس ومتغير الهدف:

import pandas as pd

df = pd.read_csv("loan_applications.csv")

print(df.shape)
print(df.dtypes)
print(df["gender"].value_counts(dropna=False))
print(pd.crosstab(df["gender"], df["loan_approved"], normalize="index"))

الجدول المتقاطع في المثال السابق يوضح نسبة الموافقة داخل كل مجموعة من مجموعات الجنس. إذا كانت نسبة الموافقة 72% لإحدى المجموعات و41% لأخرى، فلا يجوز القفز مباشرة إلى استنتاج وجود تمييز؛ لكن الفارق يمثل إشارة تستحق التحقيق. قد يكون ناتجاً عن اختلاف حقيقي في متغيرات مالية ذات صلة، أو عن انحياز في عملية الاختيار، أو عن خطأ في البيانات، أو عن متغير بديل يؤثر بطريقة غير مباشرة.

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

حلل القيم المفقودة بوصفها إشارة محتملة للانحياز

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

لذلك لا يكفي حساب النسبة الإجمالية للقيم المفقودة. يجب تفكيك هذا التحليل حسب المجموعات الحساسة وحسب المتغير الهدف. ويمكن استخدام الجدول التالي برمجياً:

missing_by_group = (
    df.groupby("gender")
      .apply(lambda x: x.isna().mean() * 100)
)

print(missing_by_group[["income", "employment_years", "credit_score"]])

إذا أظهر التحليل أن متغير credit_score مفقود لدى 3% من مجموعة ما و28% من مجموعة أخرى، فهذه فجوة لا ينبغي تجاهلها. قد يكون السبب أن إحدى المجموعات أقل وصولاً إلى الخدمات المالية، أو أن نظام الجمع لا يغطي بعض المناطق، أو أن البيانات دمجت من مصادر ذات جودة متفاوتة. وفي كل حالة، قد يؤدي التعويض الساذج إلى نتائج غير عادلة.

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

اكتشف عدم التوازن والقيم الشاذة والأنماط غير الطبيعية

عدم التوازن قد يظهر في المتغير الهدف أو في الفئات السكانية أو في تقاطع الاثنين معاً. قد تكون نسبة حالات الاحتيال 1% فقط من البيانات، وهذا عدم توازن معروف في مسائل كشف الاحتيال. لكن الخطر الإضافي هو أن تكون هذه الحالات موزعة بطريقة غير متساوية بين الفئات، أو أن تكون بعض الفئات ممثلة بعشرات السجلات فقط، ما يجعل تقدير أداء النموذج عليها غير موثوق.

افحص أعداد السجلات والنتائج الإيجابية والسلبية لكل مجموعة، وليس النسب وحدها. ففئة يبلغ حجمها 20 سجلاً قد تحقق نسبة موافقة 60%، لكن هذا الرقم لا يكفي لاتخاذ استنتاج قوي. ويمكن إنشاء ملخص مناسب كما يلي:

summary = df.groupby("age_group").agg(
    total_records=("loan_approved", "size"),
    approval_rate=("loan_approved", "mean"),
    median_income=("income", "median")
)

print(summary.sort_values("total_records"))

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

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

قارن العلاقات بين المتغيرات والنتائج عبر المجموعات

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

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

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

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

افحص المتغير الهدف وعملية الوسم قبل اعتباره حقيقة

يُعامل المتغير الهدف في كثير من مشاريع التعلم الآلي كما لو كان حقيقة موضوعية، لكنه قد يكون نتيجة قرار بشري أو إجراء مؤسسي أو قياس غير كامل. في نموذج لتوقع «الأداء الوظيفي»، مثلاً، قد تعتمد التقييمات السابقة على مديرين مختلفين ومعايير غير موحدة. وفي نموذج لتوقع «مخاطر الجريمة»، قد تعكس بيانات الاعتقال كثافة المراقبة الشرطية أكثر مما تعكس معدل الجريمة الحقيقي.

لذلك يجب سؤال أسئلة جوهرية أثناء EDA: من أنشأ الوسم؟ متى أُنشئ؟ ما القواعد المستخدمة؟ هل تغيرت السياسة خلال فترة جمع البيانات؟ هل يتوافر الوسم لجميع الأفراد بالتساوي؟ وهل توجد حالات لا يظهر فيها الهدف إلا بعد قرار سابق؟

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

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

حوّل نتائج EDA إلى قرارات عملية قبل التدريب

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

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

بعد ذلك، يجب تحديد مؤشرات إنصاف ستُقاس لاحقاً على بيانات التحقق والاختبار، مثل معدل الاختيار، ومعدل الإيجابيات الكاذبة، ومعدل السلبيات الكاذبة، والاستدعاء لكل مجموعة. ويجب فصل التدريب والتحقق والاختبار بطريقة تحافظ على التمثيل المناسب، مع تجنب تسرب البيانات زمنياً أو بين الأفراد المرتبطين.

من الممارسات الجيدة أيضاً إنشاء تقرير EDA قابل للمراجعة يتضمن الافتراضات والرسوم والقرارات التي اتخذت وأسبابها. هذا التقرير يسهّل التعاون بين علماء البيانات وخبراء المجال وفرق الامتثال، ويجعل عدالة النموذج جزءاً من دورة التطوير بدلاً من أن تكون اختباراً متأخراً.

خاتمة

التحليل الاستكشافي للبيانات EDA ليس مرحلة تمهيدية ثانوية قبل تدريب النموذج، بل هو خط الدفاع الأول ضد الانحيازات التي قد تتضخم لاحقاً بفعل الخوارزميات. من خلال فحص التمثيل، والقيم المفقودة، والقيم الشاذة، وتوزيعات المتغير الهدف، والعلاقات داخل المجموعات المختلفة، يستطيع فريق علم البيانات اكتشاف المشكلات قبل أن تتحول إلى قرارات آلية مؤثرة في الناس.

لا يعني ذلك أن EDA يضمن نموذجاً عادلاً بمفرده، لكنه يوفر الأساس الضروري لنمذجة أكثر مسؤولية وشفافية. فالنموذج لا يتجاوز جودة البيانات التي يتعلم منها، وكل انحياز يُكتشف ويُفهم ويُوثق قبل التدريب هو خطر أقل على دقة النظام وعدالته وثقة المستخدمين به.

تعليقات