美文网首页
2020-01-29

2020-01-29

作者: Rich070 | 来源:发表于2020-01-29 02:00 被阅读0次

    前几日做的是关于第二天新增确诊病例的预测,但是发现那个实在是太简单了,因为疑似病例中最后被确诊成肺炎的比例基本是不变的,在excel上把数据点画上去,然后画一条最优拟合线就完事了。

    昨天突然意识到,自己其实有能力做一个关于疫情整体情况的模型,所以今天就动手操作一下。

    模型

    这次模型中有五类人:

    - suseptible(可感人群)

    - infectious(可以感染他人,但是由于种种原因没有被隔离,比如处于潜伏期,或者病情较轻,没有放在心上等。没有任何官方的数据来表明这类人的数量)

    - diagnosed(被确诊而且被隔离,无法传染其他人。官方对于这类人的数量有明确的数据)

    - recover(病情好转出院,获得免疫能力,无法被再次感染)

    - death(由于病重,不幸死亡)

    有四个变化率:

    -  每天被感染的人数

    - 每天被隔离治疗的人数

    - 每天病情好转出院的人数

    - 每天死亡人数

    接下来,我们可以写出他们变化率的表达式:

    这一次我们只关注

    这两个量,不去计算疫情结束时的死亡和康复人数(如果想知道这两个量的话,看看死亡率和康复率的相对大小就知道了 ------ 人最后要么康复,要么死亡。按照现在的数据,如果不及时开发出新的治疗方法的话,后果真的很严重)

    参数

    好,接下来我们来看看如何确定这四个参数。

    最好估计的就是

    (康复率)和

    (死亡率)。根据丁香园的数据,

    对于

    ,我们可以做以下推导:

    这里我们可以得到的量只有

    ,

    。也就是说,对于相同的

    可以有不同的解。不同的参数对应的模型肯定不一样,但是好在不是所有的模型都是最好的,我们可以想办法通过先找到最符合现实的模型,反过来求出这些参数值,然后使用通过这种方法求出的参数来进行预测。

    思路:

    三个参数

    和起始的

    必须先确定其中的两个,才能求第三个值。那么先确定哪个呢?

    是最难估计的了,那么我们就先确定初始的感染人数吧。新型冠状病毒的潜伏期的平均值有的专家说是10天,有的说是7天,我们选择保守一点的估计,7天。也就是说:

    第二个参数我们选择

    的取值范围应该在0-1之间,如果

    大于1,那么就是说同一批人在感染了另一批人之后的同一天住进了医院,这明显不符合事实,那么我们就可以用暴力的方法,将0-1的值遍历一遍,每一遍都求一个最优的

    ,看看当

    取哪个值的时候这三个参数是最优的

    公式推导:

    关于

    的导数:

    设置损失函数并对

    求导:

    更新公式:

    其中theta是学习率(learning rate)

    代码实现:

    模拟每天的变化:

    先更新 I,再用更新过的 I 计算D,这样更符合公式的推导

    计算损失:

    更新

    数据:

    在建模的过程中最令我绝望的就是数据了,搜遍了全网也也没有发现任何一家媒体把疫情的历史数据整理公开,虽然丁香园提供了历史数据图,但是并没有把所有的数据公开......

    只有国家卫生健康委员会和央视新闻从1月19号开始每天播报确诊人数(可以从丁香园的实时播报查到:https://3g.dxy.cn/newh5/view/pneumonia_timeline?whichFrom=dxy)。也就是说,1月19号之前的数据要么根本就没有,要么就不可信......疫情可是从去年12月就开始了呀。

    不管了,姑且先用这些数据吧

    测试

    初始化:

    第一天(1月19号)的

    (确诊人数)是291,假设潜伏期为7天,那么

    就是2037。

    的取值先随便取,后面还要遍历搜索

    遍历搜索:

    看来当初始

    ,且

    的时候,模型输出和真实数据拟合的是最好的。接下来把最好的

    也求出来吧。(在运行代码之前还要再初始化一遍)

    我们知道,当

    大于0的时候,确诊人数会成指数上涨,现在看来情况依然不是很好啊

    把最后拟合出来的图画出来康康:

    嗯,看起来拟合的不错,模型的可信度还是有一些的

    由于这世界上还没有没有任何关于

    的数据,让我们用建好的模型来估计一下

    的大小和历史变化吧

    注意:这个结果是基于:模型结构没有问题,数学推导没有问题,数据没有问题,各种假设没有问题,初始人数没有问题等等才得到的。因此这张图仅供参考,本人无意制造恐慌。

    根据模型输出的结果,截止到1月26号,已经有5万多人被感染了,只是这5万多人由于各种各样的原因没有被检测出来。大家要注意保护好自己呀,那些被确诊的人可能仅仅只是所有被感染人群的冰山一角

    至于什么时候情况会好转呢?现在从模型输出的数据上来看还没有好转的迹象,但是从丁香园的数据来看,疑似人数的增长已经放缓了

    而且钟老已经放出话了:

    也许明天就是转折点呢!

    相关文章

      网友评论

          本文标题:2020-01-29

          本文链接:https://www.haomeiwen.com/subject/xckvthtx.html