背景:众志成城抗疫情。今天是2020年2月1日,2019-nCov确诊人数一直在增长趋势。

1.28日用logistic增长模型拟合了确认感染人数的数据。预测挺准,特别是r=0.55的时候,拟合方法及代码见:

python实现logistic增长模型拟合2019-nCov确诊人数

本文方法没有新内容,就是之前方法更新了数据再进行了拟合。但是模型依然没到拐点,疫情依然是扩散态势,形势严峻且复杂。最终确诊人数有可能突破两万。

目录

一、模型可靠性

1. logistic模型为不可靠模型

2. 已有预测及结果及参数

3.  r值区间

二、下步预测

2.1 新增人数

2.2 近几天趋势预测

2.3 收敛点

三、个人建议

四、代码


一、模型可靠性

1. logistic模型为不可靠模型

该模型初期可靠性高,中后期可靠性不高。原因如下:

  • 传播初期疾病基本没有控制,但是中后期社区及医疗单位对疾病进行了严格控制,传播力度可能降低
  • 感染基数较大,部分病例死亡或者痊愈,降低确诊人数,logistic模型没有考虑到。
  • 试剂盒的检测周期和用于检测的试剂盒的量都在变化。

因此,logistic增长模型只是对疾病进行预估,并不能准确判断,也并不是最佳模型。最佳模型有SEIR模型等等,太专业,我也没时间研究。

2. 已有预测及结果及参数

预测是比较准确的,预测1.28日几个r值均能较好拟合曲线。取0.55和0.65之间拟合较为准确。

比如,r取0.55的时候,24时累计确诊5976,实际确诊5974;预测1.29日24时确诊7533,实际确诊7711

3.  r值区间

r值越大,模型越快收敛到K,r值越小,越慢收敛到K

实际的R值在0.40(绿线)和0.64(红线)之间都有可能

二、下步预测

2.1 新增人数

目前情况比较严峻复杂,新增人数一直在上涨。

新增确诊就与下图增长速率对应,达到增长率右图最高点f的时候就是模型拐点,对应于左图的c点。但是目前趋势很难判断明天或者接下来增长速率趋势(二阶导数)是升还是降。

2.2 近几天趋势预测

新增人数的趋势一直在涨,至今没出现拐点,到底为什么?前期防控措施可能需要一定时间体现。

r取0.44和0.64之间,趋势图如下。预测2月1日24时累计在12030到13960之间

2月2日24时累计在12493到15829之间。

2.3 收敛点

乐观估计,随着预防政策的体现,感染人数会迅速到K,2月5号前就停止增长。

但是春运返程,可能导致进一步扩散,可能到2月10号,元宵节前。

目前模型拐点依然没有出现,很难判断下步到底什么态势。不同的r值均能跟之前的数据拟合较好,疫情还是在扩散阶段,情况严峻且复杂。

三、个人建议

  • 做好打持久战准备。
  • 别买双黄连,根本没有双盲实验,也没有临床试验。买点洗手液、酒精也比双黄连靠谱。
  • 疾病传染性非常强,别出门。

四、代码

