感染症SIR模型模拟器 返回
感染症模型·数理生物学

感染症SIR模型模拟器 — 群体免疫与感染扩大

动态调整β和γ,看R₀变化的瞬间。提高疫苗接种率,体验群体免疫成立的条件。用COVID-19、流感、麻疹预设对比感染力差异。

预设
模型选择
基础参数
总人口 N
初始感染者 I₀
感染率 β(/日)
恢复率 γ(/日)
基本再生产数 R₀ = β/γ 3.50
疫苗·选项
疫苗接种率 V(%)
%
模拟天数
d
季节性变动 ε
主要指标
计算结果
峰值感染率
最终感染率
到达峰值天数
群体免疫阈值
时间序列图表(S/I/R vs 天数)
理论·主要公式
$$\frac{dS}{dt}= -\frac{\beta S I}{N}$$ $$\frac{dI}{dt}= \frac{\beta S I}{N}- \gamma I$$ $$\frac{dR}{dt} = \gamma I$$

N = S + I + R = 常数(守恒律)

感染症SIR模型模拟器是什么

🙋
SIR模型是什么?我听过这个词,但具体在计算什么呢?
🎓
简单来说,SIR模型是一个"计算配方",用来预测感染症如何传播和消退。它将人口分为"可能被感染的人(S)"、"当前感染的人(I)"、"恢复并有免疫的人(R)"三个群体,用数学公式追踪这些群体如何随时间变化。这个模拟器让你通过上面的滑块改变"感染率β"或"恢复率γ",就能实时看到图表曲线如何改变。
🙋
那"基本再生产数R₀"呢?这个经常听到,和这个模拟器有什么关系?
🎓
很好的问题!R₀是将感染率β除以恢复率γ得到的,$R_0 = \beta / \gamma$。这是判断感染是否扩大的关键。比如,右边的预设中选择"COVID-19初期"会得到R₀≈2.5,选择"麻疹"会得到R₀≈15。当R₀>1时会出现感染峰值并流行,但R₀<1时会很快终息。实际动手调节参数,看R₀的显示跨过1时,图表如何改变吧。
🙋
"群体免疫阈值"也出现了。这和疫苗接种率滑块有关吗?
🎓
完全正确!群体免疫阈值是为了阻止流行必须获得免疫的人口比例,大约是 $(1 - 1/R_0) \times 100\%$。如果R₀=2.5,就需要60%。在这个模拟器中,当你提高"疫苗接种率V"时,一开始就有免疫的人数增加,感染峰值会大幅下降。在实际工作中,人们看这样的模拟结果来讨论"要给多少人打疫苗才能防止医疗崩溃"。

常见问题

R₀是感染率β除以恢复率γ的结果(β/γ)。本模拟器中,调节β和γ滑块时,R₀的值会实时显示,当R₀超过1时显示感染扩大,低于1时显示收缩,你可以直观地观察这个过程。
提高疫苗接种率会减少易感人群S,有效再生产数随之下降。要达到群体免疫,接种率需要≥1−(1/R₀)。例如R₀=3时需要约67%以上的接种率,通过调节模拟器的滑块可以体验这个阈值。
各预设基于实际流行病学数据:COVID-19的R₀约2.5(β=0.5, γ=0.2),流感R₀约1.5(β=0.45, γ=0.3),麻疹R₀约15(β=1.5, γ=0.1)。通过切换预设可以对比不同感染力导致的流行曲线差异。
可以数值化尝试对策效果(通过降低β模拟疫苗或隔离效果),获得峰值时期和最终感染者数量的估计。但该模型忽略了年龄结构和地理传播等因素,实际政策决策应结合更详细的模型和专家意见。

现实应用

大流行防控政策评估: COVID-19期间,各国政府采用SIR模型预测封锁和行动限制的效果,通过降低感染率β来模拟减少接触的干预,模拟峰值感染者数和是否会超过医疗能力。

疫苗接种活动规划: 麻疹、风疹等定期接种中,利用SIR模型计算达到群体免疫需要的接种率。模拟器中调节疫苗接种率V,可以观察流行曲线如何被抑制。

新兴感染症风险评估: 新病原体出现时,根据其感染率和严重程度估算医疗系统的负荷和最终死亡人数,作为资源配置优先级决策的基础数据。

CAE与数值分析的关联: SIR模型方程与流体平流扩散和化学反应速率方程相同,都是连立常微分方程(ODE)的形式。实务中,此模拟器后台运行的4阶龙格-库塔法等数值解法也广泛用于CAE软件。

常见误区和注意点

使用这个模拟器时有几个需要注意的地方。首先,"基本再生产数R₀不是绝对常数"。例如COVID-19的R₀≈2.5是在人们正常接触的环境中的数值。实际上,避免人群或戴口罩会降低有效再生产数R_t。这个工具中"降低感染率β"的操作,就是在模拟那些防控措施的效果。

其次,参数设置的现实性。比如,当"恢复率γ"设为1/5(=0.2)时,平均感染期为5天,但这指的是有症状期全程。实际"有感染力的期间"可能更短。当参数导出不现实的曲线时(例如感染者数I超过总人口N),要检查设置。

最后,"群体免疫阈值不是目标"这一认识很重要。达到60%的阈值虽然会阻止流行,但到那时会有多大的感染峰值(医疗负荷)是关键。例如,如果靠自然感染达到群体免疫,峰值时期可能有超过20%的人口同时感染,导致医疗崩溃。模拟器要读取的是通过提高疫苗接种率,如何缓解峰值压力,这才是实务应用。

使用指南

  1. 设置初始条件:人口N(如100万人)、初始感染者I0(如100人)、疫苗接种率,输入参数
  2. 输入感染参数:基本再生产数R0(COVID-19为2.0~3.0,流感为1.3),感染率β,恢复率γ(平均感染期的倒数)
  3. 运行模拟后,实时可视化显示峰值感染率、到达日、最终感染率、群体免疫阈值(1-1/R0)

具体计算示例

人口1000万、初期感染者100人、疫苗接种率30%的COVID-19模型:设R0=2.5,感染率β=0.5/日,恢复率γ=0.1/日(平均感染期10日)。模拟结果显示峰值感染率约18%(180万人),到达日45天,最终感染率约60%,达到群体免疫阈值1-1/2.5=60%。加入疫苗有效率90%后,峰值感染率下降到12%,到达日推迟至55天,医疗负荷得到缓解。

实务注意事项

  1. 感染率β是接触频度与感染概率的乘积:在通勤、学校环境中变化很大,必须基于区域数据进行校正
  2. 恢复率γ设置错误是致命的:流感(3~7日)和COVID-19(7~14日)差异很大,γ值越小峰值感染率越低
  3. 区分疫苗接种率和有效率:接种率50%、有效率80%时,实质免疫率仅40%,避免过度乐观预测
  4. 随时间参数变化:医疗措施(社交距离)或流行株变异导致R0变化,需要定期更新反映