diff --git a/.translate/state/sir_model.md.yml b/.translate/state/sir_model.md.yml
new file mode 100644
index 00000000..b58bee00
--- /dev/null
+++ b/.translate/state/sir_model.md.yml
@@ -0,0 +1,6 @@
+source-sha: a1cd90c5ef6d6f05277318f47fe21eda60fa5e6b
+synced-at: "2026-07-18"
+model: claude-sonnet-5
+mode: RESYNC
+section-count: 5
+tool-version: 0.17.0
diff --git a/lectures/sir_model.md b/lectures/sir_model.md
index 4b14e8de..1f0daa72 100644
--- a/lectures/sir_model.md
+++ b/lectures/sir_model.md
@@ -7,7 +7,20 @@ kernelspec:
display_name: Python 3
language: python
name: python3
+translation:
+ title: 新冠病毒建模
+ headings:
+ Overview: 概述
+ The SIR Model: SIR模型
+ The SIR Model::Time Path: 时间路径
+ The SIR Model::Parameters: 参数
+ Implementation: 实现
+ Experiments: 实验
+ 'Experiments::Experiment 1: Constant R0 Case': 实验1:固定R0的情况
+ 'Experiments::Experiment 2: Changing Mitigation': 实验2:改变缓解措施
+ Ending Lockdown: 解除封锁
---
+
```{raw}
```
-# 新冠病毒建模
+# {index}`新冠病毒建模 `
-```{contents}
+```{contents} Contents
:depth: 2
```
@@ -55,7 +68,7 @@ import numpy as np
from numpy import exp
```
-最后,我们使用SciPy的数值例程odeint来求解微分方程。
+我们还将使用SciPy的数值例程odeint来求解微分方程。
```{code-cell} ipython3
from scipy.integrate import odeint
@@ -65,17 +78,17 @@ from scipy.integrate import odeint
## SIR模型
-我们要分析的是一个包含四个状态的SIR模型。在这个模型中,每个人都必须处于以下四种状态之一:
+我们要分析的这个版本的SIR模型包含四个状态。
+
+假设人口中的每个人都必须处于这四种状态之一。
+
+这些状态是:易感者(S)、暴露者(E)、感染者(I)和移出者(R)。
-- 易感者(S):尚未感染,可能被感染的人群
-- 潜伏者(E):已感染但尚未具有传染性的人群
-- 感染者(I):已感染且具有传染性的人群
-- 移出者($R$):已经康复或死亡的人群
+说明:
-需要注意的是:
-- 一旦康复,就会获得免疫力,不会再次感染
-- 处于移出状态($R$)的人包括康复者和死亡者
-- 潜伏期的人虽然已感染,但还不能传染给他人
+* 处于R状态的人已经被感染,并且已经康复或死亡。
+* 假设康复者已获得免疫力。
+* 暴露组中的人尚不具有传染性。
### 时间路径
@@ -96,28 +109,28 @@ from scipy.integrate import odeint
\begin{aligned}
\dot s(t) & = - \beta(t) \, s(t) \, i(t)
\\
- \dot e(t) & = \beta(t) \, s(t) \, i(t) - \sigma e(t)
+ \dot e(t) & = \beta(t) \, s(t) \, i(t) - σ e(t)
\\
- \dot i(t) & = \sigma e(t) - \gamma i(t)
+ \dot i(t) & = σ e(t) - γ i(t)
\end{aligned}
```
在这些方程中,
-* $\beta(t)$ 被称为*传播率*(个体与他人接触并使其暴露于病毒的速率)。
-* $\sigma$ 被称为*感染率*(暴露者转变为感染者的速率)
-* $\gamma$ 被称为*恢复率*(感染者康复或死亡的速率)。
+* $\beta(t)$ 被称为**传播率**(个体与他人接触并使其暴露于病毒的速率)。
+* $\sigma$ 被称为**感染率**(暴露者转变为感染者的速率)
+* $\gamma$ 被称为**恢复率**(感染者康复或死亡的速率)。
* 点符号 $\dot y$ 表示时间导数 $dy/dt$。
我们不需要单独建模处于 $R$ 状态的人口比例 $r$,因为这些状态构成一个分区。
具体来说,"已移除"的人口比例为 $r = 1 - s - e - i$。
-我们还将追踪累计病例数 $c = i + r$
+我们还将追踪 $c = i + r$,即累计病例数
(即所有已感染或曾经感染的人)。
-对于适当定义的$F$(见下面的代码), 系统{eq}`sir_system`可以用向量形式表示为
+系统{eq}`sir_system`可以用向量形式表示为
```{math}
:label: dfcv
@@ -125,18 +138,20 @@ from scipy.integrate import odeint
\dot x = F(x, t), \qquad x := (s, e, i)
```
+其中$F$的具体定义参见下面的代码。
+
### 参数
参数$\sigma$和$\gamma$由病毒的生物学特性决定,因此被视为固定值。
根据Atkeson的笔记,我们采用以下参数值:
-* $\sigma = 1/5.2$ - 这意味着平均潜伏期为5.2天
-* $\gamma = 1/18$ - 这表示患者平均需要18天才能康复或死亡
+* $\sigma = 1/5.2$ - 这意味着平均潜伏期为5.2天。
+* $\gamma = 1/18$ - 这表示患者平均需要18天才能康复或死亡。
传播率被构造为
-* $\beta(t) := R(t) \gamma$,其中$R(t)$是时间$t$时的*有效再生数*。
+* $\beta(t) := R(t) \gamma$,其中$R(t)$是时间$t$时的**有效再生数**。
(这个符号表示有点令人困惑,因为$R(t)$与表示已移除状态的符号$R$不同。)
@@ -203,7 +218,8 @@ x_0 = s_0, e_0, i_0
```{code-cell} ipython3
def solve_path(R0, t_vec, x_init=x_0):
"""
- 给定R0的时间路径,计算感染人数i(t)和累计病例c(t)的演变轨迹。
+ 给定R0的时间路径,通过数值积分求解i(t)和c(t)。
+
"""
G = lambda x, t: F(x, t, R0)
s_path, e_path, i_path = odeint(G, x_init, t_vec).transpose()
@@ -333,18 +349,17 @@ plot_paths(i_paths, labels)
plot_paths(c_paths, labels)
```
-## 解除封锁措施的影响分析
+## 解除封锁
-接下来我们将基于Andrew Atkeson的[研究](https://drive.google.com/file/d/1uS7n-7zq5gfSgrL3S0HByExmpq4Bn3oh/view),探讨不同时机解除封锁措施对疫情发展的影响。
+以下内容复现了Andrew Atkeson关于解除封锁时机的[附加研究结果](https://drive.google.com/file/d/1uS7n-7zq5gfSgrL3S0HByExmpq4Bn3oh/view)。
我们对比两种解封方案:
-1. 短期封锁方案:实施30天严格封锁($R_t = 0.5$),之后17个月放开管控($R_t = 2$)
-2. 长期封锁方案:实施120天严格封锁($R_t = 0.5$),之后14个月放开管控($R_t = 2$)
+1. $R_t = 0.5$持续30天,之后17个月$R_t = 2$。这相当于30天后解除封锁。
+2. $R_t = 0.5$持续120天,之后14个月$R_t = 2$。这相当于4个月后解除封锁。
-模型的初始条件设定为:
-- 25,000名活跃感染者
-- 75,000名处于潜伏期的感染者(已感染但尚未具有传染性)
+这里所考虑的参数设定模型初始时有25,000名活跃感染者,
+以及75,000名已经暴露于病毒、即将具有传染性的人群。
```{code-cell} ipython3
# 初始条件
@@ -398,4 +413,4 @@ paths = [path * ν * γ * pop_size for path in i_paths]
plot_paths(paths, labels)
```
-如果我们能够将感染高峰推迟到疫苗研发出来之前,就有可能大幅降低最终的死亡人数。
+如果我们能够将感染高峰推迟到疫苗研发出来之前,就有可能降低累计死亡人数。