ارسم قبل أن تدرّب
درس 4 من 9
4ارسم قبل أن تدرّب
الصورة الكبيرةجدول أرقام ملخّصة يمكن أن يكون متطابقًا بين بيانات مختلفة تمامًا. الرسم هو الطريقة الوحيدة لرؤية الفرق قبل أن يدفع النموذج ثمنه.
ماذا تشاهد في الرسم: المتوسط 56.1 والوسيط 24.5 لعمود واحد من الأعمار، وبعد استبعاد 340 يعود المتوسط إلى 24.6. قيمة واحدة سحبت المتوسط إلى أكثر من ضعف الوسيط، والوسيط لم يتحرّك.
خارطة هذا الجزء
المفاهيم بالترتيب، اضغط أيًّا منها للقفز إليه:
طريقان إلى نفس الفكرة
جدول فيه ألف رقم لا يقول لك شيئًا بالنظر. لكن ارسمه فترى فورًا: أين تتجمع القيم، وهل يزيد عمود حين يزيد الآخر، وأي نقطة شاذّة بعيدة عن الجميع. الرسم قبل التدريب يمنعك من بناء نموذج على بيانات فيها خطأ واضح.
المدرج التكراري histogram يُظهر التوزيع، ومخطط التشتت scatter يُظهر العلاقة بين متغيرين، والصندوقي box plot يُظهر الوسيط والربيعات والشواذ. تستخدم matplotlib أو seaborn، وتبحث عن الانحراف والقيم المستحيلة والارتباطات الزائفة قبل أي نموذج.
قبل أن تبدأ
🗂️الإطارات
تقرأ جدولًا بـ pandas وتحسب متوسط عمود، كما في درس الإطارات.
📏المتوسط والوسيط
تعرف أن الوسيط هو القيمة التي في المنتصف بعد الترتيب، وأنه ليس المتوسط.
الفكرة الجوهرية
هذا الدرس يبدأ بسبب الرسم: أرقام ملخّصة تكذب. ثم يعطيك ثلاثة رسوم تكفي للبداية: المدرّج، والمبعثر، والصندوق مع قاعدة تكشف الشاذ.
1الأرقام الملخّصة قد تتطابق
المتوسط والانحراف والارتباط تصف الكثير وتخفي الشكل. جرّب ثلاث مجموعات صغيرة واحسب لها الأرقام نفسها.
import numpy as np
x_a = np.array([10, 8, 13, 9, 11, 14, 6, 4, 12, 7, 5], dtype=float)
y_a = np.array([8.04, 6.95, 7.58, 8.81, 8.33, 9.96, 7.24, 4.26, 10.84, 4.82, 5.68])
y_b = np.array([9.14, 8.14, 8.74, 8.77, 9.26, 8.10, 6.13, 3.10, 9.13, 7.26, 4.74])
x_c = np.array([8, 8, 8, 8, 8, 8, 8, 19, 8, 8, 8], dtype=float)
y_c = np.array([6.58, 5.76, 7.71, 8.84, 8.47, 7.04, 5.25, 12.50, 5.56, 7.91, 6.89])
for name, x, y in [("A", x_a, y_a), ("B", x_a, y_b), ("C", x_c, y_c)]:
r = float(np.corrcoef(x, y)[0, 1])
print(f"{name}: mean_y={float(y.mean()):.2f} std_y={float(y.std(ddof=1)):.2f} r={r:.2f}")
ثلاث مجموعات بنفس المتوسط ونفس الانحراف ونفس الارتباط تقريبًا. ولو رسمتها لرأيت الأولى سحابة مائلة، والثانية منحنى واضحًا، والثالثة عمودًا واحدًا مع نقطة شاذّة بعيدة تصنع الارتباط كله بنفسها. هذه هي الحجة الكاملة لهذا الدرس.
2المدرّج: كيف تتوزّع القيم
المدرّج يجيب على سؤال واحد: كيف تتوزّع أرقام هذا العمود؟ يعدّ كم قيمة تقع في كل مدى.
انظر إلى الرسم: عشرة أعمار. تسعة منها بين 19 و31، وواحد وحده بعيدًا عند 340.
المدرّج يخبرك أيضًا إن كان العمود مزدوج القمة أو ملتويًا، وكلاهما يحتاج معالجة قبل التدريب.
3المبعثر: هل يتحرّك عمودان معًا
المبعثر يضع كل صف نقطة: عمود على المحور الأفقي وآخر على العمودي. انظر إلى الرسم: سحابة مائلة وخط يمرّ فيها.
معامل الارتباط وحده لا يكفي، لأنه أعطى 0.82 لسحابة ومنحنى وعمود بنقطة شاذّة. الرسم وحده يفرّق بينها في ثانية.
4الصندوق وقاعدة المدى الربيعي
الصندوق يختصر الوسيط والربيعين والشواذ في شكل واحد. حدود الصندوق هي q1 وq3، والسياج على بُعد 1.5 مدى ربيعي.
انظر إلى الرسم: الأعمار مقسومة على هذه الحدود، وما بعد السياج يستحق نظرة.
import numpy as np
ages = np.array([19, 21, 22, 23, 24, 25, 27, 29, 31, 340])
q1, q3 = np.percentile(ages, [25, 75])
iqr = q3 - q1
upper = q3 + 1.5 * iqr
print(f"mean={float(ages.mean()):.1f} median={float(np.median(ages)):.1f}")
print(f"q1={float(q1):.1f} q3={float(q3):.1f} upper_fence={float(upper):.1f}")
print([int(a) for a in ages if a > upper])
kept = ages[ages <= upper]
print(f"mean_after={float(kept.mean()):.1f}")
المتوسط 56.1 والوسيط 24.5، وهذه الفجوة وحدها إنذار. القاعدة حدّدت 340 كشاذّ، وبعد استبعاده عاد المتوسط إلى 24.6 أي قريبًا من الوسيط. الوسيط لم يتأثر من البداية، ولهذا نقارن الاثنين دائمًا.
كيف يعمل، خطوة بخطوة: كيف تعمل قاعدة المدى الربيعي
رتّب القيم واحسب الربيع الأول q1 والربيع الثالث q3، أي النقطتين اللتين تحصران نصف البيانات الأوسط.
احسب المدى الربيعي iqr = q3 - q1، وهو عرض ذلك النصف الأوسط.
ضع السياج الأعلى عند q3 + 1.5 * iqr والأدنى عند q1 - 1.5 * iqr.
كل قيمة خارج السياجين تستحق نظرة، ثم تقرّر: خطأ إدخال تصحّحه، أم حقيقة نادرة تحتفظ بها.
مثال محلول
340 خطأ إدخال واضح، أما معاملة كبيرة في بيانات مبيعات فقد تكون أهم صف في الجدول. افحص الصف نفسه قبل أن تقرّر.
جرّب بلا كود
خرافة مقابل حقيقة
| الخرافة | الحقيقة |
|---|---|
| الأرقام الملخّصة تكفي لفهم العمود. | في الدرس ثلاث مجموعات لها المتوسط نفسه والانحراف نفسه وارتباط شبه متطابق، وأشكالها مختلفة تمامًا. الرسم وحده يكشف ذلك. |
| كل ما تكشفه القاعدة شاذّ يجب حذفه. | القاعدة أداة انتباه لا حكم. العمر 340 خطأ واضح، لكن معاملة ضخمة واحدة قد تكون أهم صف في الجدول. |
| الذيل الطويل في الدخل خطأ يجب تنظيفه. | الالتواء نحو اليمين طبيعي في الدخل والأسعار. المعالجة المعتادة تحويل لوغاريتمي أو إحصاء متين مثل الوسيط، لا حذف الذيل. |
جرّب بنفسك
عمود «الدخل» عندك متوسطه 18000 ووسيطه 7000. ما أول استنتاج؟
متوسط أكبر بكثير من الوسيط هو التعريف العملي للالتواء نحو اليمين: ذيل طويل من القيم العالية يسحب المتوسط دون أن يحرّك الوسيط. هذا طبيعي تمامًا في الدخل والأسعار، والقرار التالي هو إما تحويل لوغاريتمي أو مقياس مقاوم للشواذ، لا حذفها بلا سبب.
بطاقات مراجعة سريعة
1.5 مدى عن الربيع يستحق نظرة قبل أي قرار.تحقق من فهمك
معامل الارتباط عندك 0.9. هل يكفي ذلك لتقول إن العلاقة خطية؟
لا. الارتباط يقيس قوة العلاقة الخطية فقط، ويمكن أن يرتفع بسبب نقطة شاذّة واحدة كما في المجموعة الثالثة أعلاه، أو ينخفض في علاقة قوية لكنها منحنية. ارسم المبعثر، فالرقم وحده لا يميّز بين هذه الحالات.
أي رسم تختار لمقارنة توزيع الأسعار بين خمس مدن، ولماذا؟
الصندوق، لأنه يضع الوسيط والربيعين والشواذ لكل مدينة جنبًا إلى جنب في شكل واحد يسهل مقارنته.
مصادر هذا الدرس
مرتّبة بالنوع. ابدأ بالتوثيق الرسمي إذا تبي المرجع الدقيق، وبالمقال أو الفيديو إذا تبي الشرح أولًا.
توثيق رسمي2
خلّصت الدرس؟
سجّل الدخول ليُحفظ تقدّمك.