打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
新建 DOC 文档

前面笔者尝试从网址中爬取数据,进行分析;在之前做的logistic模型能较好的预测患病人数拐点与峰值。

但是想要模拟出疫情的全过程,logistic是做不到的,于是引入SEIR传染病模型对其进行分析与预测。

SEIR建模思路

这是一个带潜伏期的传染病模型,和没有考虑潜伏期的SI、SIR的优势就显而易见了。
建模思路如下图:


对上述的微分方程求解,不难得到其的差分方程。(字丑勿怪)

参数的选取思路来之笔者的实时疫情数据。

实现

程序

实现工具为matlab

%SEIR模型

clear;clc;

%参数设置

N=1400000000;%人口数

I=1;%传染者

R=0;%康复者

D=0;%死亡患者数量

E=0;%潜伏者

S=N-I;%易感染者

r=1;%接触病患的人数

a=0.125;%潜伏者患病概率

B=0.6;%感染概率

y=0.143;%康复概率

k=0.025373

T=20:1000;

for idx =1:length(T)-1

    S(idx+1)=S(idx)-r*B*I(idx)*S(idx)/N;%易感人数迭代

    E(idx+1)=E(idx)+r*B*S(idx)*I(idx)/N-a*E(idx)%潜伏者人数迭代

    I(idx+1)=I(idx)+a*E(idx)-(y+k)*I(idx);%患病人数迭代

    R(idx+1)=R(idx)+y*I(idx);%康复人数迭代

    D(idx+1)=D(idx)+k*I(idx);%死亡患者人数迭代

end

plot(T,S,T,E,T,I,T,R,T,D);

grid on;

xlabel('日期');

ylabel('人数');

legend('易感者','潜伏者','传染者','康复者','死亡者');

title('SEIR模型');

plot(T,E,T,I,T,R,T,D);

grid on;

xlabel('日期');

ylabel('人数');

legend('潜伏者','传染者','康复者','死亡者');

title('疫情情况');

·        1

·        2

·        3

·        4

·        5

·        6

·        7

·        8

·        9

·        10

·        11

·        12

·        13

·        14

·        15

·        16

·        17

·        18

·        19

·        20

·        21

·        22

·        23

·        24

·        25

·        26

·        27

·        28

·        29

·        30

·        31

·        32

·        33

·        34

结果





实现结果:
结果虽然其将整个过程拟合出来,但是结果并不理想,染病人数的峰值达到了上百万,因此笔者将模型继续进行修正

第一次修正的SEIR模型

修正思路

结合现实,1、武汉疫情12月30日发现第一例疫情患者,1月23日开始封城,于是笔者在第25天时对应减少模型的病者的日接触人数,作为采取隔离措施的体现。
2、将潜伏者与患病者的转染易感者的概率与日接触人数分开为两个参数。


可以得到新的差分迭代式

第一次改进程序实现

实现程序参照上文修改,笔者不一一细述最后的实现结果:


根据图像不难看出,在第25天采取隔离措施后疫情得到很好的的控制,在采取措施的大约10天后疫情进入拐点,得到了控制。

第二次修正

思路


引入潜伏者者转阴率

实现

程序修改参照上文


将结果细化

可以看到在疫情发生后的第25天,采取隔离措施措施后,接触过患者的潜伏者明显下降,在之后的约半个月后疫情到达拐点,患病人数峰值约为6万,随后疫情得到控制。

小结

SEIR模型在趋势预测上是要优于logistic模型的,但是由于需要考虑的的参数较多,计算误差要大于logistic模型。
也希望最疫情的控制结果,会比笔者的数学模型还要发展的好!结束的更早。

·        点赞 26

·        收藏

·        分享

·         

关于2019nCoV新冠肺炎的建模(Ⅲ)—SEIR模型的修正与建立

原创Matthew.yy 最后发布于2020-02-09 11:47:03 阅读数 19787  收藏

展开

