主页 模型库 竞赛 学习中心 工具箱 论文库 前沿 建模空间 AI建模
学习中心 探索专题 元胞自动机与自主体模型 个体层面的传染病模型

本页实验台

  1. 格点上的 SIR
  2. 超级传播者
  3. 干预对比
  4. 随机性与灭绝
LAB 01

格点上的 SIR

同样的 R₀,空间约束让曲线变矮变长

问题
经典的 SIR 方程假设"人群充分混合":每个人都可能碰到任何人。可现实中你只会碰到身边的人。把接触限制在空间上,同样的 R₀ 会给出什么样的曲线?
模型
格点上的 SIR:每个格子是一个人,只能传染给四邻。对照的均匀混合方程是:
dS/dt = −βSI/N,  dI/dt = βSI/N − γI,  dR/dt = γI,  R₀ = β/γ
β 是传染率,γ 是恢复率。空间约束下有效接触数被限制在 4,疫情曲线变矮、变长,最终感染比例也低于均匀混合的预测。
感染高峰的高度与时刻—
最终感染过的人口比例—
均匀混合的 R₀ = 8β/γ—
均匀混合模型预测的最终规模—
把 β 设成 0.12、γ 设成 0.25,按播放。屏幕上是一圈向外推进的橙色波前,身后留下一片灰色的康复区——这个形状是微分方程画不出来的:SIR 方程假设所有人随机接触,不存在"波前"。注意曲线的形状:格点上的感染高峰只有 5.3%,持续 150 多步;而同样的 R₀ 在均匀混合模型里会给出又高又窄的尖峰。空间结构把疫情曲线压矮拉长了。原因很朴素:你的邻居也是你邻居的邻居,感染者周围很快就都是已经感染过的人,"有效接触数"远小于 8。把 β 降到 0.08、γ 保持 0.3 再试一次。均匀混合公式说 R₀=2.13,最终会有 83% 的人感染;而格点上疫情走了十几步就自己熄灭了,最终感染 0.13%。把 β 一格一格往上加,你会发现真正的爆发阈值出现在均匀混合 R₀ ≈ 2.2–2.6 的位置,而不是 R₀=1。这个差距有很实际的后果:用均匀混合模型估出来的干预力度,在有空间结构的现实里通常是过量的;而用它估出来的最终规模,通常是高估的。但方向不总是这样——如果人群中存在远距离连接(航班、通勤),空间结构的保护作用会迅速消失,这就是下一页网络传播要讲的事。
LAB 02

超级传播者

平均一样、方差不同:少数人传染大多数时会发生什么

问题
SARS、MERS、新冠都观察到同一件事:少数人传染了绝大多数病例。而 R₀ 只是一个平均数——它完全看不见这种不均匀。这一台把方差单独拎出来,看它带来什么。
模型
个体传染数服从负二项分布,均值 R₀、离散参数 k。
Z ~ NegBin(mean = R₀, dispersion = k),  Var(Z) = R₀(1 + R₀/k)
k 越小越不均匀。新冠估计 k ≈ 0.1–0.5,意味着约 10% 的人造成 80% 的传播。同样的 R₀,k 小的时候暴发更少见但一旦发生更猛。
自己熄灭的比例—
分支过程理论值—
最能传的 20% 造成了—
一个人也没传给的比例—
R₀ 是平均值,而平均值几乎不告诉你任何关于疫情形状的事。同样是 R₀=2.5,把离散参数 k 从 5(接近均匀)调到 0.1(极不均匀),平均值一点没变,一切都变了。k 很大时,每个人都传两三个,疫情稳稳地指数增长,很少自己熄灭。k=0.1 时,八成以上的人一个也没传给,而极少数人一次传几十个——结果是大部分疫情在开头几代就自己断了,偶尔一次撞上超级传播者就直接炸开。上面那条曲线量化了这件事:k 越小,曲线越贴着左上角,意味着越少的人造成了越多的病例。这就是流行病学里常说的"20/80 规则"。这个差别对防控策略的含义是决定性的。如果传播很均匀(k 大),你必须普遍性地把每个人的接触都降下来,因为每个人的贡献都差不多。如果传播极不均匀(k 小),针对性地切断少数高传播场景(密闭、拥挤、长时间聚集),效率会高出一个数量级——而"普遍降低接触"反而浪费在了那八成根本不传播的人身上。SARS、MERS 和新冠的 k 都被估计在 0.1–0.5 之间,流感则接近 1。同样的 R₀,不同的 k,需要的是完全不同的政策。
LAB 03

干预对比

隔离、接触追踪、疫苗:同样的成本,谁的效果最好

