微分方程建模——以传染病模型为例

微分方程模型

动态模型

  • 描述的对象特征随时间(空间)的演变过程
  • 分析对象特征的变化规律
  • 预报对象特征的未来形态
  • 研究控制对象特征的手段

微分方程建模

  • 根据函数及其变化率之间的关系确定函数
  • 根据建模目的和问题分析做出简化假设
  • 按照内在规律或类比法建立微分方程

传染病模型

背景与问题
传染病的极大危害

  • 描述传染病的椽笔过程
  • 分析受感染人数的变化规律
  • 预报传染病高潮到来的时刻
  • 预防传染蔓延的手段

基本方法
不是从医学角度饭呢西各种传染病的特殊机理,而是按照传播过程的一般规律建立数学模型

模型1

已感染人数(病人)i(t)
假设:每个病人每天有效接触(足以使人致病)人数为
λ \lambda λ
建模: i ( t + △ t ) − i ( t ) = λ i ( t ) △ t i(t+\bigtriangleup t)-i(t)=\lambda i(t)\bigtriangleup t i(t+t)i(t)=λi(t)t
t趋向无穷大则感染人数i也趋向无穷大,显然不合理
若有效接触的是病人,则不能使病人数增加,必须区分已感染者(病人)和未感染者(健康人)

模型2 SI模型

