2021年第二十三届华东杯数学建模B题建立新冠病毒群体免疫屏障解题全过程文档及程序

2021年第二十三届华东杯数学建模

B题 建立新冠病毒群体免疫屏障

原题再现:

  为了巩固经济增长基础、保障国内国际双循环,中国政府已决定在全国进行全人群的新冠病毒疫苗接种,以建立最大规模的国民群体新冠免疫屏障。
  1. 建立传染病毒群体免疫屏障的数学模型,说明疫苗接种率的控制对构筑免疫屏障的作用。在此基础上考虑疫苗的有效性问题和病毒的变异问题对免疫屏障的可能影响。讨论免疫屏障和物理隔离对于整个社会的代价及收益的异同。
  2. 以一个中国的大城市为例,考虑采取怎样的步骤、需要多大成本、多长时间可完成群体免疫屏障的建立。
  3. 美国是世界上新冠疫情最严重的国家,也是大规模、快速度接种新冠疫苗的国家之一,最近美国的疫情有了趋于好转的迹象,试分析接种疫苗对美国疫情改变的影响,预测美国疫情的走向。

整体求解过程概述(摘要)

  新冠疫苗问世后,易感人群大规模接种疫苗。本文通过建立合理的数学模型,对国民群体新冠免疫屏障进行分析,进而达到逐步降低新冠病毒感染率、控制新冠病毒周期性流行的目的。
  针对问题一:基于SEIR的传染病动力学研究建立传染病毒群体免疫屏障的数学模型。首先考虑COVID-19潜伏期患者不易被有效隔离,且具有较强的传染能力,建立了联合考虑潜伏期传播能力和追踪隔离干预措施的COVID-19 SEIR传染病动力学模型。然后以全国疫苗接种率数据为依据,拟合得到了新建立的修正SEIR模型的动力学参数。最后通过欧拉数值方法实现修正SEIR传染病动力学模型的求解,对疫苗接种率进行分析,预测我国建立免疫屏障或需10亿人接种疫苗,并评估免疫屏障和物理隔离措施对疫情发展的影响。
  针对问题二:本研究以深圳市完成群体免疫屏障的建立为目标,以疫情输入地为研究对象,考虑疫情发源地与输入地之间的传播关系网络,建立以防疫措施为参数的传播动力学SIQR模型。以中国人口迁徙数据和深圳市疫苗接种率数据为依据,使用基于蒙特卡洛方法的网格搜索算法对SIQR模型的各个参数进行最优化拟合。依据模型对深圳市疫情防控进行经济学效益分析,并模拟不同时间窗下群体免疫屏障的构建情况。
  针对问题三:考虑美国复杂人流网络的统计特征和SI传播模型,该文基于实证数据构建了新型冠状病毒肺炎在美国的传播和扩散的P-SI模型。基于实证数据的研究分析表明,P-SI 模型能够根据各州感染 COVID-19情况拟合每天新增感染人数的变化趋势,从而预测美国疫情的走向,为美国制定有效的防控措施提供决策依据。

模型假设:

  基于以上分析,我们提出以下合理假设:
  假设免疫人群占总体人群的比例为a,则不免疫的人群比例就是1-a,所以实际可能被感染的人群是R0*(1-a);
  假设使用基于蒙特卡洛方法的网格搜索算法对疫情不同阶段的参数进行拟合不考虑其他影响因子;
  假设疫情接种覆盖率的统计结果数据能真实反映该地区的群体免疫效果,数据来源可靠;
  假设神经网络隐含层大于或等于3层,运用神经网络运行奏效;
  假设传染病空气动力学模型忽略了潜伏期患者导致的传播风险;
  假设本模型尚未考虑无症状感染者的影响,未来可以在本模型的基础上考虑无症状感染者,使得模型更加贴合实际。

问题分析:

问题一的分析

  不同传染病的传染力不一样,阻断传染病流行的人群免疫力水平也不一样。人群免疫力跟疫苗保护效力和疫苗的接种率呈正比。传染病的传染力越强,则需要越高的人群免疫力。通过新冠病毒传播能力值和相关的公式可以计算出形成群体免疫也就是免疫屏障形成需要的接种率。
  针对问题一:首先考虑COVID-19潜伏期患者不易被有效隔离,且具有较强的传染能力,建立了联合考虑潜伏期传播能力和追踪隔离干预措施的COVID-19 SEIR传染病动力学模型。以湖北省疫情数据为依据,拟合得到了新建立的修正SEIR模型的动力学参数。通过欧拉数值方法实现修正SEIR传染病动力学模型的求解,对疫苗接种率进行分析,评估免疫屏障和物理隔离措施对疫情发展的影响。
  修正的SEIR传染病动力学模型对疫情的理论估计与湖北省疫情的实际情况较为符合。模型理论分析表明,防控隔离和医学追踪隔离等措施对疫情大面积传播有重要抑制作用;集中接收、分层治疗等重要措施对感染人数峰值的迅速回落起到了关键作用;此外,个人提高防范意识,采取严格自我防护措施,遏制了感染人数的新增。疫苗的有效性问题和病毒的变异问题可能影响免疫屏障构建的速度与广度。修正的SEIR传染病动力学模型可用于COVID-19传播态势分析,以便为制订未来的疫情干预决策提供一定的理论支持。