#!/usr/bin/python
# -*- coding: UTF-8 -*-
"""
拟合2019-nCov肺炎感染确诊人数
"""
import numpy as np
import matplotlib.pyplot as plt
import math
import pandas as pdimport numpy as np
import matplotlib.pyplot as plt
from scipy.optimize import curve_fitdef logistic_increase_function(t,K,P0,r):t0=11# t:time   t0:initial time    P0:initial_value    K:capacity  r:increase_rateexp_value=np.exp(r*(t-t0))return (K*exp_value*P0)/(K+(exp_value-1)*P0)fast_r=0.40
slow_r=0.64def faster_logistic_increase_function(t,K,P0,):return logistic_increase_function(t,K,P0,r=fast_r)def slower_logistic_increase_function(t,K,P0,):return logistic_increase_function(t,K,P0,r=slow_r)'''
1.11日41例
1.18日45例
1.19日62例
1.20日291例
1.21日440例
1.22日571例
1.23日830例
1.24日1287例
1.25日1975例
1.26日2744例
1.27日4515例
1.28日5976例
1.29日7711例
1.30日9692例
1.31日11791例
'''#  日期及感染人数
#t=[11,18,19,20 ,21, 22, 23, 24,  25,  26,  27,  28,  29  ,30]
t=[11,18,19,20 ,21, 22,   23, 24,  25,  26,  27,  28,  29  ,30 ,  31]
t=np.array(t)
#P=[41,45,62,291,440,571,830,1287,1975,2744,4515,5974,7711,9692]
P=[41,45,62,291,440,571,  830,1287,1975,2744,4515,5974,7711,9692, 11791]
P=np.array(P)# 用最小二乘法估计拟合
#popt, pcov = curve_fit(logistic_increase_function, t, P)
popt_fast, pcov_fast = curve_fit(faster_logistic_increase_function, t, P)
popt_slow, pcov_slow = curve_fit(slower_logistic_increase_function, t, P)
#获取popt里面是拟合系数
print("K:capacity  P0:initial_value   r:increase_rate   t:time")
#print(popt)
#拟合后预测的P值
#P_predict = logistic_increase_function(t,popt[0],popt[1],popt[2])
P_predict_fast= faster_logistic_increase_function(t,popt_fast[0],popt_fast[1])
P_predict_slow = slower_logistic_increase_function(t,popt_slow[0],popt_slow[1])
#未来长期预测
#future=[11,18,19,20 ,21, 22, 23, 24,  25,  26,  27,28,29,30,31,41,51,61,71,81,91,101]
#future=np.array(future)
#future_predict=logistic_increase_function(future,popt[0],popt[1],popt[2])
#近期情况预测
tomorrow=[32,33,34,35,36,37,38,39,40,41,42,43,44,45]
tomorrow=np.array(tomorrow)
#tomorrow_predict=logistic_increase_function(tomorrow,popt[0],popt[1],popt[2])
tomorrow_predict_fast=logistic_increase_function(tomorrow,popt_fast[0],popt_fast[1],r=fast_r)
tomorrow_predict_slow=logistic_increase_function(tomorrow,popt_slow[0],popt_slow[1],r=slow_r)#绘图
plot1 = plt.plot(t, P, 's',label="confimed infected people number")
#plot2 = plt.plot(t, P_predict, 'r',label='predict infected people number')
#plot3 = plt.plot(tomorrow, tomorrow_predict, 's',label='predict infected people number')
plot2 = plt.plot(tomorrow, tomorrow_predict_fast, 's',label='predict infected people number fast')
plot3 = plt.plot(tomorrow, tomorrow_predict_fast, 'r')
plot4 = plt.plot(tomorrow, tomorrow_predict_slow, 's',label='predict infected people number slow')
plot5 = plt.plot(tomorrow, tomorrow_predict_slow, 'g')
plot6 = plt.plot(t, P_predict_fast, 'b',label='confirmed infected people number')plt.xlabel('time')
plt.ylabel('confimed infected people number')plt.legend(loc=0) #指定legend的位置右下角print("32\n")
print(faster_logistic_increase_function(np.array(32),popt_fast[0],popt_fast[1]))
print(slower_logistic_increase_function(np.array(32),popt_slow[0],popt_slow[1]))print("33\n")
print(faster_logistic_increase_function(np.array(33),popt_fast[0],popt_fast[1]))
print(slower_logistic_increase_function(np.array(33),popt_slow[0],popt_slow[1]))plt.show()print("Program done!")

博客文章总目录-邢翔瑞的技术博客

python实现logistic增长模型拟合2019-nCov确诊人数

Unet论文详解U-Net:Convolutional Networks for Biomedical Image Segmentation

眼底血管分割MICCAI 2019论文详解Multi-task Neural Networks with Spatial Activation for Retinal Vessel...

比赛竞猜投注类问题概率模型

