前幾日做的是關(guān)于第二天新增確診病例的預(yù)測,但是發(fā)現(xiàn)那個(gè)實(shí)在是太簡單了霞篡,因?yàn)橐伤撇±凶詈蟊淮_診成肺炎的比例基本是不變的筐赔,在excel上把數(shù)據(jù)點(diǎn)畫上去,然后畫一條最優(yōu)擬合線就完事了怎虫。
昨天突然意識(shí)到,自己其實(shí)有能力做一個(gè)關(guān)于疫情整體情況的模型困介,所以今天就動(dòng)手操作一下大审。
模型
這次模型中有五類人:
- suseptible(可感人群)
- infectious(可以感染他人,但是由于種種原因沒有被隔離座哩,比如處于潛伏期徒扶,或者病情較輕,沒有放在心上等根穷。沒有任何官方的數(shù)據(jù)來表明這類人的數(shù)量)
- diagnosed(被確診而且被隔離酷愧,無法傳染其他人驾诈。官方對(duì)于這類人的數(shù)量有明確的數(shù)據(jù))
- recover(病情好轉(zhuǎn)出院,獲得免疫能力溶浴,無法被再次感染)
- death(由于病重乍迄,不幸死亡)
有四個(gè)變化率:
-? 每天被感染的人數(shù)
- 每天被隔離治療的人數(shù)
- 每天病情好轉(zhuǎn)出院的人數(shù)
- 每天死亡人數(shù)
接下來,我們可以寫出他們變化率的表達(dá)式:
這一次我們只關(guān)注
和
這兩個(gè)量士败,不去計(jì)算疫情結(jié)束時(shí)的死亡和康復(fù)人數(shù)(如果想知道這兩個(gè)量的話闯两,看看死亡率和康復(fù)率的相對(duì)大小就知道了 ------ 人最后要么康復(fù),要么死亡谅将。按照現(xiàn)在的數(shù)據(jù)漾狼,如果不及時(shí)開發(fā)出新的治療方法的話,后果真的很嚴(yán)重)
參數(shù)
好饥臂,接下來我們來看看如何確定這四個(gè)參數(shù)逊躁。
最好估計(jì)的就是
(康復(fù)率)和
(死亡率)。根據(jù)丁香園的數(shù)據(jù)隅熙,
對(duì)于
和
稽煤,我們可以做以下推導(dǎo):
這里我們可以得到的量只有
,
和
。也就是說囚戚,對(duì)于相同的
酵熙,
和
可以有不同的解。不同的參數(shù)對(duì)應(yīng)的模型肯定不一樣驰坊,但是好在不是所有的模型都是最好的匾二,我們可以想辦法通過先找到最符合現(xiàn)實(shí)的模型,反過來求出這些參數(shù)值拳芙,然后使用通過這種方法求出的參數(shù)來進(jìn)行預(yù)測察藐。
思路:
三個(gè)參數(shù)
和起始的
必須先確定其中的兩個(gè),才能求第三個(gè)值舟扎。那么先確定哪個(gè)呢转培?
是最難估計(jì)的了,那么我們就先確定初始的感染人數(shù)吧浆竭。新型冠狀病毒的潛伏期的平均值有的專家說是10天,有的說是7天惨寿,我們選擇保守一點(diǎn)的估計(jì)邦泄,7天。也就是說:
第二個(gè)參數(shù)我們選擇
裂垦。
的取值范圍應(yīng)該在0-1之間顺囊,如果
大于1,那么就是說同一批人在感染了另一批人之后的同一天住進(jìn)了醫(yī)院蕉拢,這明顯不符合事實(shí)特碳,那么我們就可以用暴力的方法诚亚,將0-1的值遍歷一遍,每一遍都求一個(gè)最優(yōu)的
午乓,看看當(dāng)
取哪個(gè)值的時(shí)候這三個(gè)參數(shù)是最優(yōu)的
公式推導(dǎo):
關(guān)于
的導(dǎo)數(shù):
設(shè)置損失函數(shù)并對(duì)
求導(dǎo):
更新公式:
其中theta是學(xué)習(xí)率(learning rate)
代碼實(shí)現(xiàn):
模擬每天的變化:
先更新 I站宗,再用更新過的 I 計(jì)算D,這樣更符合公式的推導(dǎo)
計(jì)算損失:
更新
數(shù)據(jù):
在建模的過程中最令我絕望的就是數(shù)據(jù)了益愈,搜遍了全網(wǎng)也也沒有發(fā)現(xiàn)任何一家媒體把疫情的歷史數(shù)據(jù)整理公開梢灭,雖然丁香園提供了歷史數(shù)據(jù)圖,但是并沒有把所有的數(shù)據(jù)公開......
只有國家衛(wèi)生健康委員會(huì)和央視新聞從1月19號(hào)開始每天播報(bào)確診人數(shù)(可以從丁香園的實(shí)時(shí)播報(bào)查到:https://3g.dxy.cn/newh5/view/pneumonia_timeline?whichFrom=dxy)蒸其。也就是說敏释,1月19號(hào)之前的數(shù)據(jù)要么根本就沒有,要么就不可信......疫情可是從去年12月就開始了呀摸袁。
不管了钥顽,姑且先用這些數(shù)據(jù)吧
測試
初始化:
第一天(1月19號(hào))的
(確診人數(shù))是291,假設(shè)潛伏期為7天靠汁,那么
就是2037蜂大。
和
的取值先隨便取,后面還要遍歷搜索
遍歷搜索:
看來當(dāng)初始
膀曾,
县爬,且
的時(shí)候,模型輸出和真實(shí)數(shù)據(jù)擬合的是最好的添谊。接下來把最好的
也求出來吧财喳。(在運(yùn)行代碼之前還要再初始化一遍)
我們知道,當(dāng)
大于0的時(shí)候斩狱,確診人數(shù)會(huì)成指數(shù)上漲耳高,現(xiàn)在看來情況依然不是很好啊
把最后擬合出來的圖畫出來康康:
嗯,看起來擬合的不錯(cuò)所踊,模型的可信度還是有一些的
由于這世界上還沒有沒有任何關(guān)于
的數(shù)據(jù)泌枪,讓我們用建好的模型來估計(jì)一下
的大小和歷史變化吧
注意:這個(gè)結(jié)果是基于:模型結(jié)構(gòu)沒有問題,數(shù)學(xué)推導(dǎo)沒有問題秕岛,數(shù)據(jù)沒有問題碌燕,各種假設(shè)沒有問題,初始人數(shù)沒有問題等等才得到的继薛。因此這張圖僅供參考修壕,本人無意制造恐慌。
根據(jù)模型輸出的結(jié)果遏考,截止到1月26號(hào)慈鸠,已經(jīng)有5萬多人被感染了,只是這5萬多人由于各種各樣的原因沒有被檢測出來灌具。大家要注意保護(hù)好自己呀青团,那些被確診的人可能僅僅只是所有被感染人群的冰山一角
至于什么時(shí)候情況會(huì)好轉(zhuǎn)呢譬巫?現(xiàn)在從模型輸出的數(shù)據(jù)上來看還沒有好轉(zhuǎn)的跡象,但是從丁香園的數(shù)據(jù)來看督笆,疑似人數(shù)的增長已經(jīng)放緩了
而且鐘老已經(jīng)放出話了:
也許明天就是轉(zhuǎn)折點(diǎn)呢芦昔!