حاسبة SIR الوبائية
مع 990 شخصًا قابلين للعدوى و10 مصابين ومعدل عدوى 0.3 ومعدل شفاء 0.1، يكون رقم التكاثر الأساسي 3 ويصل عدد المصابين إلى نحو 24 في اليوم 5. احصل على الجدول اليومي لـ S وI وR. مجاني في متصفحك.
- مجاني
- يعمل في متصفحك
- دون تسجيل
- بياناتك لا تغادر جهازك
شغّل الأداة مجانًا
مثال محلول
- معدل العدوى
- 0.3
- معدل التعافي
- 0.1
- المعرّضون للإصابة
- 990
- المصابون
- 10
- المتعافون
- 0
- الأيام
- 5
- المجتمع
- 1,000
- ذروة المصابين
- 24.35274342
- يوم الذروة
- 5
- المعرّضون النهائيون
- 968.26496445
يقسم نموذج SIR الوبائي الكلاسيكي جماعة مغلقة إلى ثلاثة أقسام: من لا يزالون مستعدين للعدوى، ومن هم معدون في هذه اللحظة، ومن تعافوا ويُعاملون مناعة لبقية التشغيل. تقدّم حاسبة SIR للعدوى الفيروسية هذا النموذج يومًا في أثر يوم انطلاقًا من معدل عدوى ومعدل شفاء وأحجام الأقسام الثلاثة الابتدائية وأفق بالأيام. في كل يوم تنتقل الإصابات الجديدة من المستعدين إلى المصابين بنسبة المجموعتين، وتنتقل حالات الشفاء من المصابين إلى المتعافين وفق معدل الشفاء. الاستجابة جدول يومي لأعداد المستعدين والمصابين والمتعافين مع عدد التكاثر الأساسي الضمني وذروة منحنى المصابين. تُرفض معدلات العدوى أو الشفاء السالبة بوصفها إدخالًا باطلًا بدل طيّها إلى قيم مطلقة.
كيف يُعرَّف نموذج SIR الوبائي
نموذج المستعدين والمصابين والمتعافين أصغر وباء لجماعة مغلقة ما يزال يُظهر منحنى مصابين يصعد ثم يهبط. يبدأ الجميع في أحد مخازن ثلاثة: مستعدون يمكن أن يلتقطوا الممرض، ومصابون يمكن أن ينقلوه، ومتعافون يُعاملون مناعة لبقية هذا التشغيل. لا ولادات ولا وفيات ولا هجرات، فيبقى المجموع N المساوي S زائد I زائد R ثابتًا ولا يعدو مقياسًا للتماس.
تغادر تلك التدفقات S وتدخل I ثم تغادر I إلى R. القيمة فوق الواحد شرط الإقلاع الوبائي الكلاسيكي، وعتبة مناعة القطيع التعليمية واحد ناقص واحد على R0 تُبلَّغ في تلك الحالة فقط. التنفيذ طريقة أويلر اليومية من الكتاب، لا حالًّا تكيفيًا لمعادلات تفاضلية عادية، ولا نموذج وكلاء عشوائيًا، ولا تنبؤًا بتفشٍ حقيقي مسمّى.
تُقيَّد المعدلات الكبيرة حتى لا تدفع خطوة واحدة قسمًا إلى السالب، لأن عدد رؤوس سالبًا ليس مخزنًا صالحًا. تُقبل قيم الأقسام الكسرية: التقريب المستمر لا يُحصر في أشخاص كاملين. عاملوا كل سلسلة مسارًا تعليميًا من هذه القاعدة المنشورة، لا تنبؤًا سريريًا ولا توقع أسِرّة ولا بديلًا عن نموذج صحة عامة ذي طبقات عمر أو سلوك أو تلقيح لا تجمعه هذه الأداة.
أين تظهر حاسبات SIR في العمل الحقيقي
تكلّف مقررات الوبائيات وتوجيه التمريض وورش الصحة العامة بلا انقطاع تمارين SIR من معدلات ومخازن ابتدائية في الكتب، فيسرّع وحي موثوق يعيد الجدول اليومي إلى جانب R0 وذروة المصابين التصحيح وإعداد العروض. يحتاج مساعدو البحث الذين يعدّون مجموعات تفشٍ اصطناعية إلى تسميات أقسام مستقرة من معدلات معلومة بلا نداءات شبكة ولا انحراف نموذج، وإلى رفض حازم عندما يصل معدل سالب حتى لا تتزيّا مستخلصات وسخة بمسارات.
إن احتجتم لاحقًا إلى SEIR بفئة معرَّضة أو ديناميكا حيوية أو بنية عمر أو حملات تلقيح أو نموذج وكلاء عشوائي، فعاملوها مقاصد بحث وصفحات هبوط منفصلة دون إثقال صفحة SIR للعدوى الفيروسية هذه. اعرضوا النتائج دائمًا تقديرات تعليمية من قاعدة أويلر اليومية المنشورة؛ فالقرارات التشغيلية تتطلب مهنيين مؤهلين وترصدًا محليًا ونماذج لا تدّعي هذه الأداة أن تحل محلها. أبقوا الطلبات داخل سقف الثلاثمئة وخمسة وستين يومًا، وثبّتوا السلسلة في الاختبارات، فتحصلون على أرقام SIR قابلة للإعادة للواجبات وإضافات LMS وعاملات الحافة دون إقامة ركام نمذجة تفشٍ خاص بكم.
حالات الاستخدام
تمارين تفشٍ في مختبر الوبائيات
أظهروا إقلاع SIR وانحساره في جماعة مغلقة في مختبرات التدريس دون خلط SEIR أو بنية العمر أو وكلاء عشوائيين في الصفحة نفسها.
الأسئلة الشائعة
ما نموذج SIR الوبائي؟
يقسم SIR جماعة مغلقة إلى أقسام مستعدين ومصابين ومتعافين. تنتقل الإصابات الجديدة من S إلى I بنسبة المجموعتين؛ وتنتقل حالات الشفاء من I إلى R. يبقى المجموع N = S + I + R ثابتًا. تبلّغ هذه الحاسبة الأعداد اليومية لتلك المخازن الثلاثة.
أي صيغة تستخدمون كل يوم؟
خطوة أويلر يومية لمعادلات Kermack–McKendrick: new infections = β S I / N, new recoveries = γ I, then S' = S − new infections, I' = I + new infections − new recoveries, R' = R + new recoveries. خطوة الزمن يوم واحد. عندما γ > 0 يكون R0 = β / γ.
ماذا يحدث إذا كان معدل العدوى أو الشفاء سالبًا؟
يُرفض معدل سالب لليوم بدل تحويله إلى قيمة مطلقة أو إلى NaN صامت.
ماذا يعني رقم تكاثر أساسي قدره 3 في نموذج SIR؟
هو معدل العدوى مقسومًا على معدل الشفاء، فقسمة 0.3 على 0.1 تعطي 3، أي أن مصابًا واحدًا سينقل العدوى إلى ثلاثة آخرين في مجتمع قابل للعدوى بالكامل. وفوق الواحد ينطلق الوباء، وعندها فقط تُعرض عتبة مناعة القطيع.
كيف أقرأ ذروة الإصابات؟
تُعرض أعلى قيمة لعدد المصابين واليوم الذي تبلغها فيه. فإذا ظل المنحنى صاعدًا حتى اليوم الأخير، كما في المثال حتى اليوم 5، فهو لم ينعطف بعد، ويمكنك مدّ المدة حتى 365 يومًا.
أدوات ذات صلة
للمطوّرين — الوصول عبر API
كل ما في هذه الصفحة متاح برمجيًا. هذا القسم موجّه للفرق التقنية التي تريد ربط الأداة بأنظمتها الخاصة؛ بقية المستخدمين يمكنهم استخدام الأداة أعلاه مباشرة دون الحاجة لقراءة ما يلي.
الـEndpoint
صادِق على طلبك بترويسة Bearer، وأرسل طلب POST واحدًا لتدخل مهمتك قائمة التنفيذ فورًا؛ ثم تستلم النتيجة عبر webhook أو رابط موقّع.
استدعِ الخدمة من بيئتك
curl -X POST https://api.kit.forhosting.com/health/viral-infection-sir \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"infection_rate":0.3,"recovery_rate":0.1,"susceptible":990,"infected":10,"recovered":0,"days":5}'const res = await fetch("https://api.kit.forhosting.com/health/viral-infection-sir", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"infection_rate": 0.3,
"recovery_rate": 0.1,
"susceptible": 990,
"infected": 10,
"recovered": 0,
"days": 5
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/health/viral-infection-sir",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"infection_rate": 0.3,
"recovery_rate": 0.1,
"susceptible": 990,
"infected": 10,
"recovered": 0,
"days": 5
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/health/viral-infection-sir", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"infection_rate":0.3,"recovery_rate":0.1,"susceptible":990,"infected":10,"recovered":0,"days":5}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"infection_rate":0.3,"recovery_rate":0.1,"susceptible":990,"infected":10,"recovered":0,"days":5}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/health/viral-infection-sir", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)مثال على الطلب
{
"infection_rate": 0.3,
"recovery_rate": 0.1,
"susceptible": 990,
"infected": 10,
"recovered": 0,
"days": 5
}مثال على الاستجابة
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "health.viral_infection_sir",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}الواجهة غير متزامنة: تستلم task_id فور الإرسال، ويمكنك الاستعلام عن الحالة بمعدل طلب واحد في الثانية.
الأسعار
السعر معلن كما تراه: لا tokens ولا نظام نقاط؛ وإن فشلت المهمة فلن تُحاسَب عليها.
الحدود
max_days | 365 |
max_population | 1000000000000 |
الأخطاء
| HTTP | الرمز | المعنى |
|---|---|---|
401 | unauthorized | مفتاح الوصول مفقود أو غير صالح؛ تحقق من ترويسة Bearer في طلبك. |
402 | insufficient_balance | رصيدك لا يكفي لتنفيذ هذه المهمة؛ أعد شحن الرصيد ثم أعد المحاولة. |
404 | unknown_type | نوع المهمة المطلوب غير موجود في الكتالوج — راجع الاسم المرسل في الطلب. |
429 | rate_limited | تجاوزت الحد المسموح من الطلبات؛ انتظر قليلًا ثم أعد المحاولة. |
ملاحظات تقنية
تستخدم استدعاءات API الناجحة $0.002 المنشور لكل عنصر؛ والإدخال الباطل لا يُفوتر.
كيف يُعرَّف نموذج SIR الوبائي
تطبق الحاسبة كل يوم خطوة أويلر لمعادلات Kermack–McKendrick بخطوة زمنية وحدوية قدرها يوم واحد: الإصابات الجديدة تساوي معدل العدوى beta في S في I مقسومًا على N، وحالات الشفاء الجديدة تساوي معدل الشفاء gamma في I. عندما يكون gamma موجبًا يساوي عدد التكاثر الأساسي R0 قيمة beta مقسومة على gamma، أي عدد الحالات الثانوية التي يُحدثها شخص معدٍ في جماعة مستعدة تمامًا.
ما ترسلونه وما يعود إليكم
أرسلوا ستة حقول واجبة. الحقل days هو الأفق الصحيح من واحد إلى ثلاثمئة وخمسة وستين؛ وتشمل السلسلة اليوم صفر حتى ذلك اليوم. تُحذف المفاتيح الاختيارية بدل ضبطها على null. اربطوا نموذج المتصفح المجاني لعروض المحاضرة والواجبات، ثم استدعوا العقد نفسه من سكربتات عندما تحتاجون إلى تثبيتات بالجملة أو اختبارات انحدار. ثبّتوا السلسلة والذروة في الاختبارات حتى لا يمر تغيير لاحق لخطوة أويلر دون انتباه. الحقل infection_rate هو معلمة العدوى لليوم beta ويجب أن يكون عددًا منتهيًا غير سالب؛ والقيمة السالبة تفشل بـ invalid_input مع تسمية ذلك الحقل. تُقبل الأسماء البديلة beta وbeta_rate وtransmission_rate وinfectivity. الحقل recovery_rate هو معلمة الشفاء لليوم gamma ويجب أن يكون عددًا منتهيًا غير سالب؛ وتُقبل الأسماء البديلة gamma وgamma_rate وrecover_rate. الحقول susceptible وinfected وrecovered هي أعداد الأقسام في اليوم صفر ويجب أن تكون منتهية وغير سالبة؛ ومجموعها N يجب أن يزيد على الصفر حتى يُعرَّف حد التماس. تُقبل الأسماء البديلة s وs0 وi وi0 وrec وinitial_susceptible وinitial_infected وinitial_recovered. الحقول الواجبة الناقصة والسلاسل الفارغة والنص غير العددي وNaN وInfinity وأفق غير صحيح ومجموع سكان صفر تفشل بـ invalid_input ولا تُفوتر. عند النجاح تعيد الاستجابة المعدلات المنظفة والأقسام الابتدائية وdays وpopulation، وترجع series مصفوفة سجلات day وsusceptible وinfected وrecovered، وتبلّغ peak_infected وpeak_day، وتبلّغ final_susceptible وfinal_infected وfinal_recovered، وتضم سلسلتي formula وmethod للعرض ولتثبيتهما في الاختبارات. عندما يكون recovery_rate موجبًا تضم الاستجابة أيضًا r0 المساوي beta على gamma، وعندما يزيد r0 على واحد تضم herd_immunity_threshold. تسعيرة استدعاءات API الناجحة هي $0.002 المنشور لكل عنصر؛ وإخفاق التحقق لا يستهلك الرصيد المدفوع مقدمًا.
أين تظهر حاسبات SIR في العمل الحقيقي
تريد مراكز المحاكاة ومنتجات الأوراق الإلكترونية مسارًا موثقًا لـ beta وgamma وS وI وR وdays يدققه العملاء يدويًا، لا تنبؤًا عصبيًا معتمًا يخلط التنقل والطقس والسلوك دون إفصاح. يريد مؤلفو المناهج الذين يصدرون دروسًا تفاعلية شكل JSON نفسه في ودجة متصفح مجانية وواجهة API خادمية حتى تبقى الأوراق دون اتصال والمصححات الآلية على الخط متراصة. ولأن هذه القدرة محرك parse خالص، فسعر API هو القاعدة المنشورة $0.002 لكل عنصر ناجح والتحقق الفاشل لا يستهلك رصيدًا.
حالات التكامل
مفاتيح إجابة SIR للقاعة
ولّدوا الجدول اليومي للمستعدين والمصابين والمتعافين مع R0 من beta وgamma والمخازن الابتدائية في الكتب حتى يشترك المدرسون والمصححات الآلية في حقيقة مرجعية شفافة.
تثبيتات تفشٍ حتمية
أنتجوا بالجملة سلاسل SIR مستقرة لمجموعات أوبئة اصطناعية واختبارات انحدار، مع invalid_input حازم أمام معدل عدوى أو شفاء سالب.
أسئلة تقنية
كيف أصوغ الإدخال؟
أرسلوا infection_rate وrecovery_rate عددين منتهيين غير سالبين (مثلًا 0.3 و0.1)، وsusceptible وinfected وrecovered أعدادًا منتهية غير سالبة (مثلًا 990 و10 و0)، وdays عددًا صحيحًا من 1 إلى 365. تُقبل أيضًا الأسماء البديلة beta وgamma وs وi وrec.
كم تبلغ التكلفة؟
أداة المتصفح مجانية وتُشغَّل محليًا. تستخدم طلبات API رصيد KIT المدفوع مقدمًا بسعر $0.002 لكل عنصر ناجح؛ والإدخال الباطل لا يُفوتر.