python实现logistic增长模型拟合2019-nCov确诊人数2月1日更新相关推荐

  1. python实现logistic增长模型拟合2019-nCov确诊人数

    背景:众志成城抗疫情.今天是2020年1月28日,2019-nCov确诊人数一直在增长趋势,如何更好的对确诊人数进行拟合和预测,需要我们用python来实现.注意,本文模型为logistic增长模型, ...

  2. python实现logistic增长模型

    文章目录 1 logistic 增长模型 1.1 J型增长和S型增长 1.2 logistic增长函数 1.3 案例代码 2 拟合多项式函数 2.1 多项式拟合 -- polyfit 拟合年龄 2.2 ...

  3. Python之pyecharts:利用pyecharts绘制2020年11月16日微博话题热度排行榜实时变化

    Python之pyecharts:利用pyecharts绘制2020年11月16日微博话题热度排行榜实时变化 目录 利用pyecharts绘制2020年11月16日微博话题热度排行榜实时变化 Bar( ...

  4. 绝地求生12月18日服务器信息,绝地求生12月18号几点更新维护完 2019绝地求生12月18日更新维护开服时间...

    绝地求生12月18日几点更新维护完?绝地求生在12月18日早上8点半正式服停机维护更新,维护期间玩家们不能登录游戏,需要等待维护结束开服,各位还不清楚本次更新维护时间安排的玩家,下面小编带来了2019 ...

  5. 王者服务器维修2019年四月份,王者荣耀4月25日更新内容 王者荣耀2019年4月25日全服不停机更新公告...

    王者荣耀在2019年4月25日早上8点半对全服进行不停机更新,本次更新后会上线王者快跑活动玩法,还有2019年的55开黑节的第一波活动,下面小编为大家带来了王者荣耀2019年4月25日全服不停机更新公 ...

  6. python编程入门与案例详解-quot;Python小屋”免费资源汇总(截至2018年11月28日)...

    原标题:"Python小屋"免费资源汇总(截至2018年11月28日) 为方便广大Python爱好者查阅和学习,特整理汇总微信公众号"Python小屋"开通29 ...

  7. 阴阳师服务器维护2月20,阴阳师2019年3月20日更新内容 阴阳师手游3月20日维护更新公告...

    阴阳师3月20日更新了什么?阴阳师3月20日维护更新后,新式神赤影妖刀姬上线,赤影刀舞召唤活动来袭,上新了多个全新活动,以及一些体验优化和问题修正,还不清楚的玩家,下面小编为大家带来了阴阳师手游3月2 ...

  8. 常用JS正则大全(2019年11月12日更新)

    来源: any86.github.io/any-rule/ 11月12日更新"网址" 匹配更准确,支持匹配vue的路由参数 9月16日更新"银行卡号" 根据微信 ...

  9. 2019年无限法则服务器,无限法则1月16日更新内容一览 新地图欧罗巴海岛介绍

    无限法则1月16日更新内容一览 新地图欧罗巴海岛介绍 2019-01-16 11:21:43来源:游戏下载编辑:野狐禅评论(0) <无限法则>1月16日即将进行近期最大的一次更新,第二赛季 ...

  10. 王者服务器维修2019年四月份,王者荣耀2019年4月2日更新公告 SNK英雄免费拿

    王者荣耀正式服将在4月2号开启不停机更新,那么具体更新什么呢,小编相信小伙伴们一定都想知道吧,下面小编给大家带来了一篇关于王者荣耀2019年4月2日更新公告,希望大家喜欢. 王者荣耀2019年4月2日 ...

最新文章

  1. 投影幕布jsp_投影 篇一:实测亲证百元投影幕布不如白墙
  2. 【图文讲解】eclipse中配置maven环境+导入maven项目
  3. 激进or务实?HEVC、AV1 和私有Codecs现状
  4. vue3中websocket用法
  5. 如何生成可变表头的excel
  6. 项目Wiki的选择和配置
  7. csv是python内置模块吗_Python--CSV模块 - 一只小小的寄居蟹 - 博客园
  8. 吴恩达深度学习之三《结构化机器学习项目》学习笔记
  9. shelve模块简单用法
  10. Visual Studio 2008 编译程序时的 mt.exe 返回错误
  11. 数据结构(JAVA)--图
  12. css中background-image与background-color在元素背景中开始结束的位置
  13. 【学习体会】Lighttools8.4.0:软件基本使用+光度学基本概念+系统初始设置
  14. 算法-贪心/动态规划-买卖股票的最佳时机
  15. Fast and Accurate Recognition of Chinese Clinical Named Entities with Residual Dilated Convolutions
  16. SFDC Developer
  17. java es nested_关于nested类型的使用
  18. 淘宝封杀返现模式 淘宝客返利网站模式遇挑战
  19. 质因子分解 Python
  20. ipad iphone开发_如何在iPhone或iPad上随机播放或重复播放歌曲

热门文章

  1. 服务器显示配额不足什么原因,win7系统显示配额不足导致无法访问的解决方法...
  2. Spring注解开发
  3. Win10开机黑屏进不了桌面
  4. 爱奇艺动画屋 android,爱奇艺奇巴布(com.qiyi.video.child) - 11.5.5 - 应用 - 酷安
  5. Python基础语法学习4
  6. CNCC 2018参会回顾、总结
  7. ZeroTier + win10 远程桌面(替代TeamViewer)
  8. linux下搜狗输入法wps无法使用,搜狗输入法能在WPS下使用,但其他地方不能输入...
  9. 电驴服务器更新的作用,怎样更新eMule(电驴)服务器列表,有什么好处?
  10. 将excel表格嵌入html,excel中embed的使用