关于2019nCoV新冠肺炎的建模Ⅲ—SEIR模型的修正与建立

引言

SEIR建模思路

实现

程序

结果

第一次修正的SEIR模型

修正思路

第一次改进程序实现

第二次修正

思路

实现

小结

引言

前面笔者尝试从网址中爬取数据,进行分析;在之前做的logistic模型能较好的预测患病人数拐点与峰值。

但是想要模拟出疫情的全过程,logistic是做不到的,于是引入SEIR传染病模型对其进行分析与预测。

SEIR建模思路

这是一个带潜伏期的传染病模型,和没有考虑潜伏期的SI、SIR的优势就显而易见了。

建模思路如下图:

对上述的微分方程求解,不难得到其的差分方程。(字丑勿怪)

参数的选取思路来之笔者的实时疫情数据。

实现

程序

实现工具为matlab

%SEIR模型

clear;clc;

%参数设置

N=1400000000;%人口数

I=1;%传染者

R=0;%康复者

D=0;%死亡患者数量

E=0;%潜伏者

S=N-I;%易感染者

r=1;%接触病患的人数

a=0.125;%潜伏者患病概率

B=0.6;%感染概率

y=0.143;%康复概率

k=0.025373

T=20:1000;

for idx =1:length(T)-1

    S(idx+1)=S(idx)-r*B*I(idx)*S(idx)/N;%易感人数迭代

    E(idx+1)=E(idx)+r*B*S(idx)*I(idx)/N-a*E(idx)%潜伏者人数迭代

    I(idx+1)=I(idx)+a*E(idx)-(y+k)*I(idx);%患病人数迭代

    R(idx+1)=R(idx)+y*I(idx);%康复人数迭代 

    D(idx+1)=D(idx)+k*I(idx);%死亡患者人数迭代

end

plot(T,S,T,E,T,I,T,R,T,D);

grid on;

xlabel('日期');

ylabel('人数');

legend('易感者','潜伏者','传染者','康复者','死亡者');

title('SEIR模型');

plot(T,E,T,I,T,R,T,D);

grid on;

xlabel('日期');

ylabel('人数');

legend('潜伏者','传染者','康复者','死亡者');

title('疫情情况');

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

结果

实现结果:

结果虽然其将整个过程拟合出来,但是结果并不理想,染病人数的峰值达到了上百万,因此笔者将模型继续进行修正

第一次修正的SEIR模型

修正思路

结合现实,1、武汉疫情12月30日发现第一例疫情患者,1月23日开始封城,于是笔者在第25天时对应减少模型的病者的日接触人数,作为采取隔离措施的体现。

2、将潜伏者与患病者的转染易感者的概率与日接触人数分开为两个参数。

可以得到新的差分迭代式

第一次改进程序实现

实现程序参照上文修改,笔者不一一细述最后的实现结果:

根据图像不难看出,在第25天采取隔离措施后疫情得到很好的的控制,在采取措施的大约10天后疫情进入拐点,得到了控制。

第二次修正

思路

引入潜伏者者转阴率

实现

程序修改参照上文

将结果细化

可以看到在疫情发生后的第25天,采取隔离措施措施后,接触过患者的潜伏者明显下降,在之后的约半个月后疫情到达拐点,患病人数峰值约为6万,随后疫情得到控制。

小结

SEIR模型在趋势预测上是要优于logistic模型的,但是由于需要考虑的的参数较多,计算误差要大于logistic模型。

也希望最疫情的控制结果,会比笔者的数学模型还要发展的好!结束的更早。

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
数学模型是怎样描述传染病的?别担心,数学没学好也能看懂
法国最坏的情况,我们希望你知道
如何在vb程序中实现对access数据库的msysobjects表的读取操作?
logistic回归中logitP与自变量的线性考察
钟南山团队:建议“早期筛查”等防控措施实施至4月底
全球防疫曙光已现——欧美经济重启或早于预期
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服