tarekamr.com — امتى نستخدم تحليل البقاء بدلاً من الريجريشن؟
~ / pages / امتى نستخدم تحليل البقاء بدلاً من الريجريشن؟

امتى نستخدم تحليل البقاء بدلاً من الريجريشن؟

"وإيه هي دالة البقاء؟"، سمعتك بتسأل

الريجريشن (Regression) عنصر مهم جداً في صندوق أدوات كل محلل بيانات أو data scientist. على الأغلب بتستخدمه طول الوقت - وده كويس! بس أحياناً الريجريشن مش الأداة الصح للشغلانة.

تخيل معايا المثال ده:

مثال ملعب الجولف: المشكلة بتاعتنا

عايز تتنبأ بارتفاع كرة جولف بعد 5 أمتار من الضرب، معطى:

  • تكنيك اللاعب
  • قوة الضربة
  • سرعة الرياح

إزاي هتحل المشكلة دي؟

ممكن تقول: "سهلة! ريجريشن بسيط. هجمع بيانات من لاعبين مختلفين، هقيس الارتفاع بعد 5 أمتار، وأبني نموذج."

صح! ده الحل المثالي.

لكن... فيه مشكلة!

التلاجة بتسد طريق لاعبي الجولف

لسبب ما، فيه تلاجة وسط الملعب!

تخيل إنك عملت التجربة، واللاعبين التلاتة ضربوا الكرات:

  • اللاعب الأخضر: الكرة عدت بسلام، قدرت تقيس الارتفاع عند 5 أمتار ✓
  • اللاعب البنفسجي: الكرة ضربت التلاجة عند 2 متر، ماعرفتش الارتفاع عند 5 أمتار ✗
  • اللاعب الوردي: الكرة ضربت التلاجة عند 3 متر، برضه ماعرفتش ✗

دلوقتي عندك مشكلة! البيانات بتاعتك ناقصة - عندك القياس الكامل من لاعب واحد بس.

وللأسف: ماتقدرش تعيد التجربة. اللاعبين الملونين دول مشغولين جداً دلوقتي! (والتلاجة لسه موجودة)

دلوقتي لازم تفكر خارج الصندوق.

الخيار الأول: لسه هستخدم الريجريشن على أي حال

ممكن تقول: "ماشي، هستبعد اللاعبين البنفسجي والوردي، وأستخدم بيانات اللاعب الأخضر بس."

المشكلة: عينة واحدة مش كفاية! مش هتقدر تبني نموذج ريجريشن من نقطة بيانات واحدة.

مش فكرة كويسة!

الخيار التاني: أعدل المشكلة عشان تناسب التجربة

الحل الذكي: بدل ما تتنبأ بـ "الارتفاع عند نقطة واحدة" (5 أمتار)، إيه رأيك تتنبأ بـ **"مسار الكرة الكامل"**؟

يعني بدل:

  • تقدير نقطة: الارتفاع = ؟ عند المسافة 5 أمتار

هتعمل:

  • تقدير دالة: h(d) = الارتفاع عند أي مسافة d

كده بقى عندك بيانات أكتر:

  • اللاعب الأخضر: بيانات من 0 لـ 5 أمتار ✓
  • اللاعب البنفسجي: بيانات من 0 لـ 2 متر ✓
  • اللاعب الوردي: بيانات من 0 لـ 3 متر ✓

مش وحش! دلوقتي عندك بيانات كتير تقدر تستخدمها عشان تقدر h(d).

الميزة: بمجرد ما تعرف h(d)، تقدر تستخدمها عند أي مسافة - مش 5 أمتار بس!

ده بالضبط اللي اسمه تحليل البقاء (Survival Analysis)!

بس بدل التلاجة الوحشة، عندك الوقت الغير صبور.

التطبيق الحقيقي: اختبار الأدوية

تحليل البقاء اتاخترع أصلاً عشان نقيس تأثير الأدوية على المرضى.

السيناريو:

  • عندك مجموعة مرضى
  • بتديهم دوا جديد
  • عايز تعرف: قد إيه هيعيشوا (يبقوا) بعد الدوا؟

المشكلة: مستحيل تستنى 80 سنة لحد ما كل المرضى يموتوا عشان تعرف النتيجة النهائية!

الحل: بدل ما تتنبأ بـ "وقت الموت" (تقدير نقطة)، دلوقتي هتتنبأ بـ دالة البقاء S(t).

دالة البقاء S(t) = احتمالية إن المريض يبقى عايش لحد الوقت t

مثال:

  • S(1 سنة) = 95% (يعني 95% من المرضى لسه عايشين بعد سنة)
  • S(5 سنين) = 70% (يعني 70% لسه عايشين بعد 5 سنين)
  • S(10 سنين) = 40% (يعني 40% لسه عايشين بعد 10 سنين)

كده تقدر تقيم الدوا من غير ما تستنى كل المرضى يموتوا!

إزاي دوال البقاء بتتقدر؟

فيه طريقتين أساسيتين:

1. دوال البقاء البارامترية (Parametric)

الفكرة: نفترض إن دالة البقاء ليها شكل معين.

