大家好,欢迎来到IT知识分享网。
传染病模型
需要考虑的问题
- 描述传染病的传播过程
- 分析受感染人数的变化规律
- 预报传染病高潮到来的时刻
- 预防传染病蔓延的手段
基本方法
不需要从医学的角度分析各种传染病的特殊机理,而是按照传播过程的一般规律建立数学模型。
模型1
假设:每个病人每天有效接触(足以使人治病)人数为λ
建模: i ( t + Δ t ) − i ( t ) = λ i ( t ) Δ t i(t+Δt)-i(t)=λi(t)Δt i(t+Δt)−i(t)=λi(t)Δt
由上面的模型可以得到
d i d t = λ i \frac{di}{dt}=λi dtdi=λi
i ( 0 ) = i 0 i(0)=i_0 i(0)=i0
整理得出 i ( t ) = i 0 e λ t i(t)=i_0e^{λt} i(t)=i0eλt
t→∞时得出的是i→∞,表示t趋近于无穷大时,全部的人都会得病,但是这很明显不符合实际的情况。短期可能可以使用该模型,但长期的传染病不可以使用。
模型2(SI模型)
区分已感染者(病人)和未感染者(健康人)
假设:
- 总人数N不变,病人和健康的人的比例分别为i(t),s(t)。
- 每个病人每天都有效接触人数为λ,且使接触的健康人治病。 [λ:日接触率]
建模 N [ i ( t + Δ t ) − i ( t ) ] = [ λ s ( t ) ] N i ( t ) Δ t N[i(t+Δt)-i(t)]=[λs(t)]Ni(t)Δt N[i(t+Δt)−i(t)]=[λs(t)]Ni(t)Δt
d i d t = λ s i \frac{di}{dt}=λsi dtdi=λsi
s ( t ) + i ( t ) = 1 s(t)+i(t)=1 s(t)+i(t)=1
简单分析:i=0时导数为0,增长率为了0,当i=1时即全部是病人时增长率也为0,符合实际情况的假设。
此模型的解为: 1 1 + ( 1 i 0 − 1 ) e − λ t \frac{1}{1+(\frac{1}{i_0}-1)e^{-λt}} 1+(i01−1)e−λt1
tm是传染病高潮到来时刻
模型2的缺陷:没有考虑有的病人是可以治愈的。
模型3(SIS模型)
前提: 传染病无免疫性——病人治愈成功为健康人,健康人可再次感染。
新增假设:
- 病人每天被治愈的比例为μ,μ为日治愈率。
建模: N [ i ( t + Δ t ) − i ( t ) ] = λ N s ( t ) i ( t ) − μ N i ( t ) Δ t N[i(t+Δt)-i(t)]=λNs(t)i(t)-μNi(t)Δt N[i(t+Δt)−i(t)]=λNs(t)i(t)−μNi(t)Δt
其中 μ N i ( t ) Δ t μNi(t)Δt μNi(t)Δt是治愈的人数
用 σ = λ / μ 代 入 上 面 的 式 子 得 出 d i d t = − λ i [ i − ( 1 − 1 σ ) ] 用σ=λ/μ代入上面的式子得出\frac{di}{dt}=-λi[i-(1-\frac{1}{σ})] 用σ=λ/μ代入上面的式子得出dtdi=−λi[i−(1−σ1)]
其中λ表示日接触率,1/μ表示感染期[μ表示一个人一天内被治好的概率,1/μ表示平均得多久的病才会被治好],σ表示一个感染期内每个病人的有效接触人数,称为接触数。
模型4(SIR模型)
前提: 传染病有免疫性——病人治愈后立即移除感染系统,称为移出者。
假设
- 总人数N不变,病人、健康人和移出者的比例分别为i(t),s(t),r(t).
- 病人的日接触率λ,日治愈率μ,接触数σ=λ/μ
建模
第一个方程还是前面模型3中治愈的方程:
N [ i ( t + Δ t ) − i ( t ) ] = λ N s ( t ) i ( t ) − μ N i ( t ) Δ t N[i(t+Δt)-i(t)]=λNs(t)i(t)-μNi(t)Δt N[i(t+Δt)−i(t)]=λNs(t)i(t)−μNi(t)Δt
第二个方程是健康人的变化,健康人和病人之间的变化关系:
N [ s ( t + Δ t ) − s ( t ) ] = − λ N s ( t ) i ( t ) − μ N i ( t ) Δ t N[s(t+Δt)-s(t)]=-λNs(t)i(t)-μNi(t)Δt N[s(t+Δt)−s(t)]=−λNs(t)i(t)−μNi(t)Δt
即可得到
{ d i d t = λ s i − μ i d s d t = − λ s i i ( 0 ) = i 0 s ( 0 ) = s 0 \left\{ \begin{aligned} \frac{di}{dt}&=λsi-μi\\ \frac{ds}{dt}&=-λsi\\ i(0)&=i_0\\ s(0)&=s_0 \end{aligned} \right. ⎩⎪⎪⎪⎪⎪⎪⎪⎨⎪⎪⎪⎪⎪⎪⎪⎧dtdidtdsi(0)s(0)=λsi−μi=−λsi=i0=s0
设λ=1,μ=0.3,i0=0.02,s0=0.98,用MATLAB计算作图i(t),s(t)及i(s)。

N [ s ( t + Δ t ) − s ( t ) ] = − λ N s ( t ) i ( t ) − μ N i ( t ) Δ t N[s(t+Δt)-s(t)]=-λNs(t)i(t)-μNi(t)Δt N[s(t+Δt)−s(t)]=−λNs(t)i(t)−μNi(t)Δt
- s0>1/σ时i(t)先上升后下降至0 [传染病蔓延]
- s0<1/σ时i(t)单调降至0 [传染病蔓延]
传染病不蔓延的条件——s0<1/σ
预防传染病蔓延的手段:
- 提高阈值:降低σ(λ/μ)
→降低λ(日接触率):隔离
→提高μ:提高医疗水平 - 降低s0
s0+i0+r0=1,i0为感染比例,使得s0下降的方法就应该为提高r0,也就是进行群体免疫(打疫苗)。
被传染者比例估计
免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://haidsoft.com/121103.html