问题
隔离、接触追踪、疫苗——预算有限时,同样的钱花在哪一样上效果最好?这不是一个能靠直觉回答的问题,因为三种干预作用在传播链的不同环节上。
模型
三种干预分别改变 Reff 的不同因子:
Reff = R₀ · (1 − v) · (1 − c·q) · (τiso ⁄ τinf)
v 是疫苗覆盖率(减少易感者),c·q 是接触追踪的覆盖率×成功率(切断链条),τiso/τinf 是隔离把传染期缩短的比例。目标是把 Reff 压到 1 以下。
不干预的最终感染比例—
随机接种疫苗—
减少接触—
接触追踪—
四个格子用同一个随机种子、同一组参数同时跑,唯一的区别是干预方式。三种干预都用同一个强度 q,这样比较才有意义:疫苗是随机给 q 比例的人免疫;减少接触是把 β 降低 q;接触追踪是每个被发现的病例,以概率 q 把周围的易感邻居隔离起来。把 q 设成 30% 按播放,然后读那四个数。在格点这种"接触高度局部"的结构上,接触追踪通常明显优于随机接种——虽然它隔离的人数可能更多,但每一次隔离都花在了真正处于传播前线的位置上。随机接种把大量疫苗打给了离疫情很远、本来也不会被感染的人。这是"针对性"的价值:在传播有明确空间或网络结构时,知道该保护谁,比保护更多人更有效。但要小心两个前提。第一,接触追踪需要能及时发现病例——这里假设康复即被发现,现实中有延迟,延迟一长效果就崩。第二,它隔离的人数是内生的、事先不知道的,而疫苗的成本是确定的。把 q 一路拖大再看:三条曲线都会压下去,但压下去的方式不同——减少接触是连续地削弱传播,而疫苗和追踪在超过某个强度后会让疫情直接熄灭,曲线出现一个陡降。那个陡降就是群体免疫阈值。
LAB 04

随机性与灭绝

R₀>1 也可能自己熄灭——小样本下的运气有多重要

问题
"R₀ > 1 就会暴发"是教科书上的说法,但第一个病例只有一个人——他可能还没传给任何人就康复了。这一台问:在小样本下,运气到底有多重要。
模型
早期传播是一个分支过程,灭绝概率 π 是其生成函数的不动点。
π = G(π),  泊松后代时 π = e−R₀(1−π),  从 1 个病例出发的暴发概率 = 1 − π
R₀ = 2 时 π ≈ 0.20——五次里有一次自己熄灭。离散度 k 越小,灭绝概率越高:同样 R₀=2、k=0.1 时灭绝概率超过 0.7。
模拟出来的熄灭比例—
理论值 s^(初始人数)—
熄灭时累计感染了几人(中位数)—
发展成大流行的比例—
R₀>1 的意思是"平均每人传给不止一个",很多人把它读成"疫情一定会爆发"。这是错的。R₀=2 时,从一个感染者开始,有 20% 的概率疫情会自己熄灭,而且这些熄灭的疫情中位数只感染了两三个人。R₀=1.5 时熄灭概率是 42%,R₀=1.2 时高达 69%。原因是早期人数太少,运气说了算:第一个人恰好谁也没传给(泊松分布下概率是 e^(−R₀)),整条链就断了。红点和蓝线贴得很紧,说明分支过程理论算得很准。注意那条绿线:它是 1/R₀。很多教科书会给出"熄灭概率 = 1/R₀",但那是后代数服从几何分布时的答案。泊松分布下的熄灭概率明显更低(R₀=2 时 0.20 对 0.50)——同样的 R₀,后代分布不同,熄灭概率能差一倍以上。这和上一个实验台是同一句话的两种说法。最后把初始感染者从 1 调到 5。熄灭概率从 0.20 掉到 0.20⁵ ≈ 0.0003——几乎必然爆发。这解释了为什么边境检疫的价值极高:它不需要挡住所有输入病例,只要把同时输入的数量压下来,每一条链自己断掉的概率就会连乘。这也解释了为什么很多疫情在真正起飞之前,已经悄悄失败过很多次。

这一页想说的

个体模型比方程多给了三样东西,而这三样都直接影响决策:空间结构(疫情曲线被压矮拉长,爆发阈值远高于 R₀=1)、异质性(同样的 R₀,k 很小时防控应当针对少数场景而不是所有人)、随机性(R₀>1 也可能自己熄灭,所以压低同时输入的病例数极其有效)。方程给的是平均情况,而决策往往取决于分布的形状和尾部。

接着看

← 返回模块 ← 返回探索专题