محاكاة انتشار الأمراض باستخدام Python وStreamlit
تفاصيل العمل
محاكاة انتشار العدوى SEIR-D وتطبيق ويب تفاعلي مشروع متقدم لمحاكاة وتحليل انتشار الأمراض المعدية باستخدام نموذج SEIR-D، تم تطويره باستخدام Python وNumPy وMatplotlib وPandas وStreamlit. يهدف المشروع إلى محاكاة ديناميكية انتشار العدوى داخل مجتمع سكاني، مع إمكانية تحليل تأثير التباعد الاجتماعي، إجراءات الإغلاق، والتطعيم اليومي على مسار الوباء. مكونات المشروع يعتمد النموذج على خمس حالات رئيسية: S – القابلون للإصابة: الأشخاص المعرضون للإصابة بالمرض. E – المعرضون للعدوى: الأشخاص الذين أصيبوا بالعدوى ولكنهم لم يصبحوا معديين بعد. I – المصابون: الأشخاص القادرون على نقل العدوى. R – المتعافون: الأشخاص الذين تعافوا واكتسبوا مناعة، بالإضافة إلى الأشخاص الذين تم تطعيمهم. D – الوفيات: إجمالي الوفيات الناتجة عن المرض. ⚙️ أهم الخصائص محاكاة حتمية (Deterministic) تعتمد على الانتقالات اليومية بين الحالات. محاكاة عشوائية (Stochastic) باستخدام توزيعات Binomial لمحاكاة التغيرات الواقعية في أعداد الإصابات والتعافي والوفيات. حساب معدل التكاثر الأساسي R₀ وتحليل إمكانية انتشار الوباء. محاكاة التطعيم اليومي وتأثيره على عدد الأشخاص القابلين للإصابة. محاكاة التباعد الاجتماعي والإغلاق من خلال تقليل معدل انتقال العدوى في أيام محددة. إجراء محاكاة Monte Carlo متعددة لتحليل النتائج في النموذج العشوائي. حساب أهم المؤشرات مثل: ذروة عدد المصابين. اليوم الذي تحدث فيه الذروة. إجمالي حالات التعافي. إجمالي الوفيات. قيمة R₀. التحقق من الحفاظ على إجمالي عدد السكان وعدم حدوث فقد أو تكرار في أعداد الأفراد بين الحالات. لوحة تحكم تفاعلية تم تطوير واجهة ويب باستخدام Streamlit تتيح للمستخدم: تعديل معاملات النموذج بشكل مباشر. التحكم في معدلات انتقال العدوى والتعافي والوفاة. تحديد فترة الحضانة. إضافة حملات تطعيم يومية. تحديد توقيت وتأثير إجراءات التباعد الاجتماعي. اختيار نوع المحاكاة الحتمية أو العشوائية. تشغيل عدة محاكاة عشوائية ومقارنة نتائجها. عرض منحنيات انتشار العدوى بشكل تفاعلي. الاطلاع على البيانات اليومية في جداول منظمة. الحصول على مؤشرات وتحليلات تلقائية لمدى انتشار الوباء. 🔬 السيناريوهات والتحليلات يتضمن المشروع عدة تجارب لمقارنة تأثير الإجراءات المختلفة، منها: انتشار المرض دون تدخلات كخط أساس. تطبيق حملة تطعيم مستمرة ومقارنة نتائجها بالسيناريو الأساسي. تطبيق التباعد الاجتماعي وتقليل معدل انتقال العدوى بدءًا من يوم محدد. دراسة تأثير تغيير معدل انتقال العدوى. دراسة تأثير تغيير معدل التعافي. تحليل تأثير نسبة التطعيم الأولية. مقارنة مستويات مختلفة من إجراءات التباعد الاجتماعي. التقنيات المستخدمة Python — NumPy — Pandas — Matplotlib — Streamlit ويحتوي المشروع على محرك محاكاة مستقل، وواجهة ويب تفاعلية، بالإضافة إلى سكربتات مخصصة للمقارنة بين السيناريوهات وإجراء تجارب تحليل الحساسية. الهدف من المشروع يساعد المشروع على فهم سلوك الأوبئة ودراسة كيفية تأثير سرعة انتشار العدوى، فترة الحضانة، معدلات التعافي والوفاة، التطعيم، والتدخلات الوقائية على منحنى انتشار المرض، مع توفير أدوات مرئية لتحليل النتائج ومقارنة السيناريوهات المختلفة.
مهارات العمل