, i6 b$ L5 Q: K7 f 6 \8 O& \. \" C! T+ j2. 疫情传播 SI 模型 6 s, n5 s7 b0 H) d( a2.1 SI 模型的适用范围6 F& k, x j4 b+ h6 S; L( i3 U
SI 模型适用于只有易感者和患病者两类人群,且无法治愈的疾病,例如 T型病、僵尸。! _7 v+ i0 B+ p9 F! W7 K8 a, ?
$ u" ], g h6 G
$ v9 R" @% i/ _
0 f7 i' }+ u; ]7 v+ V
. w; Y, A* O! ]0 |8 c. G0 p2.2 SI 模型的假设6 s5 V( I5 j: G3 r
考察地区的总人数 N 不变,即不考虑生死或迁移; 3 ~9 D* b& V+ L/ S0 r6 U) k人群分为易感者(S类)和患病者(I类)两类; ) f% ?8 O D" e( A+ m8 s易感者(S类)与患病者(I类)有效接触即被感染,变为患病者,无潜伏期、无治愈情况、无免疫力; $ U! `5 h; A& V$ V/ L# C2 ?每个患病者每天有效接触的易感者的平均人数(日接触数)是 λ \lambdaλ,称为日接触率;6 I' h) Y% C& ?9 k
将第 t 天时 S类、I 类人群的占比记为 s ( t ) s(t)s(t)、i ( t ) i(t)i(t),数量为 S ( t ) S(t)S(t)、I ( t ) I(t)I(t);初始日期 t = 0 t=0t=0 时, S类、I 类人群占比的初值为 s 0 s_0s ! V' T0 |+ d9 P1 s0, j/ G% p3 \% F7 [
8 k+ Z( [( t3 D: H& d2 V. b: T 、i 0 i_0i 2 U' A4 \) U6 ]4 k3 o
01 {0 m' ]0 q- y& g% f
, n% Q* k- Z. n0 D
。 & u; |6 c4 Q: F2 j2.3 SI 模型的微分方程 8 j2 }% F+ }( v, t/ p- Z2 m- Z由. t n2 Z: l, f" e" M0 {
N d i d t = N λ s i N\frac{di}{dt} = N\lambda s i% p" }1 b# |/ n1 t% Z! l) T( J; u
N 4 |( D) I- m# @2 D4 w H4 s8 xdt 4 r6 }8 B1 {% d+ i& o& J8 s( Rdi 9 J3 N" e2 p: F. l3 r' F % q- I- G3 x& {+ N) L
=Nλsi # o. W; F3 Q3 k; P% n2 t; r( t# S
& H, [0 f) R5 H. i& q$ ]6 M得:: K. U3 C) n* _2 X/ \
d i d t = λ i ( 1 − i ) , i ( 0 ) = i 0 \frac{di}{dt} = \lambda i (1-i),\ i(0) = i_0 2 B8 G" J% L. Q7 d6 Q; ydt7 m2 T# {7 v7 f* J I- _
di # k# {6 v0 A5 x A+ g' e 8 U1 W+ A/ x! h4 k =λi(1−i), i(0)=i k# o( N, E8 t. h2 J) }0 + q- P" k8 z; p) O0 m, Z: d ( ?: w2 P# k8 k9 |9 i8 e' G
# R; X2 {/ ]1 q& V
. C: b0 _2 X4 ~3 `5 ?( [- S% G1 ]' h4 e1 G
这是 Logistic 模型,用分离变量法可以求出其解析解为: ' E4 x- u5 z" [! F6 h; O7 Ei ( t ) = 1 1 + ( 1 / i 0 − 1 ) e − λ t I ( t ) = N i ( t ) i(t)=\frac{1}{1+(1/i_0 - 1)\ e^{-\lambda t}}\\ I(t)= N\ i(t). y# i( E H/ y' o5 c2 u! p9 U
i(t)= $ l! M$ g5 o' ~; U' c. b8 O- {6 f1+(1/i & M4 O% ^/ e6 n1 p( ^+ e( t2 t7 _0- F( q! N- [+ ~1 g- h
2 V; K4 e, ^- Y2 M
−1) e : }* W) X* |3 m8 V1 s−λt / n! }( o! p& r, N/ z1 l& J7 F / P$ u& _* G( Y) u( \
1 9 v3 |) Q+ A' Y1 t4 { 1 E; N1 p* }( l1 r8 ~
4 C$ w' A d: C2 r/ ~( ^6 W' WI(t)=N i(t)2 Y+ {7 n$ S- Y, f1 @) Q# Y/ y, t" S
( l1 u& T0 R# N& p4 c' ^ 9 _6 S2 V6 | l. v7 I: @/ m) F# k0 Z7 a$ r0 x8 L# Z/ C
/ _$ d2 ^) _$ p' D7 W# u+ D3. SI 模型的 Python 编程5 Z9 w8 n% _' M
3.1 SI 模型的解析解 ) c: V4 t7 _: o上文已经得到 SI 模型的解析解,对此很容易通过 Python 编程实现,详见本文例程。$ h7 }% K" L4 e, S! E
7 ]: m9 E- G' k1 c) y. [& S L. X2 H
$ Z: x' p3 U% d: Z虽然 SI 模型的解析解并不复杂,而且解的精度当然是最好的,但我们仍然不鼓励用解析解的方法。原因在于,一是对于小白求解析解的过程相对复杂困难,而且可能出错,二是对于更复杂的模型是没有解析解的,即便大神也只能用数值方法求解。既然如此,不如从一开始就学习、掌握数值求解方法,熟悉数值解法的编程实现。1 F3 B2 M+ I6 t
9 q. s5 m' O2 d- i% g
4 T3 @ @) s! C! D. ? ) k9 R- e5 w8 @% {: w( S; {% _3.4 解析解与数值解的比较 3 E% L* `0 U i9 W( R5 p9 j. @* Z/ X6 Z J1 U
. V3 o- Y/ K( [9 y* ]! P
本图为例程 2.3 的运行结果,图中对解析解(蓝色)与使用 odeint() 得到的数值解(红色)进行比较。在该例中,无法观察到解析解与数值解的差异,表明数值解的误差很小。) ?8 @ V0 m j& b
7 y2 h" a6 N4 ` - y3 d c% ^: b9 W4 H图中 d i / d t di/dtdi/dt 具有最大值,最大值表示疫情增长的高潮,达到最大值后 d i / d t di/dtdi/dt 逐渐减小,但患病者比例很快增长到 100%,表明所有人都被感染成为患者。5 X) ?/ X" Q. E, y3 Z) A; x
: D) M7 F' @4 ` % B. q! L. s+ b3 g0 P* L这是特定参数的结果,还是模型的必然趋势,需要对参数的影响进行更详细的研究。 0 i, k) q- |# W & j/ W* H0 | U, J& ~6 i3 |0 P# ?( C$ \" o5 k
$ R$ {$ I; J( ?6 G/ l- Y0 D; y; F
$ V, j. D* u: h& L L' U4. SI 模型参数的影响7 P) z% J) N0 L) m* w/ H/ V
对于 SI 模型,只有日接触率 λ \lambdaλ 和患病者比例的初值 i 0 i_0i ; Q9 ^: I5 E+ r% d2 f. A0 " @3 f6 b" E r) i. W 6 }, r& g7 V- [# _( s0 [+ i
会影响模型的结果,其它参数如总人数 N 并没有影响。' D. c" L; W7 B3 L3 \1 w1 p
8 ~- I9 |5 x* j" E5 g
8 L) D/ K; H! r! t9 J, ^: S
4.1 日接触率对 SI 模型的影响! }5 w3 e3 ?/ A9 T n( S, `
% j5 \5 g7 p6 M. I, W& K * j: D8 v: n+ j: a+ C+ Y对不同日接触率的比较表明: 7 T7 k, P4 j% n- |* I. ? {# B. V8 L+ r( @ q
/ T/ A4 b5 o/ t1 j# j& D
日接触率越大,疫情从发生到爆发的时间越短,爆发过程的增长速度也越快。8 p' v' a8 m' g, D/ N8 a' {# n) N5 o9 }
不论日接触率多大,患病者的比例最终都会增长到 1,表明所有人都被感染成为患者。0 p3 g" X4 n$ {. }3 [% j
不论日接触率多大,都具有缓慢发展、爆发、增长放缓 3 个阶段,进入爆发阶段后患病者的比例急剧增长,疫情就很难控制了。0 Q- k7 Q* n+ T6 M8 T; }
5 I! M+ M- V: e: U* {6 W; }( N
: a: [ C/ Z0 g: Z# M这与我们直观的经验不太一致,一个原因是 SI 模型本身存在不足,另一方面也说明如果对传染病不加控制,即使开始患病人数很少,经过一段时间的传播后也终将会引起爆发。 $ a. U. y4 \8 s v8 B* E5 z3 }' k$ U3 O5 v
7 l w/ F7 F G9 z7 V+ T4.3 SI 模型结果讨论 * c7 S' r2 ]; Z) T8 G. \0 d9 E在 i ( t ) = 0.5 , I ( t ) = N / 2 i(t)=0.5,\ I(t) = N/2i(t)=0.5, I(t)=N/2 时 $ di/dt$ 达到最大值,病人数目 I ( t ) I(t)I(t) 增加最快。由此可以预报传染病高潮的到来,即为医院的门诊量最大的一天,卫生部门要重点关注。6 Y" {8 [5 B/ S( }2 ]' M
t m t_mt 5 |9 X' T; @2 A- ] u* L2 _" {1 K
m: d. }0 D2 E; K7 N) l. e. R
m: P* w, V) K
与 λ \lambdaλ 成反比。日接触率 λ \lambdaλ 反映卫生水平、防控手段,提高卫生水平、强化防控手段,降低病人的日接触率,可以推迟传染病高潮的到来。" O7 K$ b' m1 I
当 t → ∞ t \to \inftyt→∞ 时 i → 1 i \to 1i→1 ,表明所有人最终都会被传染而变成病人。这完全不符合实际情况,表明该模型太不讲 politics 了,只能适用于美帝国家建模。# K- A: b. O' r8 n7 p# p
SI 模型非常明显而严重的缺陷,是该模型没有考虑患病者可以治愈,因此只能是健康人患病,而患病者不能恢复健康(甚至也不会死亡,而是不断传播疫情),所以终将全部被传染。 & |' t1 B+ v9 M) k- c———————————————— % C! I. M$ Q" D! I4 t6 O$ `" y版权声明:本文为CSDN博主「youcans」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。. b+ P' s! a I. Q7 y
原文链接:https://blog.csdn.net/youcans/article/details/117740466 . l$ c8 ` X% W: D# v. t9 Q: i, w' N5 {. I