|
什么是传染病动力学?numpy和matplotlib用python实现传染病模型SI模型SIS模型SIR模型SEIR模型 什么是传染病动力学?最近,在报道疫情的众多新闻中,相信大家也看到过一些来预测新型冠状病毒会导致感染肺炎的人数。你一定好奇,这个人数要怎么预测呢?预测人数又有什么用呢? 事实上,从学科方向来说,这类研究属于传染病动力学,就是用数学模型去描述传染病在人群中传播的规律,从而预测患病人数,进而指导政府制定措施和政策去控制传染病的传播。: l% t6 L8 n" f) ^% t
这类研究最早可追溯到18世纪Daniel Bernoulli对天花的研究,而我们今天所要介绍的SIR模型是1927年Kermack与McKendrick在为了研究伦敦黑死病而提出的,是传染病动力学中最基础的模型。 介绍了传染病模型的背景信息,不知道现在你对传染病模型更有兴趣,还是执着地对python更有兴趣呢?不论哪种,这篇文章会满足你所有的好奇心。 numpy和matplotlib首先,安装一下这节课我们需要使用的两个python包,numpy和matplotlib。
" }# v, S5 F5 Q0 e5 L# z. c! R; K& tnumpy-是python进行科学和矩阵运算最常用的包。 用numpy建立一维数组,存储和计算每天传染病人数的数据。 ( i" v, H5 }) k7 y6 r. f) g
import numpy as np import matplotlib.pyplot as plt 用matplotlib绘制传染病人数随天数变化的曲线,给出模型预测人数变化的直观认识。 好啦,下面开始用python实现传染病模型吧。 用python实现传染病模型为了让大家能够更好地理解,我们先不直接说SIR模型,我们从最简单的开始。 SI模型首先想象这样一个场景,一个城市有 个人,假设没有人出生和死亡,忽然有一天有 个人感染了病毒成为了患者,如果每天每个患者能够有效传染 个人,那么第二天患病人数是多少呢?最简单的答案是: ,也就是说每天都会新增 个患者。那这样以来,在无限远的将来会有无穷多的人被感染,显然这是不合理的,那错在哪里?仔细思考,你一定发现了,已经患病的人就不能再被传染了,所以我们有必要把人群分为两类,易感者(S-susceptiable)和感染者(I-infective)(你猜的没错,这就是SIR中S和I的含义,R的含义之后介绍再讲)。为了之后方便计算我们记易感者和感染者在人群中的比例为 ,那么 。我们重新考虑上面的问题,顺便来个示意图: Image Name这样的话,每天新增的患者数为 ,也就是总传染人数乘以易感者所占的人群比例。( X* u! g, ~3 ~! P
那么每天的感染者比例的增加量就是 。我们假设城市有一千万(N=10的7次方)人,每个患者每天接触感染每天0.8人(lamda=0.8),初始感染人数为45人(i0 = 45/N),我们来模拟70天(T=70)的情况。 # population' ]4 \$ A" a, y q% T; T; D
N = 1e7
& }& D; }( \$ G a; u# simuation Time / Day3 B w$ ^ }7 B
T = 70
$ z( s, l% S1 \) ^+ M0 w2 F/ h) C; ]# susceptiable ratio3 ?9 m1 X+ F) b( g* B& \
s = np.zeros([T])
* Z$ \) x p6 o/ H& z# infective ratio7 u: }5 w% a, t; y1 M" w" k
i = np.zeros([T])6 a j: Y' G N! O1 ~1 I4 z6 r" |
# contact rate
/ ?9 C$ r! k/ w- j# L+ Plamda = 0.8
- r- I3 L* A* n3 E7 t2 T, z9 H( {6 e: a/ b9 t* [
# initial infective people
0 P* g0 J# L+ b/ G* S- ji[0] = 45.0 / N6 w3 A3 c$ h* e- @1 _
6 g- Y, g% K& J R/ D" ^for t in range(T-1):
; u" L' v7 Q3 X7 e" R0 W Z i[t + 1] = i[t] + i[t] * lamda * (1.0 - i[t])( d# ~6 v9 R+ i+ j: a' m
2 ~ l/ { \! g% T' X, U
8 k% j' K" O0 @# s* f& f, z, X+ ]+ d, c
相信其他语句大家都明白,新知识是这两行:
* z d/ [1 }" d( d0 z# P7 j Y- {9 H0 s5 X8 U V: c! { S
* \; x# M; r" U0 B8 `( Xs = np.zeros([T])9 i2 D! r$ t/ Y2 p/ m
i = np.zeros([T])
( f9 g. h# o0 X$ Z* r
$ C+ c1 N9 ~2 s! ~* m这两句话的意思是一样的,就是利用numpy(已被我们重新命名为np)的函数(zeros())来建立一个所有元素都是零的数组,而给的参数决定了这个数组的维度。比如:$ P* X5 v5 w r l% f3 M
! n+ {2 F& H: L9 e0 w: C0 ba = np.zeros([2,3]) c) w* ]0 G3 K( I
a
! I9 E8 M# H9 y) q9 h
0 k/ q% v8 l4 A3 b$ _2 I. Barray([[0., 0., 0.],
/ V7 ?6 U7 Z) @# _$ s) M+ I" N& Z: g [0., 0., 0.]])
\* z3 ]$ u( O7 z9 `+ N2 z$ a8 D3 U5 n9 w% {* r
) U" Q/ o# ~9 D% ?5 J0 W& I/ k* c5 t jarray([0., 0., 0., 0., 0.])$ e+ }; I* Z2 ?% l: f
7 i: F( m3 Y6 r* f: I$ J
& D6 w0 n' e1 k9 T4 `: a类似的还有产生元素全部是1的数组的函数np.ones():
) E3 e6 n K/ N" t, G# T* S
- T' h( \2 y1 z+ Pa = np.ones([5])
" P' K+ M# Y7 ?& k8 P7 k' K+ p2 c+ na+ u" e% O2 h8 A$ C- X; |
1 D. Q6 q& s$ q; E3 B" u/ n. T2 ~! earray([1., 1., 1., 1., 1.])+ B9 ^+ d7 ?- H5 ^5 S) Z* h
3 V6 J% J3 X, z3 k
6 U1 k* U. I/ g) [5 l5 D4 ^4 J0 K Sa = np.ones([2,3])/ t, ~, Z' e" x8 G. v) f
a5 h4 O! I0 e: j7 w6 F$ o( j7 n7 a/ X1 c
+ f- i( K$ ?2 h
- g9 o( I$ R1 d" z3 [: e
array([[1., 1., 1.],
4 [8 }% T+ T. ^3 q [1., 1., 1.]])
- y2 [$ H, m: E& I& o5 M
: l3 h' L+ ?+ l1 E \3 f& n" e1 }
) t6 q, H/ {- Q% d; U9 R6 ^plt.plot(i)
8 Z7 [/ a/ C4 {; o7 y" J2 |4 y( U& G. C( m% v0 n Z
- q+ H" _) [/ H/ ^
[<matplotlib.lines.Line2D at 0x7f0c2768d6d8>]: Y1 C% d& S7 a; `1 R% q
5 s% e+ O+ W6 V& o' b: Y; }3 } r9 u& o! A7 r8 m) B
![]()
( e, s$ W, R% b- h* w; o: N3 _" {% V6 f- ]. @* n7 L# J
3 d8 R# N( X8 ?* O) ]
实现SI模型的核心代码是第三个cell的第11,12行:
6 P( B2 [8 `" f% x s' d1 x5 s4 W1 N- @8 a$ t( e
for t in range(T-1):% B* u+ d& L8 W4 l* `" p0 ]% c
i[t + 1] = i[t] + i[t] * lamda * (1.0 - i[t])
& D6 S2 p$ T1 h$ n
- x4 U- v$ H: _: X就是我们建立的数学模型,利用python的for循环语句累加迭代的方式把每天的增加量叠加到感染者比例上。 运行代码完成计算,我们利用matplotlib的pyplot来画出感染者的随天数的变化曲线: 1 L8 Y, M0 r9 O) `" r# U6 T/ J9 |
fig, ax = plt.subplots(figsize=(8,4))
' P' ^$ ^3 L. \ax.plot(i, c='r', lw=2)" V9 U; e* A. ^
ax.set_xlabel('Day',fontsize=20)
5 |$ |; X7 |' m0 [ax.set_ylabel('Infective Ratio', fontsize=20)
7 x* i; K, o' o6 R+ w7 K& Gax.grid(1)7 A8 C! V% _2 `' F* h) w6 E4 R
plt.xticks(fontsize=20)6 H6 Z9 U4 h. e- ^
plt.yticks(fontsize=20);1 c. {3 @8 y0 T$ M) T
: k& K7 E) E7 T! p5 h" `! g# S, \. `* }, H( f
![]()
1 j- N5 |9 n6 ?$ H
. `2 W, ~, d0 x/ f y1 v5 |从这个结果看到,大约在25天左右,全部人群都会变成感染者,感染率 。' R- N0 m" [" \- [. b
在程序中我们假设每天每个患者传染0.8个人,你可以改变lamda的值,观察全部人群感染的天数的变化。7 s$ E2 ~1 x" x1 {7 Y0 i
认真思考你会知道,lamda的现实意义就是该城市的卫生水平,衡量的是消毒,隔离这些措施执行得怎么样。回到传染病模型,按照SI模型计算的结果,我们全人类都会患病,这好可怕!原因是我们忽略了一个很重要的因素,那就是我们有奋斗在一线的医护人员,我们会被治愈!所以SI模型只适合研究具有高传染风险又不能被治愈的病(比如HIV)。 但是对于其他病,我们是可以靠医疗和自身免疫系统康复的,那么紧接着的一个问题就是,被治愈后还会再被传染上嘛?根据这个问题的回答不同,我们有了两个不同的模型,SIR 和 SIS。现在可以揭晓,SIR的R的含义了,就是移出者(Removed),现实含义就是指被治愈后不会再被感染的人。而SIS表示治愈后仍然还是易感者。下面我们用python来分别实现这两个模型。 SIS模型为了实现这个模型,我们需要引入新的一个参数,治愈率 。好啦,先上我们的新示意图: Image Name和SI模型做比较,区别就是计算感染者的增加数时要减去被治愈的人数。
' s- W" A" D H所以这时候每天的增加的感染者为: ,9 h" r2 r/ v$ A8 m
增加的感染率为: 。$ h2 c. I) V# F8 D9 P
模型完成啦,修改python代码:
& A2 l; b. [/ ~8 H/ S% I; j# susceptiable ratio2 l3 t/ H! ?) o: M/ L8 u/ J
s = np.zeros([T])
* x1 y, _/ O0 \. @* X8 F# infective ratio( F7 c7 z* V" M4 F$ k9 p0 ]* K8 }
i = np.zeros([T])# c) {4 x6 O* G4 L
: c% e. W' B6 A9 b# y+ F9 x, t# contact rate
& f q* s; Y" v1 Y1 z! slamda = 1.03 L8 c$ L! _8 Z* Y
# recover rate
( y- e4 k. T! ]gamma = 0.5 2 r. M m3 c5 |$ J5 U, `% T0 J1 p
( w" D5 T8 Y. l# initial infective people
& C' j* k$ B B" y0 O: R, Ui[0] = 45.0 / N9 W) d( a4 b/ u j2 ~, Z! Q
+ b& W' n/ ]1 b2 m' V" U
for t in range(T-1):5 E$ Y2 J% m* O* V9 G7 B
i[t + 1] = i[t] + i[t] * lamda * (1.0 - i[t]) - gamma*i[t]) ^7 w; k' h1 L" H W' {0 z
" B) L1 u' L( ~, z* n5 @
- L, c! I" \" B9 X/ U8 {
. D) ^7 y# z2 Q$ h4 `! ~5 j5 |1 h
运行代码,我们画出曲线(代码和SI模型的画图完全一样):
+ O/ p. Y1 x9 h& C, N! g
0 z$ c' ]3 s( q0 H. \1 [0 u3 A' wfig, ax = plt.subplots(figsize=(8,4))- K# O j3 N2 ?
ax.plot(i, c='r', lw=2)
4 H1 r9 N( Z6 Nax.set_xlabel('Day',fontsize=20)
# K, b9 F1 w7 H: D4 D4 j( `ax.set_ylabel('Infective Ratio', fontsize=20)
6 {( Y- g- r6 o1 x& _: t2 Fax.grid(1)
& @6 t# p2 z, \/ m" n8 Qplt.xticks(fontsize=20)
) S _4 b7 k6 x/ i% Zplt.yticks(fontsize=20);1 [/ c: @$ _0 q U
/ D! i4 d# ^* y7 o$ O0 V% [ " }& L. Z. e6 j: z" J8 ^
$ s3 h: Z( ~, p( [; j
9 v$ d5 l$ B7 S+ W行代码,我们画出曲线(代码和SI模型的画图完全一样)3 a4 F2 F T' V L8 W
可以看到,达到最大感染率的时间退后10天左右,最后感染和治愈达到动态平衡,人群中有始终有一半的人感染着。所以,SIS模型适合研究具有传染性和反复性的流行病,比如常见流感。同样的,感兴趣的话,改变lamda和gamma的值,观察曲线的变化。和lamda不同的是,gamma的现实意义就是对这种疾病的治疗水平。 SIR模型加入了移出者,被治愈的病人不会再被传染,先上我们的新示意图: Image NameSIR 模型
5 u. @3 A: o L* c2 U' j注意到这里,人群被分成了三类,不再只有I和S,所以相比于之前的模型,我们需要找到新的约束关系。现在我们需要分别计算三种人每天的增加量了:
, r6 {& x1 e% [6 c! k- 易感者:每天都在被传染,所以一直在减少,减少量为被传染的人数:
- 感染者:增加了被感染的人,减少了治愈的人:
- 移出者:增加了治愈的人: : X6 V+ [% L0 p& w: z8 r) N; L) R
建模完成,修改python代码,并且假设人群普遍易感,新型疾病,初始没有移出者。 . A$ r9 N" I4 d7 [& k! @
# population
2 n. e- _/ s7 s1 m* Q, _N = 1e7 + 10 + 5
) ^2 U0 y g9 z- p$ k# simuation Time / Day
9 j! j- @ |# F4 n: F3 Y( m- qT = 170
. n1 I: C7 K: s' I. w- y" {" Y# susceptiable ratio
: M& N& A! W, {& L! |. z; ds = np.zeros([T]), y6 C F4 J3 R1 d) P2 h
# infective ratio
8 E) t" V3 L' a# zi = np.zeros([T])! s2 n3 ?$ N3 u( L* b/ ]* j
# remove ratio2 l7 a3 B) ?# V
r = np.zeros([T])
0 s8 j) H5 C" t' g- D9 a' U e
* E: ~, v$ k% }. E) [# contact rate
. J1 r3 g! N) d4 G: Z5 Y( x5 wlamda = 0.2586
. H+ ~; p8 R+ g2 M. v" ^# recover rate
7 W+ G( B4 B! m* P$ a k9 \" Y, agamma = 0.0821. y9 A5 E+ f2 ]( m
& r3 i, Q" |( S: \# initial infective people
- G/ X4 ?8 w! N, l* B% ^i[0] = 10.0 / N
# C" n9 o. ~& E% C% C( bs[0] = 1e7 / N
- e. L! p/ @6 R- s& Ofor t in range(T-1):& I0 J0 `4 r* [+ E/ R
i[t + 1] = i[t] + i[t] * lamda * s[t] - gamma*i[t]+ Z. n, M4 U X: d* |
s[t + 1] = s[t] - lamda * s[t] * i[t]: n y% j: u# a3 E2 W
r[t + 1] = r[t] + gamma*i[t]7 P# R+ G1 f* t) v, k/ x
6 i$ u$ a# L- y! Y, S- y9 K" tfig, ax = plt.subplots(figsize=(10,6))+ W% r2 D% L, N
ax.plot(s, c='b', lw=2, label='S')
5 o2 f5 q& ]' Q$ F3 p8 k4 cax.plot(i, c='r', lw=2, label='I')
9 }/ g* m) D4 Sax.plot(r, c='g', lw=2, label='R')
( v6 s8 ^9 M6 J* p$ a9 Bax.set_xlabel('Day',fontsize=20)
* U% c+ o [8 V/ ^3 uax.set_ylabel('Infective Ratio', fontsize=20)
# {! K7 t3 D# f' P4 Yax.grid(1)
7 A, A; b; A/ V$ Rplt.xticks(fontsize=20)
3 `" O* c; q+ a0 eplt.yticks(fontsize=20)
& j1 O$ M- e' t$ F) x- Wplt.legend();
: @( p9 v& f. ~# E4 y& i
0 k u4 _% \! |
) `/ J& H! a$ H* `![]()
! i/ ~2 l' l6 r1 j& h3 N
& i; _0 }* ]# X) Y* K3 q感染人数峰值发生在一个月左右,最大感染人数不到人群的20%, 但是最终人群的80%都会得此病(就是最终的移出者的比例)。SIR模型适合研究没有潜伏期的急性传染病,治疗后能够痊愈并具有抗病性。 到这里,虽然不准确,我们也可以先用SIR模型来分析一下此次疫情,武汉新型冠状病毒的传染病动力学! 模型有了,其实就是确定参数的问题。一开始就有人做了这个工作: Image Name于教授给的参数是参考了非典的, ,初始易感人数为一千万, 初始感染10人,初始移出者5人,那么我们的城市总人数 , 带入我们的模型得到结果:重现于教授的模型; y. N8 H3 j+ Z7 K1 }+ ]6 m0 F
高峰和尾声日期的推测基本相符。
* y4 B3 v* G3 B7 D# D5 e# susceptiable ratio
1 \8 V- b! h. Y. o0 cs = np.zeros([T])# Z6 z0 R0 d. {: B6 D, `# q3 y2 Q
# infective ratio
/ N* R- x- d* D$ U* pi = np.zeros([T])5 k9 a7 _: u/ k! n' ? ~2 z1 p
# removed ratio
0 L" E& V8 \3 Q N- Z2 gr = np.zeros([T])) @, e; @& ]! J& x; T2 y: w9 j
# P3 P3 O, E9 |3 C6 {- e7 j. B# birth ratio' G8 z- R' [! N
b = 20.0 / N
. ~7 \! N/ {+ P( P$ l8 r: \ d y3 k" b# death ratio8 v! ]5 h1 Q2 H# u8 c
d = 10.0 / N! s8 ?0 C. _; ~1 z: ?4 a2 b
; M5 E5 p; e5 T: `' O; W" K" |! h
# contact rate
' r( o: ?& j) v* m' Z& _. f$ ^y = 1.5# i/ c/ p3 r$ `! L# U5 R, w
# recover rate) i3 b* s( k% ^
u = 0.8 # 1 / infective_period
3 u* q7 h k" n9 P2 S* J
/ g/ A2 j5 N4 {, ?7 F/ w# sigma = y / u- v2 h4 _) v4 y- D4 O, d
* I" H; x, M, D; x( _+ I, @# initial infective people: Q! v, V" Q5 E+ R8 l3 H) Y6 a
i[0] = 45.0 / N. |, p0 s: j; B. y
s[0] = 1 - i[0]/ F+ d6 `/ [- y( z) U. [( |
for t in range(T-1):+ c# N* {5 H T4 Y1 t! V( Q) M+ t: o
i[t+1] = i[t] + i[t] * y * s[t] - u*i[t] - d*i[t]
% e" O9 m; S* R s[t+1] = s[t] - y * s[t] * i[t] + b - d*s[t]
2 a) o# b1 u6 \ H2 k( C% j r[t+1] = r[t] + u*i[t] - d*r[t]) s, a( \$ u5 \& [
- b# U' k2 E5 K$ P5 tplt.plot(i)* }4 D P, a/ p8 v; y8 y
plt.plot(s)
7 b: Y! K$ [3 z# ]) M* _1 ?plt.plot(r)
# O5 I; c* d4 A5 m, cplt.plot(np.diff(i),ls='--')
+ H$ o9 D: W; u5 [& G5 V: s# G1 |* t+ P: j
9 X6 R) m% q( u) F7 ]5 Y! ^
[<matplotlib.lines.Line2D at 0x7f77796e8518>]. m, E- C5 q! Q
* h- j4 S5 W- @/ f+ S' M$ s
![]()
! \& d/ Y, q: a+ ], y
7 p5 M0 ]" U3 S" B$ o ?SEIR模型但是,SIR模型和实际情况的出入会比较大,因为忽略了太多因素了,比如说潜伏期,比如说政策调控,药物,出生死亡等等。下面我们可以和前面一样,把潜伏期考虑进去,新增一个人群,叫潜伏者E(exposed): Image NameSEIR模型
6 l8 x; x! t. M* I同样的我们需要计算各人群每天的增加量: S:每天减少: 2 W. ~7 B1 s: p; h
E:每天增加传染,减少发病:
( m$ e# l) Z# C* j! ~2 ~1 TI:每天增加发病,减少治愈: k8 W2 Q% N/ z) N* l. M% d0 i
R:每天增加治愈:
0 d) H6 E7 g5 v$ w" }! C3 z建模完成,修改我们的python程序,这里的 可以理解为潜伏期的倒数。给的4天。新型冠状病毒给目前临床的潜伏期是3-14天。
% ~. @; J/ N/ w: B# population! a/ y' c1 k+ n G
N = 1e7 + 10 + 5
2 S: N+ u7 }$ r. {4 @4 _; T# simuation Time / Day
- U) C7 Z, b# ?% XT = 170
9 ?. \8 Q5 \4 C) L8 A% {% A# susceptiable ratio5 `/ y4 ?( D% C7 z3 n" L; j
s = np.zeros([T])5 p3 e# b6 S' j7 G8 K4 I% |9 @. r
# exposed ratio% {- n, z/ e. b7 o( ~5 T: `# e
e = np.zeros([T]), t4 ?" g/ v/ |
# infective ratio; n( H r1 X8 |& u0 w: z% }0 e5 D7 W
i = np.zeros([T])/ C" a( [0 [) K2 U1 W
# remove ratio
; ?& p3 a: b5 {5 P4 pr = np.zeros([T])$ z$ N; f0 b, F/ f- y: n5 L
5 k& v) e# ?3 I" k7 p# contact rate
: a) _- ^ g. z4 J$ [/ alamda = 0.5
& E6 O" V% V% W; l- B) b: W# recover rate
+ b; @7 I1 C* N7 r2 E0 ugamma = 0.0821
4 h. E/ v. g) |, j, K6 \4 Q, S- y# exposed period% F* {0 l/ h% j) g+ v7 y
sigma = 1 / 4, V: z8 e' u# O6 @* [2 S% \
$ X! P/ b" S- |( p: u6 y$ k# initial infective people9 }8 X. Q- @# ^$ M6 ]
i[0] = 10.0 / N
0 j, B* {( P- @1 a9 F4 rs[0] = 1e7 / N
k% M2 C$ k; \2 b& @6 c+ we[0] = 40.0 / N% O( |4 z6 Q8 K" q/ F; W
for t in range(T-1):
% Z) W, o# a1 {1 T7 M: r s[t + 1] = s[t] - lamda * s[t] * i[t]" H6 V8 h) q+ K& T
e[t + 1] = e[t] + lamda * s[t] * i[t] - sigma * e[t]3 ?9 N3 ]. d3 f6 J( z g7 P
i[t + 1] = i[t] + sigma * e[t] - gamma * i[t]
( g& d8 p$ a n2 N; h r[t + 1] = r[t] + gamma * i[t] B/ r. w1 ^& }% J7 X
: K" Z6 x% d+ N( l9 F
% P' s$ O+ ]$ t5 d3 P5 q
fig, ax = plt.subplots(figsize=(10,6))3 { Y9 G) m: X: ^/ m' E9 L K7 c; Y
ax.plot(s, c='b', lw=2, label='S')
7 M2 C, K2 ]8 `ax.plot(e, c='orange', lw=2, label='E')
5 `2 t X3 N8 l7 ?ax.plot(i, c='r', lw=2, label='I')
- R) I! N& H& ^3 M' F) xax.plot(r, c='g', lw=2, label='R')
3 j! e5 M! B7 D; d A+ [5 I& p( \ax.set_xlabel('Day',fontsize=20)7 y) O' Q! c* |& ]
ax.set_ylabel('Infective Ratio', fontsize=20), t$ s \; ~8 {: ]3 T0 e0 N
ax.grid(1)
: n; Q4 \7 g) O- g& l6 i& j+ P: `5 eplt.xticks(fontsize=20)' y! m4 Y& j3 P
plt.yticks(fontsize=20)
$ p8 f! l1 F+ F [, ~plt.legend();8 W( m. F5 O9 t0 e5 T7 V4 F
- V, i! k* Y+ V$ i# I5 _2 N
% c/ v) A* {. M1 L$ }% |' A![]()
. A: W; i# Z& ^ f( F5 w% n) J2 v% u0 O- U% `
按照模型的结果,此次疫情可能真的要持续到 三四月份。这个接触率 真的非常影响表现,模型给的是个常数,但是由于政府措施的原因,这应该是个变化的值。
% [" d o; k7 q+ y: d! {还有治愈率 也是。没有完美的模型,但是随着考虑因素的增多,就会越来越接近实际情况,从而指导政府的疫情方针政策的制定。
% d( I" R. a1 Z5 t
% A: V) Z* g! l# {. a& r
' e) g N& M7 K8 m$ M
1 c( m9 P. X7 f
- A1 q" X. \+ g4 N! q5 f, _ |