# امتى نستخدم تحليل البقاء بدلاً من الريجريشن؟ ## "وإيه هي دالة البقاء؟"، سمعتك بتسأل **الريجريشن** (Regression) عنصر مهم جداً في صندوق أدوات كل محلل بيانات أو data scientist. على الأغلب بتستخدمه طول الوقت - **وده كويس!** بس أحياناً الريجريشن **مش الأداة الصح** للشغلانة. **تخيل معايا المثال ده**: ## مثال ملعب الجولف: المشكلة بتاعتنا عايز تتنبأ **بارتفاع كرة جولف بعد 5 أمتار من الضرب**، معطى: - تكنيك اللاعب - قوة الضربة - سرعة الرياح إزاي هتحل المشكلة دي؟ **ممكن تقول**: "سهلة! ريجريشن بسيط. هجمع بيانات من لاعبين مختلفين، هقيس الارتفاع بعد 5 أمتار، وأبني نموذج." **صح! ده الحل المثالي.** ### لكن... فيه مشكلة! ![التلاجة بتسد طريق لاعبي الجولف](/static/img/survival-analysis-1.jpeg) **لسبب ما، فيه تلاجة وسط الملعب!** تخيل إنك عملت التجربة، واللاعبين التلاتة ضربوا الكرات: - **اللاعب الأخضر**: الكرة عدت بسلام، قدرت تقيس الارتفاع عند 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)](/static/img/survival-analysis-2.png) **اللي محتاج تعمله**: استخدم البيانات اللي عندك عشان تلاقي قيمة λ المناسبة (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