一:添加医院的SEIR模型更改
上次我们完成对病毒模型的模拟,本次我们将模拟上海的防疫政策来对SEIR模型再改进。
上图是我们之前建立的SEIR病毒模型,这次我们将添加防疫举措。
一:添加隔离因素——医院(控制传染源)
为了模拟现实,我们添加了医院这个场所,设感染者I 会以 某速率流动到医院Q中,并且到了Q中的所有I(感染者)都不再具备传染能力,并且在Q(医院)中的人的治愈率和死亡率都和I中的不同(大幅度下降)。
模型拟合:
符号表示:
符号 | 相关意义 |
N | 区域总人数 |
E | 潜伏携带者 |
I | 感染者 |
S | 易感者 |
R | 治愈者 |
D | 死亡者 |
Q | 就医者 |
r1 | 感染者接触人数 |
b1 | 感染者传染概率 |
r2 | 潜伏者接触人数 |
b2 | 潜伏者传染概率 |
a | 潜伏者发病率 |
c | 潜伏者自愈率 |
y2 | 医院中的治愈率 |
y1 | 治愈率 |
k1 | 死亡率 |
k2 | 医院中的死亡率 |
q | 就医率 |
首先我们先推算一下SEIR模型的微分方程。
dS/dt = −r1b1IS / N - r2b2ES / N
dE/dt = r1b1IS / N + r2b2ES / N − aE - cE
dI/dt = aE − y1I - k1I - qI
dR/dt = y1I + cE + y2Q
dD/dt = k1I + k2Q
dQ/dt = qI - k2Q - y2Q
参数计算:
结果:
其中累计感染者人数为:3208583 累计死亡人数为:5565
虽然我们针对模型进行了相应的改进,但我们发现其实疫情还是将所有人都感染了,也不是很符合实情,所以我们还需要对模型再进行改进。
二:结合上海实情的模型更改:
最终我结合了中国防控情况来对模型进行了大改造:结构如下:
1:为什么不考虑迁入,迁出率:因为我们主要对分析上海疫情在本地的传播情况,其他城市流入上海的潜伏者微乎其微,而且我们也不好设置参数,所以直接不用考虑。
2:整体的思路:S:代表易感人群,E:代表潜伏期的人群 I:这里我们表示无症状感染者:为什么I仅仅代表无症状感染者:因为我认为我国防疫措施很成熟,所以我认为每当有患病者有症状出现,他会第一时间到医院就诊。R代表治愈者,Q代表医院:有症状感染者会立即到医院就诊(我将有症状感染者分成两个部分,其中一个部分为从潜伏者直接变成的,另一部分是开始为无症状感染者,一段时间后变成有症状的)医院中的病人不再具备传染能力,而且我认为所有的感染者如果不能自愈则全部要到医院后才能“治愈”或者“死亡”。所以R治愈人数:可能是无症状感染者自愈的,也可能是医院治愈的。死亡者我认为只能是医院无法治愈的。F代表我国的隔离政策下的自我隔离者:当医院Q中的人数到达某一阈值的时候,S易感者就会以f1的速率进行隔离,隔离人群F将不会被感染。当医院Q中人数少于某个阈值的时候,隔离人群F将以f2的速率回复正常生活,重新成为S(易感人群)。
3:参数的确定:
(1)我认为潜伏者和无症状感染者的接触率和传染能力应该是一样的,所以b1=b2, t1=t2。
直接使用之前相关参数就行,具体的参数求法在之前的博客里有。
(2)f1和f2的确定:
f1是隔离速度,这点不好确定一个定值,所以我们在之后的模型中将会采取不同的隔离速度来观察疫情传播情况。f2:恢复速度:使用自我隔离的天数的倒数,这里可以用1/14 也可以用 1/(14+7)
(3)i的潜伏期的倒数:
(4)无症状自愈率:本次我们认为无症状感染者大多数是能自愈的所以我们采用无症状周期的倒数来模拟自愈率。
(5)潜伏者成为:无症状和有症状的比例:直接使用我们爬取到的上海疫情数据计算出有症状和无症状感染者的比例。约为9:1
(5)医院的收治率:因为我们假设的一旦无症状感染者出现症状,他将第一时间被医院收治,所以我们假设,确诊者的一部分是由潜伏者变成,另一部分是由无症状变成的。无症状可能在1-14天内变成有症状,我们假设无症状有十分之一会变成有症状。
(6)医院的治愈率:治愈周期的倒数
(7):死亡率:上次博客已求得。
4:初值的确定:
假设发现确诊病例1例,那么假设该病例已经传播一轮。(4天的潜伏期),会出现6个左右的潜伏者。
结果展示:
再改进:将无症状进行隔离政策,无症状感染者也无感染能力:
最终结果:
累计无症状感染者人数 | 累计确诊人数 | 治愈人数 | 死亡人数 |
57206 | 29912 | 63447 | 1081 |
可以看出我们的模型,对上海本次疫情拟合能力已经相当强了。
我们的病毒模型已经建立好,接下来我将会利用建立好的病毒模型来进行相关的防控研究。