REF · 经典模型

SIR 模型THE SIR MODEL

Kermack & McKendrick,1927 — 传染病建模的骨架,也是"传播"这个词的数学出处

被引用于:Topic 24 传播与传染

01它问的是什么问题(The Question It Poses)

1927 年,Kermack 和 McKendrick 想解决一个当时相当碍眼的疑问:为什么流行病总是在还剩下一大批从没得过病的人的时候,就自己退潮了?

当时最流行的解释是病原体在流行过程中"毒力衰减"了——传着传着变温和了。这个解释需要假设病原体本身发生了变化。两人想问的是:能不能什么都不假设,只靠人数的加减,就把这条曲线算出来?

答案是能。而且推导出来的东西比原问题值钱得多:一个把"传得开传不开"压缩成单一数字的判据。

02规则本身(The Rules)

  1. 把总人数 N 分成三堆:S 易感者(susceptible,还会中招)、I 感染者(infectious,正在往外传)、R 移出者(removed,康复或死亡,不再参与)。
  2. 一个感染者每单位时间造成 β 次"有效接触"。有效接触落到易感者身上的比例是 S/N,所以每单位时间新增感染 = β·I·S/N。
  3. 感染者以速率 γ 离开感染堆。平均感染期就是 1/γ。
  4. 没有出生、没有死亡(除了移出)、没有人从 R 回到 S。三堆的总和永远等于 N。
  5. 每个人和每个人碰上的机会一样。这条叫均匀混合(homogeneous mixing),是整个模型最贵的一条假设。

两个参数一相除就是那个著名的数:R₀ = β / γ——基本再生数(basic reproduction number),一个感染者在全是易感者的人群里平均传给几个。它的分子是"传得多快",分母是"传多久停",所以 R₀ 天然是速率乘以时长,不是病原体的固有属性。

人只能沿一个方向走,走完就不回头 S 易感 Susceptible I 感染中 Infectious R 移出 Removed β·I·S/N γ·I 这一项里有 S/N — 燃料越少,火越小 这一项与 S 无关 — 该停的时候一定会停 R₀ = β / γ
整个模型就是这张图。左边那条箭头里的 S/N 是它全部反直觉结论的来源。

03跑起来会看到什么(What You See When It Runs)

放一个感染者进去。如果 R₀ > 1,感染人数先指数上涨;随着易感者被消耗,实际的再生数 R₀·S/N 一路下滑;当 S/N 降到 1/R₀ 时,它正好等于 1,新增达到峰值;此后新增下降,但仍在发生。

关键的一幕在峰值之后:那一刻仍有大量人处在感染期,他们不会停下,于是 S 继续跌,一路跌到远低于 1/R₀ 的地方。这个多出来的部分叫超调(overshoot)。最终有多少人被感染过,由一个只含 R₀ 的方程决定:R₀ = 3 时约 94%,R₀ = 2 时约 80%,R₀ = 1.5 时约 58%。

一次流行的全过程(R₀ = 3) 占总人数比例 S/N = 1/R₀ = 33% S 易感者 I 感染中 R 累计被感染 峰值:S/N 正好等于 1/R₀ 终末规模 94% — 阈值只要 67%,多出来的那一截是超调 时间 →
三条曲线一起看才对:峰值出现在 S/N 掉到 1/R₀ 的那一刻,而流行在那之后还要再烧掉一大截。

还有两个跑出来才会注意到的性质。其一,峰值时间对参数极其敏感,终末规模却很稳——把 β 调小一点,峰会推迟很久、变矮,但如果不持续压制,最终感染总数只小一点点。其二,R₀ < 1 时曲线根本起不来,无论初始感染者有多少:这就是"阈值"两个字的全部含义。

04它解释了现实中的什么(What It Explains)

第一,流行病的自限性:不需要假设病原体变弱,燃料被烧掉就够了。这是它最初要回答的那个问题。

第二,疫苗接种阈值:要让 R_eff 一开始就小于 1,需要事先把易感者比例压到 1/R₀ 以下,也就是接种覆盖率至少 1 − 1/R₀。麻疹这类高 R₀ 的病要求 90% 以上,正是从这一行来的。

第三,"压平曲线"为什么真的减少总量:终末规模是 R₀ 的函数,把有效再生数从 3 压到 1.5,最终感染比例从约 94% 降到约 58%。干预不只是把同一堆病例摊开。

第四,它给了一整套可迁移的骨架:把 S/I/R 换成"没听说过 / 正在转发 / 听腻了",同一组方程就成了谣言模型;换成"未采用 / 正在推荐 / 已流失",就成了产品扩散模型。骨架能借,但下一节的每一条也跟着一起借过去了。

它不能解释什么(What It Cannot Explain)

延伸阅读(Further Reading)