اللي إحنا عارفينه:

  • كل المرضى كانوا أحياء في البداية → S(0) = 100%
  • المرضى بيموتوا مع الوقت → S(t) بتقل مع الوقت
  • في النهاية مفيش حد هيبقى → S(∞) = 0%

دالة بتناسب الوصف ده: الاضمحلال الأسي (Exponential Decay)

دالة البقاء الأسية: S(t) = e^(-λt)

اللي محتاج تعمله: استخدم البيانات اللي عندك عشان تلاقي قيمة λ المناسبة (curve fitting).

دوال تانية شائعة:

  • Weibull
  • Gamma
  • Log-Normal
  • Log-Logistic

المشكلة: إنت بتفترض شكل معين للدالة. لو البيانات مش مناسبة للشكل ده؟ النموذج هيبقى غلط!

2. دالة البقاء غير البارامترية (Non-Parametric)

الفكرة: ماتفترضش حاجة - خلي البيانات تقول الشكل.

مثال: طريقة كابلان-ماير (Kaplan-Meier):

  • بتبني دالة خطوة (step function) من البيانات مباشرة
  • مش بتفترض شكل معين

الميزة: مش بتعمل افتراضات ممكن تكون غلط

العيب: مش بتقدر تستقرئ (extrapolate) بعد آخر نقطة بيانات عندك

  • الطرق البارامترية تقدر تتنبأ بالمستقبل البعيد
  • الطرق غير البارامترية محدودة بالبيانات اللي عندك

3. Machine Learning كبديل

ممكن كمان تستخدم نماذج Machine Learning - أي نموذج بيتنبأ بمنحنى (curve) بدل نقطة واحدة ممكن يعمل الشغلانة دي.

طيب، تحليل البقاء ده كويس لإيه بالضبط؟

تطبيقات عملية في الأعمال والتكنولوجيا

ممكن تقول: "أنا مش دكتور، ومش بختبر أدوية. وبرضه مفيش تلاجات في ملعب الجولف بتاعي. ليه أتعلم تحليل البقاء؟"

الإجابة: المفهوم ده بيستخدم في مشاكل كتير جداً في عالم البيانات والأعمال!

المشكلة العامة: في أي موقف البيانات فيه ناقصة أو مش مكتملة بسبب الوقت - ودي اسمها Right Censoring.

أمثلة عملية:

1. معدل ترك العملاء (Churn Rate):

  • عايز تعرف: بعد قد إيه عميل بيسيب الخدمة بتاعتك (يلغي الاشتراك)؟
  • المشكلة: بعض العملاء لسه مشتركين (ما سابوش بعد)
  • تحليل البقاء: بيقدرلك S(t) = احتمالية إن العميل يفضل مشترك لحد الشهر t

2. معدل إرجاع المنتجات:

  • عايز تعرف: بعد قد إيه من الشراء، العميل بيرجع المنتج؟
  • المشكلة: فترة الإرجاع لسه مفتوحة لبعض المنتجات
  • تحليل البقاء: بيقدرلك احتمالية الإرجاع مع الوقت

3. قيمة مدى الحياة للعميل (Customer Lifetime Value):

  • عايز تعرف: العميل هيفضل يشتري منك قد إيه؟
  • المشكلة: بعض العملاء لسه بيشتروا (ما وقفوش بعد)
  • تحليل البقاء: بيقدرلك المدة المتوقعة لبقاء العميل

4. تطبيقات المواعدة (Dating Apps):

  • عايز تعرف: المستخدم بيفضل قد إيه على التطبيق قبل ما يلاقي شريك ويسيب؟
  • تحليل البقاء: بيقدرلك S(t) = احتمالية بقاء المستخدم

5. صيانة الأجهزة:

  • عايز تعرف: الجهاز هيشتغل قد إيه قبل ما يعطل؟
  • تحليل البقاء: بيقدرلك عمر الجهاز المتوقع

الخلاصة

تحليل البقاء مش بس للمرضى والأدوية!

استخدمه في أي موقف فيه:

  • ✅ بيانات ناقصة بسبب الوقت
  • ✅ عايز تعرف "قد إيه هيفضل؟" مش بس "امتى هينتهي؟"
  • ✅ مش عايز تستنى سنين عشان تجمع كل البيانات
  • ✅ الأعمال مش هتستناك توصل لاستنتاجاتك

الفرق بين الريجريشن وتحليل البقاء:

  • الريجريشن: بيتنبأ بـ قيمة واحدة عند نقطة محددة
  • تحليل البقاء: بيتنبأ بـ دالة كاملة بتوصف التغير مع الوقت

متى تستخدم تحليل البقاء؟

  • لما البيانات ناقصة أو مش مكتملة (censored data)
  • لما عايز تفهم "البقاء مع الوقت" مش بس النتيجة النهائية
  • لما مش عايز تضيع بيانات - حتى لو ناقصة، تحليل البقاء بيستفيد منها!

طارق عمرو، 24 يناير 2024

الترجمات: [EN] [NL]   [↓ .md]
~ / pages / امتى نستخدم تحليل البقاء بدلاً من الريجريشن؟
>