数学建模社区-数学中国

标题: 用Python预测疫情发展 [打印本页]

作者: 浅夏110    时间: 2020-5-15 15:30
标题: 用Python预测疫情发展

什么是传染病动力学?numpy和matplotlib用python实现传染病模型SI模型SIS模型SIR模型SEIR模型

什么是传染病动力学?

最近,在报道疫情的众多新闻中,相信大家也看到过一些来预测新型冠状病毒会导致感染肺炎的人数。你一定好奇,这个人数要怎么预测呢?预测人数又有什么用呢?

事实上,从学科方向来说,这类研究属于传染病动力学,就是用数学模型去描述传染病在人群中传播的规律,从而预测患病人数,进而指导政府制定措施和政策去控制传染病的传播。
, _% c" F" B2 H! j这类研究最早可追溯到18世纪Daniel Bernoulli对天花的研究,而我们今天所要介绍的SIR模型是1927年Kermack与McKendrick在为了研究伦敦黑死病而提出的,是传染病动力学中最基础的模型。

介绍了传染病模型的背景信息,不知道现在你对传染病模型更有兴趣,还是执着地对python更有兴趣呢?不论哪种,这篇文章会满足你所有的好奇心。

numpy和matplotlib

首先,安装一下这节课我们需要使用的两个python包,numpy和matplotlib。! b0 s$ o1 W- {
numpy-是python进行科学和矩阵运算最常用的包。

用numpy建立一维数组,存储和计算每天传染病人数的数据。

$ c! q% s( u( {9 v  j6 J

import numpy as np

import matplotlib.pyplot as plt

用matplotlib绘制传染病人数随天数变化的曲线,给出模型预测人数变化的直观认识。

好啦,下面开始用python实现传染病模型吧。

用python实现传染病模型

为了让大家能够更好地理解,我们先不直接说SIR模型,我们从最简单的开始。

SI模型首先想象这样一个场景,一个城市有  个人,假设没有人出生和死亡,忽然有一天有  个人感染了病毒成为了患者,如果每天每个患者能够有效传染   个人,那么第二天患病人数是多少呢?最简单的答案是:   ,也就是说每天都会新增   个患者。那这样以来,在无限远的将来会有无穷多的人被感染,显然这是不合理的,那错在哪里?仔细思考,你一定发现了,已经患病的人就不能再被传染了,所以我们有必要把人群分为两类,易感者(S-susceptiable)和感染者(I-infective)(你猜的没错,这就是SIR中S和I的含义,R的含义之后介绍再讲)。为了之后方便计算我们记易感者和感染者在人群中的比例为   ,那么    。

我们重新考虑上面的问题,顺便来个示意图:

Image Name这样的话,每天新增的患者数为    ,也就是总传染人数乘以易感者所占的人群比例。; t4 e7 }! q: t0 \8 m/ ~' Y% ?
那么每天的感染者比例的增加量就是   。

我们假设城市有一千万(N=10的7次方)人,每个患者每天接触感染每天0.8人(lamda=0.8),初始感染人数为45人(i0 = 45/N),我们来模拟70天(T=70)的情况。

# population- I. s( ^. ^! f" H6 `  k! k$ F
N = 1e7$ M' Z& W3 C7 U7 W2 K
# simuation Time / Day
& Z( `" T9 P4 D- t4 P) cT = 70( M' y' z4 J/ }8 r4 r: r0 f
# susceptiable ratio% G, B) Z. V( S6 k) @3 A
s = np.zeros([T])' ?; l. d1 V) u5 Y8 h8 a
# infective ratio
% l8 \1 o. h: K" Y% Qi = np.zeros([T])
. `. U. N2 I7 x7 B7 ?6 ?( P' f# contact rate7 @4 ]# e- L$ j9 u8 S* m" [3 [
lamda = 0.8
3 |3 H, S" X1 k, @1 k: P: d* o+ M$ J8 |3 q4 G/ j9 ]2 H: K
# initial infective people) W8 o/ E; V. [9 x9 }
i[0] = 45.0 / N
' d$ V$ j3 s0 H, Y, u
9 v% N4 g0 N9 ^  D1 Afor t in range(T-1):! L$ n* p1 _  U2 E
    i[t + 1] = i[t] + i[t] * lamda * (1.0 - i[t]), h8 T' v6 e2 @# e

) s8 `0 J4 |4 d# x" s  \5 J1 A+ `0 F
8 O4 J9 b* ]6 w
相信其他语句大家都明白,新知识是这两行:! f4 q$ @' I/ b

3 }! L1 V3 {2 i, y! ~
& p: a% J" K) |; x$ Z! As = np.zeros([T])
, ^. @( W$ R" t9 y- @9 Ti = np.zeros([T])% u5 v8 O& I" [6 W1 a% ^- j$ V
. r" G4 g/ z2 e7 k
这两句话的意思是一样的,就是利用numpy(已被我们重新命名为np)的函数(zeros())来建立一个所有元素都是零的数组,而给的参数决定了这个数组的维度。比如:
4 |. n! N1 V2 c& u; G- Q, v+ g+ D
: {0 L  @& C1 z% A- Ua = np.zeros([2,3]), I( K: @3 F5 L6 {/ u0 m% t, n, p
a) X% Q+ n* U$ I& s. z

8 F: Q/ ~0 V! y1 k: c0 uarray([[0., 0., 0.],
' k6 }( Z# f3 g: B       [0., 0., 0.]])7 e6 {$ s: k% a, Q  [
/ N& i* l3 C* J0 ~0 `- M

9 H/ i4 j0 a, x; x: \  D1 marray([0., 0., 0., 0., 0.])
3 Q0 p0 _: j' \$ k% z4 L+ e4 [2 u) |0 V

  Z& e, C# Z, l8 j# p类似的还有产生元素全部是1的数组的函数np.ones():
9 d1 P$ D( F1 i& y/ F3 I
) }' e6 W8 d! h  }* Sa = np.ones([5])4 F  }! R) k! A) y1 {* `* d/ J
a5 m! N7 ^2 K7 d

9 Q% M+ _7 |. ], ?% Y! j# Tarray([1., 1., 1., 1., 1.])+ i9 l* y4 j# X, |

  \5 O* z" W: o& s' B5 a  @1 _5 _& M: p7 F7 x
a = np.ones([2,3])2 l& h& I) M" v( u; n0 v3 Q
a/ t$ F; R/ Z4 K8 Y' n
/ @; b5 O9 y% W2 o. ~$ \0 R

/ I' u" T9 m1 |array([[1., 1., 1.],
/ |+ j. y- D" o9 Q0 u$ O) D  Y       [1., 1., 1.]])& v" ?* D! c7 W+ q; N3 q1 F+ K5 R
5 }! Q4 [( M0 n, @6 A
4 r, i' n+ }8 C- h) |) a/ X
plt.plot(i)& W: j/ ^+ @' G, ]6 \! P4 y
2 ^3 l4 t% ?4 @! O5 I+ s

- f7 R; _2 }# ?7 W[<matplotlib.lines.Line2D at 0x7f0c2768d6d8>]3 r/ u+ j0 j5 U0 ]2 N; \

1 X' O/ I( ?$ L
  i, y# P" n; v3 J
: v, j- Q( n  {# l' G" m
3 m$ q  r" ]! P; W; I2 j2 C0 m( i  u
实现SI模型的核心代码是第三个cell的第11,12行:
$ P/ |2 u2 K0 l! O: I9 [/ E* p& a/ N  R4 b- R9 t0 k* O
for t in range(T-1):' k- Q1 }- O0 Y# z% x
    i[t + 1] = i[t] + i[t] * lamda * (1.0 - i[t])
- X8 H& R1 p  O
' b  I* z! H% G* o( r" W" g

就是我们建立的数学模型,利用python的for循环语句累加迭代的方式把每天的增加量叠加到感染者比例上。

运行代码完成计算,我们利用matplotlib的pyplot来画出感染者的随天数的变化曲线:


( B, q9 ?1 n+ mfig, ax = plt.subplots(figsize=(8,4))
+ Q6 Z# C+ s( s* D$ Hax.plot(i, c='r', lw=2)
# X* C9 w( `4 {' d) K6 }. Kax.set_xlabel('Day',fontsize=20)! X3 U: ]9 o8 h1 R
ax.set_ylabel('Infective Ratio', fontsize=20)% P, a/ s4 D# ^3 f
ax.grid(1)8 a& M# y5 ^% _
plt.xticks(fontsize=20)
; j' X) P9 ^6 V+ dplt.yticks(fontsize=20);; V" G! U5 L6 Z6 g3 b! b; A% y

6 u5 ^9 Y2 _. y$ N2 ^/ s
. q* S* P1 K+ d: ?9 Q3 A) g: i" E: a) G" o
. n% Q% E! @( Q0 g7 y  B1 L
从这个结果看到,大约在25天左右,全部人群都会变成感染者,感染率  。% @8 H: z! Q; }, ~5 |$ @
在程序中我们假设每天每个患者传染0.8个人,你可以改变lamda的值,观察全部人群感染的天数的变化。# p+ F3 L& m+ a( T
认真思考你会知道,lamda的现实意义就是该城市的卫生水平,衡量的是消毒,隔离这些措施执行得怎么样。

回到传染病模型,按照SI模型计算的结果,我们全人类都会患病,这好可怕!原因是我们忽略了一个很重要的因素,那就是我们有奋斗在一线的医护人员,我们会被治愈!所以SI模型只适合研究具有高传染风险又不能被治愈的病(比如HIV)。

但是对于其他病,我们是可以靠医疗和自身免疫系统康复的,那么紧接着的一个问题就是,被治愈后还会再被传染上嘛?根据这个问题的回答不同,我们有了两个不同的模型,SIR 和 SIS。现在可以揭晓,SIR的R的含义了,就是移出者(Removed),现实含义就是指被治愈后不会再被感染的人。而SIS表示治愈后仍然还是易感者。下面我们用python来分别实现这两个模型。

SIS模型为了实现这个模型,我们需要引入新的一个参数,治愈率  。好啦,先上我们的新示意图:Image Name和SI模型做比较,区别就是计算感染者的增加数时要减去被治愈的人数。
# F% Q6 Z; L; P! q% y4 E6 N5 ~; S所以这时候每天的增加的感染者为:   ,
- W( p" b% p& E# j1 S9 V- H' p增加的感染率为:   。. Y( N4 w8 p6 M/ ]& {
模型完成啦,修改python代码:7 Z6 A2 v* o% m9 p: \
# susceptiable ratio. _9 N; V9 {# j: n
s = np.zeros([T])/ z, y* U# |/ B
# infective ratio- D; M0 Y2 K6 x) w
i = np.zeros([T])
  b1 I' g( i0 b0 T( e! c! ]
5 F/ ?8 D: p8 s# contact rate
# {5 a" x* t6 \$ b! E* Nlamda = 1.0
; b* h* u/ s0 u# recover rate4 U4 @: r/ U# q' V+ r6 _$ x& e
gamma = 0.5 : f& M  W& |, A: w8 s

4 P& ^) B, }0 n4 @! d1 l# ]4 n# initial infective people  V  Q! R/ H& v) D
i[0] = 45.0 / N
1 U* T: S% Z0 g9 ]% n# f- g/ x& L  Q% Z" O8 @3 J; n8 r+ R3 S1 i5 g
for t in range(T-1):0 e; }( V" f% ?
    i[t + 1] = i[t] + i[t] * lamda * (1.0 - i[t]) - gamma*i[t]
( I0 u4 ~& z  B3 ^: }0 V6 ?
1 P- ~: l. e0 H, c1 d5 w( q! Y/ W/ R/ @+ p) b
/ a9 z/ e- T0 ^6 Q% @4 O
运行代码,我们画出曲线(代码和SI模型的画图完全一样):
1 g8 \! x& c: J) Z! q1 k! U  K; K+ D$ k7 z$ _3 ]
fig, ax = plt.subplots(figsize=(8,4))
- e/ d; u. |" K: y( L$ \8 max.plot(i, c='r', lw=2)2 R/ R3 L& O6 ]" G
ax.set_xlabel('Day',fontsize=20), q6 D6 e- X6 V6 N0 S% C) U
ax.set_ylabel('Infective Ratio', fontsize=20)! F/ S1 ^7 R: d- ~2 g* k. h% c) f/ ^
ax.grid(1)6 W& L6 a, e- m; {# v
plt.xticks(fontsize=20)* p4 T7 E4 |& A: ?
plt.yticks(fontsize=20);
. ^' r6 a6 q1 Z' J! }: d7 H7 {# b7 R2 c' u2 R& p8 r7 u6 O) ~  H0 K

  s6 g0 \  n' R# R* Q' I
1 K* O9 p/ n8 E& q) z' |7 p  Q# o0 s: o

行代码,我们画出曲线(代码和SI模型的画图完全一样)
3 f; n  q' j) G+ T5 e! }$ Y5 |可以看到,达到最大感染率的时间退后10天左右,最后感染和治愈达到动态平衡,人群中有始终有一半的人感染着。所以,SIS模型适合研究具有传染性和反复性的流行病,比如常见流感。同样的,感兴趣的话,改变lamda和gamma的值,观察曲线的变化。和lamda不同的是,gamma的现实意义就是对这种疾病的治疗水平。

SIR模型

加入了移出者,被治愈的病人不会再被传染,先上我们的新示意图:

Image Name

SIR 模型
% E/ X' D6 E* A4 e注意到这里,人群被分成了三类,不再只有I和S,所以相比于之前的模型,我们需要找到新的约束关系。现在我们需要分别计算三种人每天的增加量了:


0 J8 z8 g: C1 k1 M

建模完成,修改python代码,并且假设人群普遍易感,新型疾病,初始没有移出者。


* h6 Y. c7 }3 L6 C# population
$ o. A4 L5 ~4 XN = 1e7 + 10 + 5
2 }; k" P/ n! x; D1 u' c* w8 [# simuation Time / Day
% H4 M4 R- |9 x1 ]* k/ e  j( \T = 1707 F. r# t. c2 i4 g+ }% ]7 [7 w
# susceptiable ratio. ]# ~  }- y; ^) n1 r+ D
s = np.zeros([T])8 v- L# K9 o" n% I. C( e8 \% V
# infective ratio! U) Y: o! I3 d& f
i = np.zeros([T])6 Y3 ?" B$ M4 K6 p+ X
# remove ratio
7 W- w. j/ [* Ur = np.zeros([T]): ], ^6 w/ P4 Y3 k. c, T7 h' E; c
- t6 N9 E! K, \, c. R4 h- Z- d+ y
# contact rate  S9 L- K. f- I/ z/ ^# ~( c! K
lamda = 0.2586; @6 Z$ e8 n/ O9 G! i# A( i7 ]) g6 ]
# recover rate# f4 A: g0 q9 Y, c% F
gamma = 0.0821# G5 [$ y* ?: g

. ~2 ^* X0 z( }3 B3 {2 S2 p# initial infective people
& d9 p5 Q& |) H* K, H' bi[0] = 10.0 / N
6 j; z& Y2 G# `# ps[0] = 1e7 / N; j9 B) f) {/ R7 `# E1 Q
for t in range(T-1):! ]$ M  _5 Y4 I
    i[t + 1] = i[t] + i[t] * lamda * s[t] - gamma*i[t]
7 J0 |3 j& F% Q. y$ d! _  s; z7 K/ a    s[t + 1] = s[t] - lamda * s[t] * i[t]
# W4 X- o; o0 m1 ]+ c6 D& }' A! @    r[t + 1] = r[t] + gamma*i[t]7 k6 c, @8 Z( b- Q& x3 l/ e4 u
( t# z3 }$ H8 J7 R
fig, ax = plt.subplots(figsize=(10,6))
1 @6 ?% N6 `% k% i* G; Nax.plot(s, c='b', lw=2, label='S')  M: X% l( w1 o1 D) l
ax.plot(i, c='r', lw=2, label='I')2 ^) [) R- Y# d; K7 c1 a
ax.plot(r, c='g', lw=2, label='R'), Q) d% ^3 |& g9 G
ax.set_xlabel('Day',fontsize=20)
3 c$ T  X- w* X. w% K0 z1 Uax.set_ylabel('Infective Ratio', fontsize=20)0 J0 R, B9 s$ Z" |( f, F+ ]1 j8 e
ax.grid(1)
8 o9 c$ i' B- s0 z& yplt.xticks(fontsize=20)
: a& B! H; a' J3 o& e* G" rplt.yticks(fontsize=20)
8 ]! d4 y- m1 F7 uplt.legend();
0 k  b- ^* z7 B6 H, ~: H* v9 y8 E4 B. Q
" y+ F, U* a. Y9 F8 v

1 O2 o3 t/ U' ^# }* `9 v! ^8 Y8 F
# M8 W4 _: K) ^  _# {; p4 g. {

感染人数峰值发生在一个月左右,最大感染人数不到人群的20%, 但是最终人群的80%都会得此病(就是最终的移出者的比例)。SIR模型适合研究没有潜伏期的急性传染病,治疗后能够痊愈并具有抗病性。

到这里,虽然不准确,我们也可以先用SIR模型来分析一下此次疫情,武汉新型冠状病毒的传染病动力学!

模型有了,其实就是确定参数的问题。一开始就有人做了这个工作:

Image Name于教授给的参数是参考了非典的,  ,初始易感人数为一千万, 初始感染10人,初始移出者5人,那么我们的城市总人数    , 带入我们的模型得到结果:

重现于教授的模型) S( q1 ?( t' T$ W3 g2 R
高峰和尾声日期的推测基本相符。

4 ]8 M) g6 i3 O6 ~" }! B& n
# susceptiable ratio" m5 U, {1 B) k) b9 }
s = np.zeros([T])
$ V/ V2 [$ _" x5 w8 B/ u/ v# infective ratio+ U% P. K1 |* ?, |" b
i = np.zeros([T])7 G# @! m( D: h# [
# removed ratio* S- f8 ^% {. H; D% n
r = np.zeros([T])
' Q. ^+ ^5 o3 W% |8 r+ z) P" z# K+ v8 F7 y: d
# birth ratio
5 o- L/ I2 @1 y  H: N' vb = 20.0 / N
% t/ B. y' l8 Y# N9 J# death ratio
6 K5 w, q5 k* G& e1 d( A; t- Jd = 10.0 / N
# ^, @$ p+ C) z! u. r9 u7 D: ]( l% ~5 [* I* P
# contact rate4 z* @9 F  D% b$ \% L/ I. V; ]
y = 1.5
$ h8 S  i; z& B- s: q# i) U9 g: L# recover rate
5 D7 X4 l2 z# Y9 A6 L9 f, O9 F: C( Ku = 0.8 # 1 / infective_period
/ h4 @( l7 f" ~( Q; W4 g  y+ _. x
; p; `' R" Z. p. m" k7 n( w# sigma = y / u
4 w- V: X5 T3 H. \( Q; R1 C8 y: L' ^
# initial infective people
3 W6 c' H3 A* {9 s: e" p' li[0] = 45.0 / N/ Q) F% H, J' q6 V* l& r+ n9 w3 @, m
s[0] = 1 - i[0]
+ B! k+ C* s4 |, n# _1 G" afor t in range(T-1):; Q9 M- c$ X# z) J2 M
    i[t+1] = i[t] + i[t] * y * s[t] - u*i[t] - d*i[t]
+ Q$ f3 d" n; a# h( Z* q    s[t+1] = s[t] - y * s[t] * i[t] + b - d*s[t]
2 q* h( Q$ [7 W8 v& l" J    r[t+1] = r[t] + u*i[t] - d*r[t]
2 e3 m5 f# Z  V8 C- c6 G. `
; M6 y* K1 L# P. s8 ~; I5 C7 Gplt.plot(i)+ X* F4 Z' j: k$ v0 G8 m
plt.plot(s)
( Q  I( U+ J  F0 Splt.plot(r)
0 ?1 Y: A3 S* e6 z! p4 cplt.plot(np.diff(i),ls='--')* Z- Y+ J& g6 B: ]& A8 [! c3 ~1 ~! W

* X7 ~" Z5 }: D$ V5 A8 o+ R- a
$ Z' q  c3 D' y$ R5 ^5 V% g[<matplotlib.lines.Line2D at 0x7f77796e8518>]
; Q9 g6 k3 t+ _$ J$ X  Z$ b# H4 X) H! K
' ^% O) b  t# ~
' p" v7 @: B+ R2 ~" L
SEIR模型

但是,SIR模型和实际情况的出入会比较大,因为忽略了太多因素了,比如说潜伏期,比如说政策调控,药物,出生死亡等等。下面我们可以和前面一样,把潜伏期考虑进去,新增一个人群,叫潜伏者E(exposed):

Image Name

SEIR模型
" X0 y. W9 _5 y) i" X同样的我们需要计算各人群每天的增加量:

S:每天减少:  ! H& ~! q1 N' I2 j
E:每天增加传染,减少发病:  
. `/ e- y2 U( CI:每天增加发病,减少治愈:  
5 S2 A6 c/ e! O1 NR:每天增加治愈:  
$ a" o# n' m& v; I, I建模完成,修改我们的python程序,这里的   可以理解为潜伏期的倒数。给的4天。新型冠状病毒给目前临床的潜伏期是3-14天。
4 b7 h2 U9 p) s$ t! {1 R# population3 p$ Z+ ^+ ^* f. ?( U  z% a, @% A
N = 1e7 + 10 + 5% ?0 f4 p" R' i
# simuation Time / Day* W( x; c; P8 k
T = 1701 z7 ], a5 j. u  ^6 v6 e- G1 T
# susceptiable ratio
" j& B0 k3 @2 O2 ?: W& ns = np.zeros([T])
8 j2 g( J3 T# B& \4 R% f, Z  U. \4 g# exposed ratio5 k4 Q" G6 Z, C- Q( n
e = np.zeros([T])
9 g$ v, m) t7 S$ }; _) ^7 ~7 e# infective ratio
& n) ^4 j- `* U- L, ?) S) w1 w, fi = np.zeros([T])
% l/ f) D0 {$ E$ m# remove ratio
( D# D; z! m) W! Xr = np.zeros([T])
& J. W# z5 s1 d
) H- l' s& w; a# contact rate! A- r' U8 W. T& L$ x
lamda = 0.5
$ E1 |, p) {- L" c# recover rate
& D! d, \; I, _, qgamma = 0.0821- @# ?0 t0 k0 p. A8 s
# exposed period2 O, C* |. \) m. v. I9 g$ y
sigma = 1 / 4" A2 \4 X. h6 @9 t1 r
! B6 d+ a- {: \
# initial infective people( a  L' y! ]! p- t6 d) t! |$ L
i[0] = 10.0 / N
& S2 J( ^% C4 E6 {: i$ w" U" B2 gs[0] = 1e7 / N+ _0 l. ]9 u. P& }8 k) a  [% b6 j' d
e[0] = 40.0 / N% }* g) ?& \4 n# F/ d
for t in range(T-1):
7 M$ `" o* r5 z' o5 H    s[t + 1] = s[t] - lamda * s[t] * i[t]
, w* U/ }/ }0 J6 D' `. P    e[t + 1] = e[t] + lamda * s[t] * i[t] - sigma * e[t], O. K. O1 I1 m
    i[t + 1] = i[t] + sigma * e[t] - gamma * i[t]
0 y" Q9 P9 j2 Q5 @1 c& J7 S$ C2 L# t    r[t + 1] = r[t] + gamma * i[t]3 V, u: v. H/ I% H

2 K0 ^7 \5 _5 }7 d, l+ a! G' o. K% e( l1 b0 e  w
fig, ax = plt.subplots(figsize=(10,6))! [6 m0 F& H# z* _. A7 X# u
ax.plot(s, c='b', lw=2, label='S')! \. b3 @& Z, H2 R/ O
ax.plot(e, c='orange', lw=2, label='E')& I; @4 p9 U& k
ax.plot(i, c='r', lw=2, label='I')& L; P, {- \  X0 y
ax.plot(r, c='g', lw=2, label='R')6 D7 K8 T1 X, E! b3 \
ax.set_xlabel('Day',fontsize=20)) `: l6 r- A, K# `. G6 Z
ax.set_ylabel('Infective Ratio', fontsize=20)/ s+ v) f' Y: s9 f" k
ax.grid(1)
6 K  ]7 u/ ?" C1 s& d" K% W  `9 M! \6 mplt.xticks(fontsize=20)
: ~( B0 i8 o1 c+ Z( nplt.yticks(fontsize=20). Q# r" y# A, ?
plt.legend();. e8 n" o: o" y- l
" v% W, Q: {- V3 q2 x
: [( M" @" t- _) \
0 u$ B% B! I: R# b

; \5 ~6 n0 @* E; f% v' _按照模型的结果,此次疫情可能真的要持续到 三四月份。这个接触率    真的非常影响表现,模型给的是个常数,但是由于政府措施的原因,这应该是个变化的值。
7 f, r8 {/ k* ~7 f, L还有治愈率   也是。没有完美的模型,但是随着考虑因素的增多,就会越来越接近实际情况,从而指导政府的疫情方针政策的制定。3 d* s: }3 n' r  A: C/ V

$ c3 {2 F$ e3 S# J) L0 r# U1 Z5 Z6 [; S1 y, i: L
6 {1 `9 `8 n4 k9 W9 U# t2 V
) h- r  c, G6 r/ v4 X* W





欢迎光临 数学建模社区-数学中国 (http://www.madio.net/) Powered by Discuz! X2.5