本文仅是个人采用数学方法,使用逻辑回归曲线对新冠状病毒发展趋势进行拟合, 本人对最终结论不承担任何责任!任何基于本次研究结论所做出的的决策,相应责任请自行承担!
逻辑回归是机器学习中非常常用的一种机器学习算法,其公式为:
y=1/(1+e^x)
其数学曲线为:
因其曲线走势与病区确诊人数曲线非常接近,故此本文采用逻辑回归曲线根据现已公布的确认人数进行拟合,从而预测未来肺炎发展的走势!
根据官方公布的数据,去2020/1/20为第一天,但是考虑到前期诊断不足,从1月27号开始进行计算,记录每一天的确认人数如下:
日期 | x(公布日期-20200120) | y(确诊数量) |
---|---|---|
20200120 | - | 291 |
20200121 | - | 440 |
20200122 | - | 571 |
20200123 | - | 830 |
20200124 | - | 1287 |
20200125 | - | 1975 |
20200126 | - | 2744 |
20200127 | 0 | 4515 |
20200128 | 1 | 5974 |
20200129 | 2 | 7711 |
20200130 | 3 | 9692 |
20200131 | 4 | 11791 |
20200201 | 5 | 14380 |
20200202 | 6 | 17205 |
20200203 | 7 | 20438 |
20200204 | 8 | 24324 |
20200205 | 9 | 28018 |
20200206 | 10 | 31161 |
20200207 | 11 | 34546 |
20200208 | 12 | 37198 |
20200209 | 13 | 40235 |
20200210 | 14 | 42708 |
传统的逻辑回归公式计算计算结果为0-1,且x可以从负无穷到正无穷,需对其进行调整,结果如下:
y=k/(1+e^(a+bx))
该公式增加三个参数:
根据上述公式可知:
k/y=1+e^(a+bx)
故此:
ln(k/y-1)=a+bx
将数据表中的三个等距离的点(【0, 4515】,【7, 20438】,【14,40708】)分别代入上述公式可得:
跟着上述三个公式可以求得:
k=y1*(2*y0*y2-y1*(y0+y2))/(y0*y2-y1*y1)=20438*(2*4515*42708-20438*(4515+42708))/(4515*42708-20438* 20438)=52665
意思根据现有的发展趋势,未来确诊真人数可能会在52665左右
根据K值,可以计算得到y'=ln(k/y-1),结果如下:
日期 | x | y | y' |
---|---|---|---|
20200127 | 0 | 4515 | 2.36692010505296 |
20200128 | 1 | 5974 | 2.05613899029365 |
20200129 | 2 | 7711 | 1.76299631285422 |
20200130 | 3 | 9692 | 1.48927586262069 |
20200131 | 4 | 11791 | 1.24316252856591 |
20200201 | 5 | 14380 | 0.9792250462366 |
20200202 | 6 | 17205 | 0.723210901538637 |
20200203 | 7 | 20438 | 0.455414903281671 |
20200204 | 8 | 24324 | 0.152853059086355 |
20200205 | 9 | 28018 | -0.128183857000777 |
20200206 | 10 | 31161 | -0.370919048021057 |
20200207 | 11 | 34546 | -0.64531961974128 |
20200208 | 12 | 37198 | -0.877533343664731 |
20200209 | 13 | 40235 | -1.17460826810033 |
20200210 | 14 | 42708 | -1.45609034874044 |
通过 y'=a+bx进行拟合,求得:
根据 y=k/(1+e^(a+bx))可以求得未来的确诊量变化趋势如下:
日期 | x | y | 预计增量 | 实际结果 | 增量偏差 | 累计偏差 |
---|---|---|---|---|---|---|
20200209 | 13 | 40283 | 40235 | - | +47 | |
20200210 | 14 | 42635 | 2370 | 42708 | -103 | -73 |
20200211 | 15 | 44660 | 1952 | 44730 | -70 | -70 |
20200212 | 16 | 46325 | 1665 | |||
20200213 | 17 | 47682 | 1357 | |||
20200214 | 18 | 48772 | 1090 | |||
20200215 | 19 | 49640 | 868 | |||
20200216 | 20 | 50323 | 683 | |||
20200217 | 21 | 50858 | 535 | |||
20200218 | 22 | 51273 | 415 | |||
20200219 | 23 | 51596 | 323 | |||
20200220 | 24 | 51844 | 248 | |||
20200221 | 25 | 52036 | 192 | |||
20200222 | 26 | 52183 | 147 | |||
20200223 | 27 | 52296 | 113 | |||
20200224 | 28 | 52383 | 87 | |||
20200225 | 29 | 52449 | 66 | |||
20200226 | 30 | 52500 | 51 | |||
20200227 | 31 | 52539 | 39 | |||
20200228 | 32 | 52569 | 30 | |||
20200229 | 33 | 52591 | 22 | |||
20200301 | 34 | 52609 | 18 | |||
20200302 | 35 | 52622 | 13 | |||
20200303 | 36 | 52632 | 10 | |||
20200304 | 37 | 52640 | 8 | |||
20200305 | 38 | 52646 | 6 | |||
20200306 | 39 | 52650 | 4 | |||
20200307 | 40 | 52654 | 4 | |||
20200308 | 41 | 52656 | 2 | |||
20200309 | 42 | 52658 | 2 | |||
20200310 | 43 | 52660 | 2 |