数学建模美赛 | 微分方程传染病预测模型

175 阅读4分钟

传染病预测问题

  • 不同类型传染病的发病机理和传播途径各有特点
  • 有的传染病,在得过一次后可获得免疫力,有的则不会
  • 有的传染病有潜伏期,有的则没有
  • 需要对不同类型的传染病建立相应合适的预测模型

1.指数传播模型

  1. 假设所研究的区域是封闭区域,在一定时期内人口总量不变,不考虑迁入和迁出
  2. 在t时刻患病人数N(t)是随时间变化的、可微的函数
  3. 每个病人在单位时间内会传染到的人数为大于0的常数λ

模型的建立

  • 设N(t)为他时刻的患病人数,则t+Δt时刻的患病人数为N(t+Δt)
  • 则从t->t+Δt时间内,净增的患病人数为N(t+Δt)-N(t)
  • 根据假设3(每个病人在单位时间内会传染到的人数为大于0的常数λ),有N(t+Δt)-N(t)=λN(t)Δt
  • 注意:λ在模型中始终是常数(每个病人在单位时间内会传染到的人数)

微分方程

  • 基于第二条模型假设,在上面公式等号两边同时除以Δt,并令Δt->0
  • 可得微分方程
dN(t)/dt = λN(t) t>0
N(0) = N0
  • 可求得该模型的解析解:

image.png

结果分析

  • 模型结果显示,患病人数是指数型增长的
  • 该模型一般适用于传染病暴发初期 image.png
  • 因为在初期,传染源和传染途径往往未知,难以防范
  • 但是按照该模型,t->∞时N(t)->∞,显然不符合实际

模型改进

  • 封闭区域内人数有限,当患病人数越来越多时,健康人群的数量也就越来越少
  • 单位时间内新增的人数(N(t)的导数)也会减少,毕竟没多少人可以感染了

基于以上分析,对模型进行改进,建立SI模型

2.SI模型

模型假设

1. 人口总数:所研究的区域内人口总数为常数N,即不考虑生死,也不考虑迁移

2. 两类人群:分为易感染者(susceptible)和已感染者(infective),设t时刻两类人群在总人口中所占的比例分别为s(t)和i(t),显然s(t)+i(t)=1

3. 日感染率:每个病人在单位时间(每天)内接触的平均人数为常数λ,称为日感染率;当病人所接触的是健康者时,会将其感染成病人

4. 不考虑治愈:每个病人得病后在传染期内无法治愈,且不会死亡

注意事项

  • 现实中,地区人数并不会真的为常数,总有出生率、死亡率、迁入和迁出等等
  • 如果把这些因素考虑进模型,模型会十分复杂;而本题的重心是传染病
  • 模型假设的目的:简化问题

模型建立

  • 细节:假设3中λ是1个病人单位时间接触的平均人数,接触的人中既有病人也有健康者
  • 则1个病人可以在单位时间内使λs(t)个健康者变为病人
  • 在t时刻病人总数Ni(t),Δt时间内新增λs(t)Ni(t)Δt个病人,则单位时间内新增病人数(Ni(t+Δt)-Ni(t))/Δt = λNs(t)i(t)
  • 令Δt -> 0,得微分方程di(t)/dt = λs(t)i(t)
  • 根据假设2,由于s(t)+i(t)=1,所以可写作di(t)/dt = λi(t)(1-i(t)) image.png

模型结果

  • 医学上称di(t)/dt为传染病曲线,表示传染病人增加率与时间的关系 image.png
  • 预测结果随着时间的推移,病人比例接近100% image.png
  • 当病人总量占总人口比值达到50%,即i = 0.5时,di/dt达到最大值 ,此时为传染高峰期
  • 根据i(t)的表达式,可得高峰期对应时刻:tm = 1/λ (ln(1/i0 - 1))

SI模型未考虑病人得病后可以治愈,t -> ∞ 时 i(t) -> 1 , 即所有人最后都被传染,问题源自模型假设中只有健康者变为病人,但病人不会变为健康者,显然不合理,所以该模型仍需优化