数学建模社区-数学中国
标题: 用Python预测疫情发展 [打印本页]
作者: 浅夏110 时间: 2020-5-15 15:30
标题: 用Python预测疫情发展
什么是传染病动力学?numpy和matplotlib用python实现传染病模型SI模型SIS模型SIR模型SEIR模型
什么是传染病动力学?最近,在报道疫情的众多新闻中,相信大家也看到过一些来预测新型冠状病毒会导致感染肺炎的人数。你一定好奇,这个人数要怎么预测呢?预测人数又有什么用呢?
事实上,从学科方向来说,这类研究属于传染病动力学,就是用数学模型去描述传染病在人群中传播的规律,从而预测患病人数,进而指导政府制定措施和政策去控制传染病的传播。- k" C8 Z9 G3 g0 ~
这类研究最早可追溯到18世纪Daniel Bernoulli对天花的研究,而我们今天所要介绍的SIR模型是1927年Kermack与McKendrick在为了研究伦敦黑死病而提出的,是传染病动力学中最基础的模型。
介绍了传染病模型的背景信息,不知道现在你对传染病模型更有兴趣,还是执着地对python更有兴趣呢?不论哪种,这篇文章会满足你所有的好奇心。
numpy和matplotlib首先,安装一下这节课我们需要使用的两个python包,numpy和matplotlib。
1 Z3 E% H2 F! e: bnumpy-是python进行科学和矩阵运算最常用的包。
用numpy建立一维数组,存储和计算每天传染病人数的数据。
4 Z9 N& N# u2 M7 `# w
import numpy as np
import matplotlib.pyplot as plt
用matplotlib绘制传染病人数随天数变化的曲线,给出模型预测人数变化的直观认识。
好啦,下面开始用python实现传染病模型吧。
用python实现传染病模型为了让大家能够更好地理解,我们先不直接说SIR模型,我们从最简单的开始。
SI模型首先想象这样一个场景,一个城市有 个人,假设没有人出生和死亡,忽然有一天有 个人感染了病毒成为了患者,如果每天每个患者能够有效传染 个人,那么第二天患病人数是多少呢?最简单的答案是: ,也就是说每天都会新增 个患者。那这样以来,在无限远的将来会有无穷多的人被感染,显然这是不合理的,那错在哪里?仔细思考,你一定发现了,已经患病的人就不能再被传染了,所以我们有必要把人群分为两类,易感者(S-susceptiable)和感染者(I-infective)(你猜的没错,这就是SIR中S和I的含义,R的含义之后介绍再讲)。为了之后方便计算我们记易感者和感染者在人群中的比例为 ,那么 。我们重新考虑上面的问题,顺便来个示意图:
Image Name这样的话,每天新增的患者数为 ,也就是总传染人数乘以易感者所占的人群比例。
5 Z4 H" l* s0 j0 }# Y那么每天的感染者比例的增加量就是 。我们假设城市有一千万(N=10的7次方)人,每个患者每天接触感染每天0.8人(lamda=0.8),初始感染人数为45人(i0 = 45/N),我们来模拟70天(T=70)的情况。
# population
7 L: d+ x' Y0 r9 pN = 1e7* c2 v+ C8 b% `
# simuation Time / Day
5 a, r8 ?6 y8 Q5 bT = 70
! Z" `( \5 n. U1 Q5 x9 L5 }# susceptiable ratio- A O! I/ H* e; [/ P
s = np.zeros([T])
8 B- r- N; _0 x. Z& H2 d# infective ratio1 W/ k5 \! B; O/ p: t5 K* p
i = np.zeros([T])
4 Q6 _" g5 w% a4 Z# contact rate% y" I9 _' J4 k, {" n
lamda = 0.8
2 q- Q" p: d" a/ B7 Y0 f% J1 \0 W w0 N( G/ X; T# F- r
# initial infective people
* {0 M/ a' X, o$ ?; I, wi[0] = 45.0 / N
0 e+ }' k# r; H% P( W: D( o8 `) z/ F: r0 n7 b; m* N
for t in range(T-1):
# u6 I7 ? k9 D1 W+ o i[t + 1] = i[t] + i[t] * lamda * (1.0 - i[t])
% `3 `: v8 c, J6 @/ y- k# u
5 o- P7 v3 N% P. j# W" u/ R' i
# w J- }! G5 N) L$ Q
, a% C1 u8 U( K4 H7 ]6 G% C相信其他语句大家都明白,新知识是这两行:8 a0 a, s0 K5 r* P0 U" _) D6 l- @
' B8 B- Q' m, u0 Y, |9 H9 a
8 z8 m: { G8 A: u$ A" e5 C% B) Ys = np.zeros([T])
& A, o1 U( Y' B+ Hi = np.zeros([T])+ j, Y9 {- {2 A1 i8 F u# ]* P
; m* f! E# c5 }! I9 F8 w这两句话的意思是一样的,就是利用numpy(已被我们重新命名为np)的函数(zeros())来建立一个所有元素都是零的数组,而给的参数决定了这个数组的维度。比如:
8 p6 z; R4 G! X) m; |1 j. s. m" Y; J) E
% U( v8 k8 Y$ o4 `# ha = np.zeros([2,3])
. k2 r& ^( n5 c/ u* ?: @# na
/ M4 Q" C9 U! `# `) ^2 z
; [7 r# O% r: H0 O6 e( E! ~array([[0., 0., 0.],
# |1 h% V( H* Z _, u5 p9 U [0., 0., 0.]])
4 H! ]' [8 F0 M) }! |* g9 m; n% F. M1 w6 f
+ A- M( d' W* q; G* P1 n* darray([0., 0., 0., 0., 0.])) D N0 }) d3 _+ S' a& D
: t2 D) q/ y- I" j6 N
2 x$ v0 i, j: V% R9 j' p7 P# F$ Y; g类似的还有产生元素全部是1的数组的函数np.ones():
2 `2 ?0 h6 A% M! p5 @/ s7 i0 b8 a9 I# U3 f5 D# O0 q8 Z8 u
a = np.ones([5])
( @' u5 w5 q0 `7 ga* e7 k) z, p% s1 f) C
& g# Y7 v2 c& s4 Y
array([1., 1., 1., 1., 1.])
# I3 X) p. |! v: a/ R& H* f2 Q6 o0 a' x2 t( J4 `5 N4 g3 d
% T: E. `6 r d7 V% j9 P$ Na = np.ones([2,3]). P- J2 t* X0 W+ H4 g6 o/ s
a
0 A: B$ S. S9 E; }5 y. Y( D+ _* S
V# r9 {* {. V C$ T8 c1 r% A5 F( N7 I8 c9 G U2 L
array([[1., 1., 1.],
8 X9 x& s$ Y+ f- L: o [1., 1., 1.]])
5 J( q# \: e8 L5 @" I/ l$ \
+ W) D- x( s. H8 Z% @4 S! M* J
. e9 E2 N/ |; e) R* A& `. p/ U9 Z* Tplt.plot(i)
% D6 T/ ^) [4 E: ~ q1 A& [; a
6 _ z e% w1 ~) D8 C
( |+ p; q5 O1 b[<matplotlib.lines.Line2D at 0x7f0c2768d6d8>]$ i" J# Q- b" L, x4 }* N' O
" X0 q" p3 o! _! `$ @$ X8 ?: c* G0 n
# k2 t# P. C; S/ u
+ E- ]6 q: D- N/ M6 n8 K0 t
( q/ a. s, V* h# V) b实现SI模型的核心代码是第三个cell的第11,12行:
' p" Q5 w% v2 C' Q: o8 T' @8 W/ i1 F8 k$ \% R, A# A2 M: [: ~
for t in range(T-1):( b. Y! Y' K+ U# r. { S% n% l, W+ ~
i[t + 1] = i[t] + i[t] * lamda * (1.0 - i[t])5 {7 W0 d9 t+ T$ O C
" Y, G4 q5 W( ?0 T
就是我们建立的数学模型,利用python的for循环语句累加迭代的方式把每天的增加量叠加到感染者比例上。
运行代码完成计算,我们利用matplotlib的pyplot来画出感染者的随天数的变化曲线:
8 Q' O @4 ^' S; p+ G
fig, ax = plt.subplots(figsize=(8,4))
: T$ Y/ r O1 ^5 b" X( rax.plot(i, c='r', lw=2)1 X! K2 n; P x& C1 C; ?& u
ax.set_xlabel('Day',fontsize=20)
4 ]2 R9 `3 h- j) l% `ax.set_ylabel('Infective Ratio', fontsize=20)2 f4 T: B" h! _) r7 }8 h( G
ax.grid(1)4 z* l7 S! X8 L: |
plt.xticks(fontsize=20)
( a& d' B$ f' s6 ?: Cplt.yticks(fontsize=20);1 Z' j+ f+ d+ \$ U+ p
, |+ e- I8 G+ Z- J4 `$ P# x
( N1 U& {; i( n, Y: Z
$ h' X7 i. d- g c: U% C7 r
1 o7 V$ V9 g9 V* A& A6 d b, |% g从这个结果看到,大约在25天左右,全部人群都会变成感染者,感染率 。. c6 s( T& {$ C) }" h6 M
在程序中我们假设每天每个患者传染0.8个人,你可以改变lamda的值,观察全部人群感染的天数的变化。7 j! ?4 l% L' L! j3 p( ?
认真思考你会知道,lamda的现实意义就是该城市的卫生水平,衡量的是消毒,隔离这些措施执行得怎么样。回到传染病模型,按照SI模型计算的结果,我们全人类都会患病,这好可怕!原因是我们忽略了一个很重要的因素,那就是我们有奋斗在一线的医护人员,我们会被治愈!所以SI模型只适合研究具有高传染风险又不能被治愈的病(比如HIV)。
但是对于其他病,我们是可以靠医疗和自身免疫系统康复的,那么紧接着的一个问题就是,被治愈后还会再被传染上嘛?根据这个问题的回答不同,我们有了两个不同的模型,SIR 和 SIS。现在可以揭晓,SIR的R的含义了,就是移出者(Removed),现实含义就是指被治愈后不会再被感染的人。而SIS表示治愈后仍然还是易感者。下面我们用python来分别实现这两个模型。
SIS模型为了实现这个模型,我们需要引入新的一个参数,治愈率 。好啦,先上我们的新示意图:
Image Name和SI模型做比较,区别就是计算感染者的增加数时要减去被治愈的人数。
7 o" t$ M* \2 v+ C所以这时候每天的增加的感染者为: ,7 r7 K2 t. l7 A) D
增加的感染率为: 。
, @5 Y. f! E+ S4 T# C" |! i模型完成啦,修改python代码:
' E( r U' s: L# x# susceptiable ratio
# r2 q7 i# E3 U, z6 q, Ts = np.zeros([T])
6 k ~ t7 V. d# infective ratio
9 V7 t# u9 s& T% s! {0 Y6 \i = np.zeros([T])( o( s0 S1 Q! w4 s7 O
w& z' Y O# D# y# contact rate
) n7 r# i# o0 @0 ?6 Ylamda = 1.0
% C0 m: i* F) x9 U$ Q# recover rate6 `. h6 P" N$ m! t# a' J' z
gamma = 0.5
. Y- c, p% T @. s' ]1 y* [7 ^ [4 `6 p$ ^! o
# initial infective people
0 |2 K' o: `. C' a6 D y' pi[0] = 45.0 / N+ k Q0 e* a7 @7 S# f, b( D
9 I2 o" C4 Q9 c+ L; [3 \8 c
for t in range(T-1):
3 w, A" Y( L$ o, L* z i[t + 1] = i[t] + i[t] * lamda * (1.0 - i[t]) - gamma*i[t]9 b$ v- ]7 w6 O
# k' j! F* i/ X) k I1 N# @, v+ F/ B
3 l- y( F! e; Z& N7 ^, @& L! A! Y. m, i' l$ l5 O/ h# {( s
运行代码,我们画出曲线(代码和SI模型的画图完全一样):- _. T1 s, A9 y9 J
$ a3 I, U$ W# Z4 D6 h4 q5 u- h% y
fig, ax = plt.subplots(figsize=(8,4))
# q) E2 t7 w h2 V+ ~) xax.plot(i, c='r', lw=2) Z" a( L2 p! u
ax.set_xlabel('Day',fontsize=20)! C/ t: E$ g G6 D C
ax.set_ylabel('Infective Ratio', fontsize=20)$ J+ m! e( E/ I/ U R; Y, o' w
ax.grid(1)8 P- c: J9 ~* V
plt.xticks(fontsize=20)
$ z' g: |: g& o! K! z: aplt.yticks(fontsize=20);( g7 _6 A% M8 N' e
; X* m' d. c. k* a* P9 m! G% X

+ J; F# `$ q( a# X2 V; Z' E
- ]! e7 k/ V8 U4 ^2 }2 H4 h. ^, W- f$ }' h) B# j4 Y+ n
行代码,我们画出曲线(代码和SI模型的画图完全一样)
! u) ^9 h6 {3 Z7 m9 y) C( ?- x可以看到,达到最大感染率的时间退后10天左右,最后感染和治愈达到动态平衡,人群中有始终有一半的人感染着。所以,SIS模型适合研究具有传染性和反复性的流行病,比如常见流感。同样的,感兴趣的话,改变lamda和gamma的值,观察曲线的变化。和lamda不同的是,gamma的现实意义就是对这种疾病的治疗水平。
SIR模型加入了移出者,被治愈的病人不会再被传染,先上我们的新示意图:
Image NameSIR 模型7 A1 m9 _) T! C" S
注意到这里,人群被分成了三类,不再只有I和S,所以相比于之前的模型,我们需要找到新的约束关系。现在我们需要分别计算三种人每天的增加量了:
5 M' V3 D2 i6 `, q. x% y% w- 易感者:每天都在被传染,所以一直在减少,减少量为被传染的人数:
- 感染者:增加了被感染的人,减少了治愈的人:
- 移出者:增加了治愈的人: . u* Z) ?4 F6 o s
建模完成,修改python代码,并且假设人群普遍易感,新型疾病,初始没有移出者。
! b) V+ M3 n) g4 v2 n# population
/ f; z, l2 Z8 ^9 aN = 1e7 + 10 + 5
, |% n4 `5 K) M2 s6 H# simuation Time / Day
. Y$ R% o: x F3 a0 \T = 170# g; t' y+ L- H) W: C* h
# susceptiable ratio
+ b: n# q* S1 n! ks = np.zeros([T])3 e* ^2 y' i" e q; K
# infective ratio- w: H. E! f6 \' [4 B$ Y; ?: K
i = np.zeros([T])( u7 b% g: y B! w& ~$ b# t; Z
# remove ratio1 t6 X) _# ]) R1 d9 A
r = np.zeros([T]): x* h8 }: s4 ^5 h% D+ u3 N
# O- r9 I7 r2 e, V4 t3 D# contact rate
: h) ^9 y1 u. Llamda = 0.2586- m! [0 R% K; M' L _! ]
# recover rate
. c# e! T6 R) s! `( e7 k6 d ^$ D Pgamma = 0.08216 r% Y6 O; g# Z" H) u: d$ c) }' s* T
- N# I0 j6 J2 r0 @' H# initial infective people' W7 U4 o+ S8 L4 H4 n9 K8 W9 k
i[0] = 10.0 / N! p3 |" L+ K. c2 i( _
s[0] = 1e7 / N: d% l7 w' c3 I' j% w9 Z9 |
for t in range(T-1):
; q5 x; c: `" Q2 |* u i[t + 1] = i[t] + i[t] * lamda * s[t] - gamma*i[t]: f9 D5 X7 J3 m. h1 G
s[t + 1] = s[t] - lamda * s[t] * i[t]
% r, B w+ I0 R7 t- Z$ G9 P r[t + 1] = r[t] + gamma*i[t]$ ?# ^, A, E/ P A
( }/ G9 ~! ~+ T0 a' dfig, ax = plt.subplots(figsize=(10,6))
1 z- [/ x* ]8 x/ Lax.plot(s, c='b', lw=2, label='S')' G, ]: D% \, Q7 T. V5 x
ax.plot(i, c='r', lw=2, label='I')
' l0 e1 Y& W% }) yax.plot(r, c='g', lw=2, label='R')" A6 d3 l, t5 U. D: r6 W
ax.set_xlabel('Day',fontsize=20)
- y# [; l) M4 |0 j4 u+ U# Tax.set_ylabel('Infective Ratio', fontsize=20)
# u( B* v3 b+ c. H3 j# Iax.grid(1)
/ @' o: \. w lplt.xticks(fontsize=20)" h# p! h; J1 H0 f
plt.yticks(fontsize=20)5 Z8 {! m" s- }5 _% t
plt.legend();5 d1 {! ?- D; t* N4 c: d+ E3 q* z! N
1 K" v# w6 @; k9 n
1 y0 r7 x2 \1 `7 ?
" n: I3 G8 `3 ^! D
7 P2 w. F1 h& {+ @% b感染人数峰值发生在一个月左右,最大感染人数不到人群的20%, 但是最终人群的80%都会得此病(就是最终的移出者的比例)。SIR模型适合研究没有潜伏期的急性传染病,治疗后能够痊愈并具有抗病性。
到这里,虽然不准确,我们也可以先用SIR模型来分析一下此次疫情,武汉新型冠状病毒的传染病动力学!
模型有了,其实就是确定参数的问题。一开始就有人做了这个工作:
Image Name于教授给的参数是参考了非典的, ,初始易感人数为一千万, 初始感染10人,初始移出者5人,那么我们的城市总人数 , 带入我们的模型得到结果:重现于教授的模型
# K9 D. \! C- _! Z3 A2 r6 W7 G高峰和尾声日期的推测基本相符。
0 h3 Z) h* \0 p$ Q
# susceptiable ratio% h# N3 s& v3 F( {1 U
s = np.zeros([T])
1 v9 r) }0 C/ n! Y# infective ratio
4 j+ [$ W8 r2 k& ?7 \; mi = np.zeros([T])
5 g. M9 @& r) ~9 g7 V: q/ n- c# removed ratio( n! L9 c$ @. v6 Q# `- y
r = np.zeros([T])
+ U% o2 a* x$ N5 i# g, w$ T/ a9 N" B" F9 ?$ B% T
# birth ratio5 D8 r9 {& C1 Y( E% x- W! w
b = 20.0 / N2 F% h: l9 J* a3 A
# death ratio
% z- V4 ?, r* N8 Jd = 10.0 / N8 @8 u* `+ L" L) S
' c$ P8 p4 c2 v
# contact rate# z/ K3 C1 o8 U4 |1 A3 P
y = 1.5% g7 N9 V8 Y- M7 T0 i7 g& R
# recover rate7 ~" I' T1 Z/ V5 J, Q
u = 0.8 # 1 / infective_period3 B+ E R6 I' ]& r6 Z7 h
5 K, D$ S G# E+ Q5 T
# sigma = y / u! R* T; U5 w. I- K
" E& T4 m* n, c! l; A, Q3 r# initial infective people3 U3 _2 z" l# C& P& B7 J
i[0] = 45.0 / N7 [ m$ R. @% N8 h% K+ |$ U/ J
s[0] = 1 - i[0]: @8 v7 D; ^% W T
for t in range(T-1):% K# E, S$ ~/ \
i[t+1] = i[t] + i[t] * y * s[t] - u*i[t] - d*i[t]
9 c1 H7 T- R1 l9 \. o; t* u s[t+1] = s[t] - y * s[t] * i[t] + b - d*s[t]1 e. u9 m }( i4 |- R' G3 J8 l- k
r[t+1] = r[t] + u*i[t] - d*r[t]( z+ F, ^# V, u" n% R ?2 H
# R' j1 @+ u+ L8 q* E/ j
plt.plot(i): _$ E$ Q5 z; s/ |
plt.plot(s)4 Q" u0 L4 J( q, g$ R* O
plt.plot(r)
! V( f& c' k" [1 V! x% d9 Mplt.plot(np.diff(i),ls='--')
- }/ x+ [* p4 ~3 z/ t( f" n: K4 o" ]# i5 }7 O
, X& t1 b1 ]1 q/ Z[<matplotlib.lines.Line2D at 0x7f77796e8518>]! r9 d7 R9 j& W; B7 T+ `, \! U- l
/ V/ `0 K- R# G' p2 K) e2 a0 @2 Y
$ c$ L+ H; ?0 E6 Z% K
+ C0 L6 W6 H& I+ dSEIR模型但是,SIR模型和实际情况的出入会比较大,因为忽略了太多因素了,比如说潜伏期,比如说政策调控,药物,出生死亡等等。下面我们可以和前面一样,把潜伏期考虑进去,新增一个人群,叫潜伏者E(exposed):
Image NameSEIR模型
7 Z* }# |- J8 E" \. E% Q ~/ O同样的我们需要计算各人群每天的增加量:
S:每天减少:
8 ~1 [( E3 ]6 g) {, }9 ?E:每天增加传染,减少发病: % q9 E, E/ I* z8 s( Z7 ?6 L
I:每天增加发病,减少治愈:
# X; X5 a! U. \. |! Z MR:每天增加治愈: 4 w3 \" C' A' J! ~0 s O( G
建模完成,修改我们的python程序,这里的 可以理解为潜伏期的倒数。给的4天。新型冠状病毒给目前临床的潜伏期是3-14天。
5 m# [* `8 o- o+ y# population. t$ g* y6 O9 |
N = 1e7 + 10 + 5/ T2 Y# k& \ y- W3 w
# simuation Time / Day& P; q* P0 R' \9 [5 l5 ]% \: Q
T = 170
8 x) H. E) Y4 b" \0 A* r# susceptiable ratio5 ~: Z9 S: B5 o, G+ a
s = np.zeros([T])
$ [% S d6 ], Q# exposed ratio( @9 v3 k- r6 k% N" `& i
e = np.zeros([T])
% V, B8 J ]9 |* u1 n& N/ q# infective ratio
4 w( o& Z; q% e) _! ^' _) Qi = np.zeros([T])
* r* E! r: k* Z3 `' P# remove ratio! k: b X8 i; S1 C3 C
r = np.zeros([T])
' w. D$ O. W. T }. k) o5 d) i9 g6 @
# contact rate# B& d/ k% Q/ S I: w& a# c! j/ H9 h) H
lamda = 0.5. P, e- V' d9 y/ g/ E' b
# recover rate
& u# l) _% H3 Ugamma = 0.0821, S- Q2 w% a" _
# exposed period% |5 Z) A& h5 d, P! X V9 z
sigma = 1 / 4
, U; o+ @+ {6 Q! m2 v+ h0 k; a) Q: v% h3 }' R* ~
# initial infective people8 C& a2 D, g, C3 N# w" Q6 y
i[0] = 10.0 / N/ X) S. }1 e" y# e6 d/ ~
s[0] = 1e7 / N1 e9 E+ r) L4 e1 f4 _3 U' j, O
e[0] = 40.0 / N
7 ^* g* M1 w9 Yfor t in range(T-1):# j* k( S, o+ A: E' @1 J
s[t + 1] = s[t] - lamda * s[t] * i[t]
4 b: w1 I8 K/ E+ A( x e[t + 1] = e[t] + lamda * s[t] * i[t] - sigma * e[t]
. F8 I0 K" E4 U6 v7 g i[t + 1] = i[t] + sigma * e[t] - gamma * i[t]
9 m9 g( V" K- ?" `+ a r[t + 1] = r[t] + gamma * i[t]
! B: |& x6 u! F9 m
4 n9 a- r5 g5 h
0 @$ u$ v2 v! |1 k6 N6 Xfig, ax = plt.subplots(figsize=(10,6))
1 o3 C) v5 I# p% G' lax.plot(s, c='b', lw=2, label='S')7 C6 Q% t7 K/ B3 Y, m
ax.plot(e, c='orange', lw=2, label='E')
- U D) U7 k2 `/ @& Max.plot(i, c='r', lw=2, label='I')
, C% y2 I5 y7 D* F; p* i: vax.plot(r, c='g', lw=2, label='R')0 ?) M- X6 b$ b; A
ax.set_xlabel('Day',fontsize=20)% [ S6 x* P @
ax.set_ylabel('Infective Ratio', fontsize=20)
3 z" W" U6 x: G- a; Iax.grid(1)
9 m( p( O/ _$ x5 }plt.xticks(fontsize=20)
J" l7 A* C6 e% oplt.yticks(fontsize=20)
5 A$ H) A) V: Hplt.legend();
& F1 u( t0 r3 R$ P7 J1 w/ R
5 a* ^& X* V2 X4 ^6 Q/ Q- u# E, Y6 A7 ^
+ f6 E$ f9 `5 i; _! R4 ~
( M; V9 V1 y8 {! ?4 {) r按照模型的结果,此次疫情可能真的要持续到 三四月份。这个接触率 真的非常影响表现,模型给的是个常数,但是由于政府措施的原因,这应该是个变化的值。$ l% W% D0 t$ u" C, T) X
还有治愈率 也是。没有完美的模型,但是随着考虑因素的增多,就会越来越接近实际情况,从而指导政府的疫情方针政策的制定。$ a$ J6 \! t3 t3 u' ~/ j! [
" S3 B- q" U4 }0 W
( q J# T4 }7 P5 X& O( h
. {( \' w L! l: o7 j
! I7 G% y' L C0 _7 Q1 G0 i5 n
| 欢迎光临 数学建模社区-数学中国 (http://www.madio.net/) |
Powered by Discuz! X2.5 |