区分已感染者和未感染者
假设

  1. 总人数N不变,病人和健康人的比例为i(t),s(t)
  2. 每个病人每天右效接触人数为
    λ且使接触的健康人致病
    建模: N [ i ( t + △ t ) − i ( t ) ] = [ λ s ( t ) ] N i ( t ) t △ N[i(t+\bigtriangleup t)-i(t)]=[\lambda s(t)]Ni(t)t\bigtriangleup N[i(t+t)i(t)]=[λs(t)]Ni(t)t
    { d i d t = λ i ( 1 − i ) i ( 0 ) = i 0 \begin{cases} & \frac{di}{dt}=\lambda i(1-i) \\ & i(0)=i_{0} \end{cases} {dtdi=λi(1i)i(0)=i0
    Logistic模型
    t m = λ − 1 l n ( 1 i 0 − 1 ) t_{m}=\lambda ^{-1}ln(\frac{1}{i_{0}}-1 ) tm=λ1ln(i011)
    tm传染病感染率最高时期
    日接触率λ越低,感染高峰越晚

模型3 SIS模型

传染病无免疫性——病人治愈成为我健康人,健康人可被再次感染
增加假设
3. 病人每天的治愈的比例为μ(μ~ 日治愈率)
建模:
N [ i ( t + △ t ) − i ( t ) ] = [ λ s ( t ) ] N i ( t ) t △ − μ N i ( t ) △ t N[i(t+\bigtriangleup t)-i(t)]=[\lambda s(t)]Ni(t)t\bigtriangleup -\mu Ni(t)\bigtriangleup t N[i(t+t)i(t)]=[λs(t)]Ni(t)tμNi(t)t
{ d i d t = λ i ( 1 − i ) − μ i i ( 0 ) = i 0 \begin{cases} & \frac{di}{dt}=\lambda i(1-i) -\mu i \\ & i(0)=i_{0} \end{cases} {dtdi=λi(1i)μii(0)=i0
引入 σ = λ μ \sigma =\frac{\lambda }{\mu } σ=μλ一个感染期内每个病人的有效接触人数,称为接触数
d i d t = − λ i [ i − ( 1 − 1 σ ) ] \frac{di}{dt} =-\lambda i[i-(1-\frac{1}{\sigma } )] dtdi=λi[i(1σ1)]
接触数σ=1 ~ 阈值

模型4 SIR模型

传染病有免疫性——病人治愈后即移出感染系统,称移出者
假设
1.总人数N不变,病人、健康人、移出者比例分别为i(t),s(t),r(t) (i+s+r=1)
2.病人的日接触率λ,日治愈率μ,接触数σ=λ/μ
建模:
s(t)+i(t)+r(t)=1
N [ i ( t + △ t ) − i ( t ) ] = [ λ s ( t ) ] N i ( t ) t △ − μ N i ( t ) △ t N[i(t+\bigtriangleup t)-i(t)]=[\lambda s(t)]Ni(t)t\bigtriangleup -\mu Ni(t)\bigtriangleup t N[i(t+t)i(t)]=[λs(t)]Ni(t)tμNi(t)t
N [ i ( s + △ t ) − s ( t ) ] = − λ N s ( t ) i ( t ) △ t N[i(s+\bigtriangleup t)-s(t)]=-\lambda N s(t)i(t)\bigtriangleup t N[i(s+t)s(t)]=λNs(t)i(t)t
{ d i d t = λ s i − μ i d s d t = − λ s i i ( 0 ) = i 0 , s ( 0 ) = s 0 \begin{cases} \frac{di}{dt}=\lambda si-\mu i \\ \frac{ds}{dt}=-\lambda si \\ i(0)=i_{0},s(0)=s_{0} \end{cases} dtdi=λsiμidtds=λsii(0)=i0,s(0)=s0
此微分方程组无法求出i(t),s(t)的解析解,初始时期i0+s0≈1(通常r(0)=r0很小
先做数值计算,再在相平面上研究解析解性质
{ d i d t = λ s i − μ i , i ( 0 ) = i 0 d s d t = − λ s i , s ( 0 ) = s 0 \begin{cases} \frac{di}{dt}=\lambda si-\mu i ,i(0)=i_{0}\\ \frac{ds}{dt}=-\lambda si ,s(0)=s_{0} \end{cases} {dtdi=λsiμi,i(0)=i0dtds=λsi,s(0)=s0
整理可得
{ d i d s = 1 σ s − 1 i ∣ s = s 0 = i 0 \begin{cases} \frac{di}{ds}=\frac{1}{\sigma s}-1 \\ i|_{s=s_{0}}=i_{0} \end{cases} {dsdi=σs11is=s0=i0
相轨线 i ( s ) = ( s 0 + i 0 ) − s + 1 σ i n s s 0 i(s)=(s_{0}+i_{0})-s+\frac{1}{\sigma } in\frac{s}{s_{0}} i(s)=(s0+i0)s+σ1ins0s
相轨线i(s)的定义域
D={(s,i)|s≥0,i≥0,s+i≤1}
P1 : s0>1/σ :custom_arrow_right: i(t)先升后降至0 :custom_arrow_right_strong: 传染病蔓延
P2 : s0<1/σ :custom_arrow_right: i(t)先升后降至0 :custom_arrow_right_strong: 传染病不蔓延
预防传染病蔓延的手段
传染病不蔓延的条件——s0<1/σ

  • 提高阈值1/σ
    降低σ=(λ/μ)
    λ(日接触率) :fa-long-arrow-down: :custom_arrow_right_strong: 卫生水平 :fa-long-arrow-up:
    μ(日治愈率) :fa-long-arrow-up: :custom_arrow_right_strong:医疗水平 :fa-long-arrow-up:
  • 降低s0
    由于s0+i0+r0=1
    要么提高i0,要么提高r0,提高i0则要求全部人感染,显然不可能,则提高r0,即群体免疫

σ估计
s 0 + i 0 − s ∞ + 1 σ l n s ∞ s 0 s_{0}+i_{0}-s_{\infty }+\frac{1}{\sigma } ln\frac{s_{\infty }}{s_{0}} s0+i0s+σ1lns0s
初期忽略i0
σ = l n s 0 − l n s ∞ s 0 − s ∞ \sigma =\frac{lns_{0}-lns_{\infty }}{s_{0}-s_{\infty}} σ=s0slns0lns
被传染人数估计
记被传染人数比例x=s0-s
x ≈ 2 s 0 σ ( s 0 − 1 σ ) x\approx 2s_{0}\sigma (s_{0}-\frac{1}{\sigma } ) x2s0σ(s0σ1)

  • 9
    点赞
  • 35
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值