|
什么是传染病动力学?numpy和matplotlib用python实现传染病模型SI模型SIS模型SIR模型SEIR模型 什么是传染病动力学?最近,在报道疫情的众多新闻中,相信大家也看到过一些来预测新型冠状病毒会导致感染肺炎的人数。你一定好奇,这个人数要怎么预测呢?预测人数又有什么用呢? 事实上,从学科方向来说,这类研究属于传染病动力学,就是用数学模型去描述传染病在人群中传播的规律,从而预测患病人数,进而指导政府制定措施和政策去控制传染病的传播。
2 e! ?0 a' ] m0 U这类研究最早可追溯到18世纪Daniel Bernoulli对天花的研究,而我们今天所要介绍的SIR模型是1927年Kermack与McKendrick在为了研究伦敦黑死病而提出的,是传染病动力学中最基础的模型。 介绍了传染病模型的背景信息,不知道现在你对传染病模型更有兴趣,还是执着地对python更有兴趣呢?不论哪种,这篇文章会满足你所有的好奇心。 numpy和matplotlib首先,安装一下这节课我们需要使用的两个python包,numpy和matplotlib。# Z5 o8 E+ v: S- M& ]* L9 l4 B
numpy-是python进行科学和矩阵运算最常用的包。 用numpy建立一维数组,存储和计算每天传染病人数的数据。
/ Y/ x7 n8 d* J* } x; F/ Pimport numpy as np import matplotlib.pyplot as plt 用matplotlib绘制传染病人数随天数变化的曲线,给出模型预测人数变化的直观认识。 好啦,下面开始用python实现传染病模型吧。 用python实现传染病模型为了让大家能够更好地理解,我们先不直接说SIR模型,我们从最简单的开始。 SI模型首先想象这样一个场景,一个城市有 个人,假设没有人出生和死亡,忽然有一天有 个人感染了病毒成为了患者,如果每天每个患者能够有效传染 个人,那么第二天患病人数是多少呢?最简单的答案是: ,也就是说每天都会新增 个患者。那这样以来,在无限远的将来会有无穷多的人被感染,显然这是不合理的,那错在哪里?仔细思考,你一定发现了,已经患病的人就不能再被传染了,所以我们有必要把人群分为两类,易感者(S-susceptiable)和感染者(I-infective)(你猜的没错,这就是SIR中S和I的含义,R的含义之后介绍再讲)。为了之后方便计算我们记易感者和感染者在人群中的比例为 ,那么 。我们重新考虑上面的问题,顺便来个示意图: Image Name这样的话,每天新增的患者数为 ,也就是总传染人数乘以易感者所占的人群比例。7 a- F4 _0 ?2 R4 G P' V# L
那么每天的感染者比例的增加量就是 。我们假设城市有一千万(N=10的7次方)人,每个患者每天接触感染每天0.8人(lamda=0.8),初始感染人数为45人(i0 = 45/N),我们来模拟70天(T=70)的情况。 # population
9 V* L% p) s* O6 n" hN = 1e71 l1 R6 _ g' U, v- u4 ]
# simuation Time / Day7 l. c% \8 }8 m6 T. E q# R1 [4 {
T = 70
9 O* ^' s+ l: ?4 w: [7 f$ ?# susceptiable ratio
# I! ?6 D0 J8 w( X/ i5 L j4 ~s = np.zeros([T])
7 x$ H+ Z2 k/ P. L0 a( M$ }# infective ratio
" m8 e/ O# t Si = np.zeros([T])) e# g2 k- G# q1 E: I+ i
# contact rate4 Y" f7 |/ _7 A0 B9 e7 u
lamda = 0.8" [% n9 b5 b; f
. `1 V8 k1 n7 _& X9 Z5 s2 J' N% i, N# initial infective people* [. I' ]! W2 |- O8 L: g
i[0] = 45.0 / N
( }4 W5 p# i8 v% m
7 W) r+ {, X/ g$ W3 M8 g% efor t in range(T-1):
( o( q1 F8 A6 }# B- I! g! ] i[t + 1] = i[t] + i[t] * lamda * (1.0 - i[t]); a8 U. K S* v9 U
$ l1 T2 }3 |6 Z3 R% t( O, R
, i6 x J+ y' Z3 I3 q: W0 {) T. _' V& B, l
相信其他语句大家都明白,新知识是这两行:4 E$ b7 }/ [- j
3 E8 Y6 d0 ?, k& K
# ? E* Y: U! C: |s = np.zeros([T])7 z, n. @& _$ k. P- P0 u; {
i = np.zeros([T])
) N' Q0 V4 `! g& x4 X1 I: ?7 o: `# v3 C+ r/ Z+ X: ~! y) D7 R2 c3 D
这两句话的意思是一样的,就是利用numpy(已被我们重新命名为np)的函数(zeros())来建立一个所有元素都是零的数组,而给的参数决定了这个数组的维度。比如:7 {3 c4 W) l/ v8 |8 ]6 S
# g5 d3 [7 P2 d2 B @1 qa = np.zeros([2,3])
: x) a. n, B: r1 d% F2 Wa
% h H2 N# ]5 s$ \. V" t+ N* ^7 {" ?' [$ k
array([[0., 0., 0.],
: E n) [' O( D+ {" ]& s% s+ t [0., 0., 0.]])5 `% Q7 n; w/ W- k
1 w6 Z5 f, A3 H1 _
$ ]2 j, C0 J+ }) s2 a7 d
array([0., 0., 0., 0., 0.])
! V2 f7 [6 N( o# ~5 t' X6 S$ k# u: [0 R* L. b
) E: w8 q7 Z1 |$ K类似的还有产生元素全部是1的数组的函数np.ones():7 \& a% B# G8 R( t: T
7 a# t5 Z1 L! u
a = np.ones([5])) I q3 \+ K: r) t" z( j$ @* W
a" W) j' u5 i" w
4 B0 a# _ m9 L' E' j: S
array([1., 1., 1., 1., 1.]); l5 I# s7 S- u1 A$ K$ c' Y: q
; Z+ {" r7 Y# `
* Q. z5 ^* \* h" @9 K* K
a = np.ones([2,3]), n6 e: j" Z- F6 l3 Q/ p% }
a. P# _0 ~0 [" b J, X7 [
1 ~! |' o' c" x5 \
1 U+ B3 a+ }$ g6 |8 h# W. S2 Uarray([[1., 1., 1.],
: U$ B1 A9 o- f6 ` [1., 1., 1.]])
; i' D. }) q: D. B$ g
% X U1 y( b! t1 L5 L6 J1 V* q
4 F' s2 e# S5 b7 {/ ]plt.plot(i)' N8 \7 ^/ |1 y+ X3 X2 l4 Z* g
f# h" k3 L, X7 c$ G
8 g: _7 _3 T0 O1 L5 o
[<matplotlib.lines.Line2D at 0x7f0c2768d6d8>]
4 \5 ?/ U2 ]1 Z6 i+ t1 P6 A$ r9 ^0 {3 M) O
- Q, F7 m: A$ D1 n& j! r
![]()
+ j5 k3 L0 y, {) v) t, B ~8 X9 k3 L8 c0 Y+ M6 |
' X) [7 i! r8 b0 l0 M实现SI模型的核心代码是第三个cell的第11,12行:& u: _. s9 d9 N3 m* n' i
9 N# P% V, B. ^0 n
for t in range(T-1):$ n3 ]4 Q( E4 Q z ~) _
i[t + 1] = i[t] + i[t] * lamda * (1.0 - i[t]), N X( E+ z I0 q2 q
9 i2 Y1 y+ a% \" b1 E; W( X% x- B就是我们建立的数学模型,利用python的for循环语句累加迭代的方式把每天的增加量叠加到感染者比例上。 运行代码完成计算,我们利用matplotlib的pyplot来画出感染者的随天数的变化曲线: 2 d9 E" U- Q/ D6 e. e9 E0 T
fig, ax = plt.subplots(figsize=(8,4))
, g5 r0 K, H% Lax.plot(i, c='r', lw=2)
/ m1 h# V8 A% k& Q5 s+ @ax.set_xlabel('Day',fontsize=20)
5 O( W& j( {& ]. e" a. `ax.set_ylabel('Infective Ratio', fontsize=20)1 I% `! e) H. T/ o" B6 t+ q
ax.grid(1) f5 C. z4 A8 j
plt.xticks(fontsize=20)- Y- R- h# _9 y; g' H3 n; ]6 l7 R
plt.yticks(fontsize=20);
' W3 O! ~" I8 G# s6 a J6 l( o6 ]# b! L5 l, u- F! T: i; J1 [
$ L- R$ `3 Y3 U4 h+ j) K, Z : G0 o v2 a9 P' o. ]% v
6 ^( H Y# Q* n/ R# r从这个结果看到,大约在25天左右,全部人群都会变成感染者,感染率 。' m4 L3 a4 R+ V3 Q
在程序中我们假设每天每个患者传染0.8个人,你可以改变lamda的值,观察全部人群感染的天数的变化。9 z0 O0 }' i% P# ~' Z! @' i* }
认真思考你会知道,lamda的现实意义就是该城市的卫生水平,衡量的是消毒,隔离这些措施执行得怎么样。回到传染病模型,按照SI模型计算的结果,我们全人类都会患病,这好可怕!原因是我们忽略了一个很重要的因素,那就是我们有奋斗在一线的医护人员,我们会被治愈!所以SI模型只适合研究具有高传染风险又不能被治愈的病(比如HIV)。 但是对于其他病,我们是可以靠医疗和自身免疫系统康复的,那么紧接着的一个问题就是,被治愈后还会再被传染上嘛?根据这个问题的回答不同,我们有了两个不同的模型,SIR 和 SIS。现在可以揭晓,SIR的R的含义了,就是移出者(Removed),现实含义就是指被治愈后不会再被感染的人。而SIS表示治愈后仍然还是易感者。下面我们用python来分别实现这两个模型。 SIS模型为了实现这个模型,我们需要引入新的一个参数,治愈率 。好啦,先上我们的新示意图: Image Name和SI模型做比较,区别就是计算感染者的增加数时要减去被治愈的人数。
. Y9 o0 v6 E* w4 \3 J. ?所以这时候每天的增加的感染者为: ,- [6 l d. ~* g9 }0 f: H5 S
增加的感染率为: 。
8 k [, U5 q) P模型完成啦,修改python代码:
- O: o$ V1 @" ]: H$ |, M4 R8 ^- A# susceptiable ratio
. N. C/ G0 b) Qs = np.zeros([T])
% e: ]1 d) J" o& a* p- _# infective ratio
. o0 x a- n( qi = np.zeros([T])1 G8 R- {5 ^2 Z1 R
* C# A, u1 f" e& R5 F, _) y
# contact rate" @3 p5 Y) d# [# m* D$ J! q) w
lamda = 1.0
% g0 |3 D/ g6 r7 X9 |# recover rate
4 t" {: H6 j: ^- Vgamma = 0.5 3 a# y& p' l$ |
7 A4 \9 c) W7 Q4 k# initial infective people
8 ]; v: N+ E( L) ? Di[0] = 45.0 / N
, f- b! Q ~7 i- W2 D6 K% }
5 @1 S% v W) C" ^( [for t in range(T-1):( @7 |+ q7 H- u$ X' _4 B4 N; d
i[t + 1] = i[t] + i[t] * lamda * (1.0 - i[t]) - gamma*i[t]
: f4 p2 d1 G, E+ G6 S& B8 E
' L! U% ^8 B5 D3 M8 J- y
9 ]2 l" s: e7 x/ o, N l8 V* l/ B2 k7 D
- j4 Y8 a N5 B4 C, Y1 }运行代码,我们画出曲线(代码和SI模型的画图完全一样):
1 o( i* B2 K( G( C, d) ?: T( H+ F
0 { w. K' S- o- pfig, ax = plt.subplots(figsize=(8,4))0 T$ s0 j6 W3 i. `5 A
ax.plot(i, c='r', lw=2)
* b8 E" y, E7 S- F, o- b* X7 }& @1 tax.set_xlabel('Day',fontsize=20) e7 @! g! k, H6 _2 p. R
ax.set_ylabel('Infective Ratio', fontsize=20)
+ S5 U& i7 p3 S" oax.grid(1). S4 {8 T2 K% y* d2 l! X
plt.xticks(fontsize=20)! S+ x( c8 |* F- S
plt.yticks(fontsize=20);0 u8 x5 O* _" Q! C% c9 M& z5 ], i7 q
) A# B% S5 s( F/ C7 r* u - ?, p8 t+ s) n* t2 r
# \ j) t6 I! E) P0 w' Y" Y. S' f' W
行代码,我们画出曲线(代码和SI模型的画图完全一样)
2 c9 l, }- j J/ B1 Y; I1 V1 I5 k可以看到,达到最大感染率的时间退后10天左右,最后感染和治愈达到动态平衡,人群中有始终有一半的人感染着。所以,SIS模型适合研究具有传染性和反复性的流行病,比如常见流感。同样的,感兴趣的话,改变lamda和gamma的值,观察曲线的变化。和lamda不同的是,gamma的现实意义就是对这种疾病的治疗水平。 SIR模型加入了移出者,被治愈的病人不会再被传染,先上我们的新示意图: Image NameSIR 模型
! f3 |1 Q! ], g$ l9 g q5 }" l& ]注意到这里,人群被分成了三类,不再只有I和S,所以相比于之前的模型,我们需要找到新的约束关系。现在我们需要分别计算三种人每天的增加量了:
: \( P" h5 U. q$ R9 \& o6 D1 Q- 易感者:每天都在被传染,所以一直在减少,减少量为被传染的人数:
- 感染者:增加了被感染的人,减少了治愈的人:
- 移出者:增加了治愈的人: 6 P6 _0 J$ [2 t/ N. [8 m- r
建模完成,修改python代码,并且假设人群普遍易感,新型疾病,初始没有移出者。 ! r1 a/ T$ L S6 f/ I1 A
# population- h$ ]& T" D- X( U
N = 1e7 + 10 + 57 I! R% D& n0 Z3 |+ z1 k
# simuation Time / Day
. Y- o) s, k; H) Z$ P, ~T = 170' Q7 b0 Z/ Q6 K8 h
# susceptiable ratio: w, o/ i! O. {9 O" }! p
s = np.zeros([T])
2 w& Y7 _/ Z5 f6 G4 H# infective ratio" Y5 Q! W5 U$ L, i
i = np.zeros([T])) G; @ F5 V( J) N
# remove ratio
+ M( c% |' b4 D- E# l1 Fr = np.zeros([T])1 S7 D8 W- ]) T% ~9 m2 o- H
( M3 n# ?8 p+ g& ~# contact rate
& ^3 w4 g( K) G- X( p6 {; zlamda = 0.25869 L2 K$ q2 A; w) f. N/ d, D# o
# recover rate
: z4 a: h4 d7 u/ N. ~. Vgamma = 0.0821
6 M2 W% g$ b# K# q
2 s$ v% E0 f2 x" U& j# initial infective people% i# }1 Z( D. g
i[0] = 10.0 / N
( f B [" t! P; ?5 i/ d/ Vs[0] = 1e7 / N
" s2 @, n) Z: _; x" f, N3 Wfor t in range(T-1):
0 r& {8 l$ T2 J2 o' @9 ?9 ~8 ~ i[t + 1] = i[t] + i[t] * lamda * s[t] - gamma*i[t] ~5 ]4 e( b$ V
s[t + 1] = s[t] - lamda * s[t] * i[t]
1 Q9 B/ F, W7 A* X- i r[t + 1] = r[t] + gamma*i[t]. A+ t% n2 z# @$ D+ ^
A0 f6 u) g. A6 o a8 l
fig, ax = plt.subplots(figsize=(10,6))( S$ K" [% d2 D0 N5 m! F d9 o' p; S
ax.plot(s, c='b', lw=2, label='S')) T9 R5 [7 }: ?2 w1 o7 g) |; [2 \8 h
ax.plot(i, c='r', lw=2, label='I')# B* @1 k& ]$ E9 M0 x e
ax.plot(r, c='g', lw=2, label='R')6 l( z2 f& W1 f& w5 j
ax.set_xlabel('Day',fontsize=20)/ m2 N% ~% F( ^
ax.set_ylabel('Infective Ratio', fontsize=20)
/ n' y& H. k2 dax.grid(1)
& H7 f: |; I+ [0 ~, Zplt.xticks(fontsize=20)
w% Z q- B. }: v) e5 bplt.yticks(fontsize=20)# r9 r6 S6 m2 z: ~+ u0 V
plt.legend();
9 b, F2 M: c2 Y2 F6 D7 m; h# Q2 X8 {$ E; ~2 z; {" G
5 E! B, R, K' K9 y4 K
$ @4 f7 _' y! ~* v( v$ [5 N
/ t; @& y1 p( T4 J感染人数峰值发生在一个月左右,最大感染人数不到人群的20%, 但是最终人群的80%都会得此病(就是最终的移出者的比例)。SIR模型适合研究没有潜伏期的急性传染病,治疗后能够痊愈并具有抗病性。 到这里,虽然不准确,我们也可以先用SIR模型来分析一下此次疫情,武汉新型冠状病毒的传染病动力学! 模型有了,其实就是确定参数的问题。一开始就有人做了这个工作: Image Name于教授给的参数是参考了非典的, ,初始易感人数为一千万, 初始感染10人,初始移出者5人,那么我们的城市总人数 , 带入我们的模型得到结果:重现于教授的模型9 G9 e, ]' ^% ]- k
高峰和尾声日期的推测基本相符。
' U9 B4 E8 d' f# susceptiable ratio" e* z* F5 F* l/ r9 A8 q+ z
s = np.zeros([T])
+ e* Z' S* S( s* q1 v# N9 i' p. U0 e# infective ratio$ |' S. K+ N# {
i = np.zeros([T])
. J9 H- q, s1 x: u& E5 p- }5 J4 x3 s# removed ratio( s! Y. i! |" a+ M
r = np.zeros([T])* v& O! s" q% `- R. b
# s7 C ?4 l$ A2 y
# birth ratio
- X& u& m8 ^; n1 ~+ j1 b9 Q- \b = 20.0 / N C1 H, x9 ]1 q2 p. [/ A+ ?
# death ratio. {) t& j; {. S# e
d = 10.0 / N3 p2 }1 ~- m0 B# N8 d, X
0 x) p3 S' U6 A* i# v
# contact rate! x8 z2 A; D9 H2 C7 y
y = 1.5
$ g4 F! ^( @' Y$ j8 f( C$ P* L; s# recover rate
1 q! ?! B) S$ {: K+ I4 vu = 0.8 # 1 / infective_period1 F; x5 |$ R I
1 R: E# c" X- k, p
# sigma = y / u3 q* E& b: T# A$ q! f) A
' I* h' D* V1 i2 d8 Z' o
# initial infective people
' V! s" ]9 N8 B5 t( e" _) N0 zi[0] = 45.0 / N4 w8 k7 f" u8 Z! [& D5 A5 Y. g
s[0] = 1 - i[0]
_0 R/ y7 [$ l. D% Y6 L7 p& ofor t in range(T-1):7 @. h1 a" n4 t0 D3 H9 d" f; f
i[t+1] = i[t] + i[t] * y * s[t] - u*i[t] - d*i[t]+ N6 M( z$ r c% Q. O# g$ A
s[t+1] = s[t] - y * s[t] * i[t] + b - d*s[t], G# ?3 t- n( D
r[t+1] = r[t] + u*i[t] - d*r[t]3 I/ A$ z- d% d9 C6 X
k1 _9 n9 z' d7 ^- v; B; r" w/ n
plt.plot(i)4 b7 t8 f$ B' ~0 [/ S! B
plt.plot(s)
; H! O B# @9 e( `plt.plot(r)1 m9 D ?5 w: k+ X# n5 s
plt.plot(np.diff(i),ls='--')/ ]+ w* f: {: z$ h+ m% p
3 L' w- @& ^( n) L2 a# Y$ B! y& G# D& m
& t: G0 X1 u. M3 ^, _[<matplotlib.lines.Line2D at 0x7f77796e8518>]) ^0 h# u4 Z+ Z1 a9 o, p1 W
; M4 {& S0 L' h" Q4 T
![]()
1 f) s4 x3 e9 B! C* n/ d' P1 S( q$ f# v8 F+ k! E6 {7 q
SEIR模型但是,SIR模型和实际情况的出入会比较大,因为忽略了太多因素了,比如说潜伏期,比如说政策调控,药物,出生死亡等等。下面我们可以和前面一样,把潜伏期考虑进去,新增一个人群,叫潜伏者E(exposed): Image NameSEIR模型
/ @( [. h, P1 E: ^- O同样的我们需要计算各人群每天的增加量: S:每天减少: 0 l" }- w+ t# Y# V+ I6 |
E:每天增加传染,减少发病: + G% q6 Q6 w* X; n2 p+ |( @
I:每天增加发病,减少治愈:
* V0 `* n$ O3 E( ^& v8 \R:每天增加治愈:
# K1 i( k. A+ W; K# F建模完成,修改我们的python程序,这里的 可以理解为潜伏期的倒数。给的4天。新型冠状病毒给目前临床的潜伏期是3-14天。$ I2 L- R9 b& L0 J/ F& v
# population5 X. d( M( G# u+ ?# O. k8 [
N = 1e7 + 10 + 5) S% b. d( g J7 b+ I5 r- v$ ?
# simuation Time / Day- z& E: [8 h: n/ h; k/ s1 `
T = 170( \$ j2 q) y. N/ P+ a
# susceptiable ratio# r* f* Y+ V' k7 a# ^
s = np.zeros([T])
3 p- x1 W/ v7 A3 U# exposed ratio
, E* t! y/ f8 le = np.zeros([T])( Y& U6 V& o8 p% u' r5 B; P6 K
# infective ratio
# ^. g7 y7 u. b" ?i = np.zeros([T])- q9 ]/ y" s; J0 r
# remove ratio
& L3 ]+ K9 G4 s. s/ or = np.zeros([T]) c7 F, }' j3 `* }" ]; r
0 }$ Q& B2 {* d/ X3 ~1 F# contact rate
, R/ U* v, L1 }$ j. o2 q+ Jlamda = 0.5; y2 T9 {; m$ k: G
# recover rate L# w" M Y- A- q
gamma = 0.0821
/ z; F1 O! S3 N# exposed period0 r5 B; A! J) W+ |3 I/ o
sigma = 1 / 4
7 B3 I/ n: ~( a0 G" r! S; D" Z. E% ]* e! H
# initial infective people, D5 d% F- N+ p
i[0] = 10.0 / N
; L5 Z8 x r! a8 Us[0] = 1e7 / N$ F3 t( e& {0 e
e[0] = 40.0 / N8 t+ j2 e! y# k4 @9 v. [
for t in range(T-1):" I$ z, }; D- P+ w
s[t + 1] = s[t] - lamda * s[t] * i[t]2 n% E- f6 e; D$ T6 }5 v
e[t + 1] = e[t] + lamda * s[t] * i[t] - sigma * e[t]% v j2 X" k; R' Y7 W$ J$ a1 w
i[t + 1] = i[t] + sigma * e[t] - gamma * i[t]
' y% K4 v/ J7 S5 y0 N' q+ x% } r[t + 1] = r[t] + gamma * i[t]! J/ C K! |2 X; v: c/ ?
: i* `" U3 L$ ~# ~3 s9 t& ?. X0 N$ V
' v, G' C a' ?9 M. m$ j3 m2 Ufig, ax = plt.subplots(figsize=(10,6))
+ H0 s6 n# K& H3 H9 Qax.plot(s, c='b', lw=2, label='S')! r* n/ j/ A* Y6 i5 ^# h5 P
ax.plot(e, c='orange', lw=2, label='E')$ J" X4 O& }" b) H, l5 @* J) P
ax.plot(i, c='r', lw=2, label='I')
' E1 w, e* t) z( C$ n8 i, r: N$ B! i: Z, Pax.plot(r, c='g', lw=2, label='R')+ r4 K5 T# W6 g9 T. M7 B
ax.set_xlabel('Day',fontsize=20)
0 O4 D5 s, Q6 j2 \$ }1 uax.set_ylabel('Infective Ratio', fontsize=20)
9 }, l1 I) u, [ax.grid(1)
# R5 k1 a3 q5 Q* ]5 `plt.xticks(fontsize=20)* _" K8 e7 z& v2 r$ o
plt.yticks(fontsize=20)
% x9 O- N3 s% D* ]' e6 Rplt.legend();8 A$ v3 P% ~3 p' P0 M
, Z/ e' }6 ~+ k+ @
5 k8 q+ q/ y, M2 C( S2 K! Q# v % t2 P! T. d: D1 g/ h& C8 {/ G) i
! [0 c# Y7 [$ E" r; l3 \3 c
按照模型的结果,此次疫情可能真的要持续到 三四月份。这个接触率 真的非常影响表现,模型给的是个常数,但是由于政府措施的原因,这应该是个变化的值。0 E9 A5 F* b0 U: P+ M6 x, T
还有治愈率 也是。没有完美的模型,但是随着考虑因素的增多,就会越来越接近实际情况,从而指导政府的疫情方针政策的制定。6 M# b" O3 _$ R4 j7 j$ Q: r
) ?/ \9 v) `* P4 C% I* P& X: y, G8 Z- b# C
. ]2 n, J6 i# \; ^+ A6 a- W5 e- l" H O
|