问题二的分析

  以中国深圳市为代表的输入型地区疫情随着各项防控措施的出台很快趋于稳定,通过传播动力学SIQR( susceptible infectious quarantined recovered)模型模拟深圳市真实群体免疫屏障建立,并对各项防控措施的力度进行打分,对不同措施得分下的疫情发展进行模拟。结果表明,若疫苗接种政策推迟15天,深圳的染病人数将增长69. 5倍。当前深圳输入人口管控为80分、个人防疫措施为92分、城市内部人口流动管控为84分。与全球其他地区相比,深圳市全方位和大力度的疫情防控有效避免了疫情在当地的爆发。当放松人口流动管控至40分时,若个人防疫力度为60分,感染人数会增至约900人;但若个人防疫力度为20分,感染人数会增至4百万人以上。因此,在疫情期间适当放松人口流动管控时,应时刻保持高水平的个人防疫力度。

问题三的分析

  考虑美国复杂人流网络的统计特征和SI传播模型,该文基于实证数据构建了新型冠状病毒肺炎在美国的传播和扩散的P-SI模型。基于实证数据的研究分析表明,P-SI 模型能够根据各州感染 COVID-19情况拟合每天新增感染人数的变化趋势。此外,P-SI模型能够根据疫苗接种情况预测美国疫情的走向。该模型有助于理解 COVID-19的传播特性,为阻断传播源,遏制疫情扩散,制定有效的防控措施提供决策依据。
  本文基于实证数据对 COVID-19 的传播过程进行建模,并运用该模型对每天新增感染人数作预测。经典SI模型利用传播机制的微分方程模拟传染病的感染爆发过程,在地区总人数不变的情况下设定感染率模拟感染过程。本文则在经典模型的基础上,结合流动人口的变化情况构建 P-SI模型对COVID-19 传播过程进行模拟预测。

模型的建立与求解整体论文缩略图

在这里插入图片描述
在这里插入图片描述

全部论文请见下方“ 只会建模 QQ名片” 点击QQ名片即可

程序代码:(代码和文档not free)

论文及程序仅供学习与参考
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
import datetime
from fbprophet import Prophet
import warnings
warnings.filterwarnings('ignore')
 
data = pd.read_csv('time_series_covid_19_confirmed_US.csv')
 
# 检查缺失值
print('Column exists missing values:')
for c in data.columns:
    if data.isnull().any()[c] == True:
        print(c)
        
# 整理数据
data_newyork = data.loc[data.Province_State == 'New York']
drop_lst = ['UID','iso2','iso3','code3','FIPS','Admin2','Province_State','Country_Region','Lat','Long_','Combined_Key']
data_newyork = data_newyork.drop(drop_lst, axis = 1)
data_newyork_sum = data_newyork.apply(lambda x: x.sum())  
    
# 将累计转化为新增
data_newyork_add = [data_newyork_sum[0]]
for i in range(245):
    data_newyork_add.append(data_newyork_sum[i+1] - data_newyork_sum[i])
    
# 日期
def create_date(start, end):
    # 转为日期格式
    start=datetime.datetime.strptime(start,'%Y-%m-%d')
    end=datetime.datetime.strptime(end,'%Y-%m-%d')
    date_list = []
    date_list.append(start.strftime('%Y-%m-%d'))
    while start<end:       
        start+=datetime.timedelta(days=+1)   # 日期叠加一天
        date_list.append(start.strftime('%Y-%m-%d'))  # 日期转字符串存入列表
    return date_list
 
lst_ds = create_date("2020-01-22","2020-09-23")
 
# 定义数据集
df = pd.DataFrame(columns=['ds','y'])
df.ds = lst_ds
df.y = data_newyork_add
 
# 建模
m = Prophet(growth='linear', 
            n_changepoints=32,    # 每周一次
            changepoint_range=0.8, 
            changepoint_prior_scale=0.15)   
# m.add_seasonality(name='half_weekly', period=3.5, fourier_order=3)  # 半周循环  
m.fit(df)   # 拟合
future = m.make_future_dataframe(periods=30)  # 预测之后30天 
forecast = m.predict(future)    # 预测
forecast  # 结果
全部论文请见下方“ 只会建模 QQ名片” 点击QQ名片即可
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值