用數(shù)據(jù)告訴你,新型冠狀病毒傳染性有多強(qiáng)?
- 新型肺炎疫情牽動(dòng)著全國(guó)人民的心。截至 2020 年 1 月 27 日 11 時(shí) 54 分,全國(guó)新型肺炎病例已確診 2762 例,死亡 80 例,治愈 51 例。
00聲明&目的
作為一名碼農(nóng),我們用數(shù)據(jù)說(shuō)話,下面為大家分析目前的新型冠狀病毒真的嚴(yán)重嗎?
聲明:
- 本文只是一個(gè)學(xué)術(shù)的研究,能夠獲取的數(shù)據(jù)維度非常單一且數(shù)據(jù)量也少,并無(wú)任何實(shí)際的價(jià)值和參考意義,請(qǐng)不要對(duì)號(hào)入座,請(qǐng)不要隨便斷章取義,歪曲本文。
- 本文的數(shù)據(jù)來(lái)自于 WHO,國(guó)家衛(wèi)檢委,騰訊新聞和澎湃新聞美數(shù)課。全部人工抄錄,如有錯(cuò)誤之處,敬請(qǐng)指出。
- 本文寫于 1 月 26 日,當(dāng)時(shí)獲取到的信息非常有限,得出的結(jié)論可能會(huì)被后續(xù)更多的數(shù)據(jù)被推翻。再次聲明,所以本文僅是一個(gè)學(xué)術(shù)的探討,僅僅是一個(gè)思路,并無(wú)實(shí)際的價(jià)值和參考意義。
- 本人也是個(gè)菜雞程序員,可能會(huì)有數(shù)據(jù)錯(cuò)誤,程序沒(méi)寫好,有 Bug 等,歡迎指正批評(píng)。一起探討學(xué)習(xí)。
目的:本文探討的主要目的是,有沒(méi)有一種算法可以根據(jù)已有的數(shù)據(jù)對(duì)疫情進(jìn)行預(yù)測(cè)和評(píng)估,可以方便在疫情出現(xiàn)的時(shí)候,根據(jù)預(yù)測(cè)的數(shù)據(jù)來(lái)判斷當(dāng)前的疫情狀況。
文章分為如下五個(gè)部分:
- 猜想
- 數(shù)據(jù)準(zhǔn)備
- 猜想驗(yàn)證
- 新型冠狀病毒確診數(shù)據(jù)的預(yù)測(cè)和驗(yàn)證
- 總結(jié)
PS : 心急的朋友可以直接拖到末尾看結(jié)論。
01猜想
由于當(dāng)前新型冠狀病毒的數(shù)據(jù)并不多(從 11 號(hào)-26 號(hào)),所以僅僅是新型冠狀病毒的數(shù)據(jù)來(lái)做研究是不夠的,必須還要一組參考驗(yàn)證組。(當(dāng)然是越多越好,但是精力有限,所以只找了一組)。
首先明確一下判斷疫情的嚴(yán)重情況的指標(biāo),目前疫情一般會(huì)公告這四個(gè)數(shù)據(jù):
- 確診病例
- 疑似的病例
- 感染的地區(qū)
- 死亡的人數(shù)
由于我們把地區(qū)限定在了中國(guó)(雖然各個(gè)地區(qū)不一樣),所這個(gè)地區(qū)的指標(biāo)就不用了,死亡人數(shù)在疫情的前中后期都不太一樣,這個(gè)也不用。
疑似病例這個(gè)和各地的收診情況有關(guān)系,比如香港的疑似病例就非常多,確診很少,所以這個(gè)指標(biāo)也不采用,剩下就以確診病例作為唯一的參考指標(biāo)。
猜想 1:假設(shè)病毒的傳播和地區(qū),氣候以及病毒自身的特征有非常大的關(guān)系。
那么只要找到一個(gè)和新型冠狀病毒這三個(gè)屬性非常相似的病毒,只要算法能夠?qū)@種病毒的確診病例進(jìn)行預(yù)估和判斷,那么算法也可以對(duì)新型冠狀病毒進(jìn)行預(yù)估和判斷。
目前和新型冠狀病毒最像的應(yīng)該就是 SARS:
- 氣候和現(xiàn)在差不多,都是 1 月開(kāi)始,但是 SARS 在 3 月才擴(kuò)散。
- 地區(qū)主要是是中國(guó)。
- 病毒類型:都是冠狀病毒,都有發(fā)燒咳嗽等特征。
那么基于上述的條件,采用了 SARS 作為參考組。
猜想 2:可以給定一個(gè) Δ。
- 如果當(dāng)前確診的病例-預(yù)測(cè)的確診病例的比率>Δ,那么當(dāng)前的疫情變異了,進(jìn)一步擴(kuò)大影響的范圍。
- 如果當(dāng)前確診的病例-預(yù)測(cè)的確診病例的比率<-Δ,那么當(dāng)前的疫情已經(jīng)基本被控制,已經(jīng)減弱了。
- 如果-Δ<當(dāng)前確診的病例-預(yù)測(cè)的確診病例的比率<Δ,那么當(dāng)前的疫情還在平穩(wěn)的發(fā)展中,沒(méi)有進(jìn)一步變異。
02數(shù)據(jù)的準(zhǔn)備
- 確診病例的數(shù)據(jù):
- SARS 的數(shù)據(jù)來(lái)源于 www.who.int , 數(shù)據(jù)從 2003 年的 3 月 17 日-5 月 30 日 。
- 新型冠狀病毒的數(shù)據(jù)來(lái)源于騰訊新聞和國(guó)家衛(wèi)生健康委員會(huì) http://www.nhc.gov.cn 數(shù)據(jù)從 2020 年的 1 月 15 日到 1 月 26 日。
如果可以拿到 SARS 在 1 月份的數(shù)據(jù)就好了,可惜沒(méi)有一個(gè)比較完整的地方有記錄,基本上衛(wèi)生部發(fā)布的好像是從四月份開(kāi)始。于是只能采用四月份的數(shù)據(jù)了。
評(píng)估的算法:采用了 LSTM(長(zhǎng)短期記憶網(wǎng)絡(luò)),搭建的話 Keras。
LSTM 已經(jīng)是個(gè)老算法了,經(jīng)常用于量化投資(簡(jiǎn)單點(diǎn)來(lái)說(shuō)就是炒股之類,預(yù)測(cè)股票的增長(zhǎng)),非常擅長(zhǎng)于時(shí)間序列的預(yù)測(cè)。
最終調(diào)教后的算法模型是,根據(jù)過(guò)去三天的數(shù)據(jù),可以預(yù)估最新一天的數(shù)據(jù)。
實(shí)驗(yàn)的環(huán)境:數(shù)據(jù)量比較少,直接租了一臺(tái) 16 核 8G 的阿里云的主機(jī)進(jìn)行測(cè)試。
03猜想驗(yàn)證
猜想驗(yàn)證部分直接全部使用 WHO 的 SARS 的數(shù)據(jù)進(jìn)行驗(yàn)證。采用的字段是 Cumulative number of case(s),累計(jì)病例數(shù),我這里就當(dāng)它是確診人數(shù)了。
SARS 的數(shù)據(jù)分別有兩部分,一部分是中國(guó)大陸的,一部分是中國(guó)香港的。在 5 月份后基本已經(jīng)趨于平緩,所以只取了前兩個(gè)月(約 60 天左右的數(shù)據(jù))。
可以看到數(shù)據(jù)涵蓋了病毒爆發(fā)期,病毒平穩(wěn)增長(zhǎng)期,以及病毒被消滅期,比較合適用來(lái)驗(yàn)證算法是否可以擬合整體的曲線。
猜想 1:這里采用前 50 天的數(shù)據(jù)做訓(xùn)練樣本,訓(xùn)練的結(jié)果用來(lái)預(yù)測(cè) 60 天的情況。
預(yù)測(cè)和實(shí)際的對(duì)比如下:
從圖中我們可以看到,在使用了 90% 的數(shù)據(jù)量下,數(shù)據(jù)是擬合的比較好的,肉眼看上去香港的數(shù)據(jù)基本可以用算法完全預(yù)估。
這里給一下數(shù)據(jù)誤差的對(duì)比情況:
- 誤差:|(實(shí)際值-預(yù)估值)/ 實(shí)際值 |
- 中國(guó)大陸:誤差的平均值 0.057, 誤差的均方差 0.060。
- 中國(guó)香港:誤差的平均值 0.053, 誤差的均方差 0.137。
說(shuō)人話就是,模型預(yù)測(cè)的數(shù)據(jù)和實(shí)際的數(shù)據(jù)最多差了 6%。效果是非常理想的。這里我們可以證明第一個(gè)猜想,即 LSTM 可以用來(lái)擬合 SARS 確診人數(shù)的變化情況。
猜想 2:實(shí)際上雖然猜想一得到了證實(shí),但是依舊沒(méi)啥用,因?yàn)檫@里的模型是使用了 90% 的數(shù)據(jù),基本已經(jīng)到了傳播的后期。
那么前期是否可以使用同一個(gè)模型進(jìn)行驗(yàn)證呢? 這里只取中國(guó)大陸的數(shù)據(jù)進(jìn)行試驗(yàn)。
根據(jù)三個(gè)階段(這三個(gè)階段是肉眼判斷截取的,是否合理當(dāng)時(shí)沒(méi)有考慮)截取對(duì)應(yīng)的數(shù)據(jù)進(jìn)行建模,建模后的預(yù)測(cè)效果如下:
在前期的數(shù)據(jù)的預(yù)測(cè)中,到后面兩個(gè)階段實(shí)際的數(shù)據(jù)都比預(yù)測(cè)的數(shù)據(jù)比要大,說(shuō)明在疫情開(kāi)始了爆發(fā)。
在中期的數(shù)據(jù)的預(yù)測(cè)中,其他兩個(gè)階段預(yù)測(cè)的數(shù)據(jù)基本都比實(shí)際的數(shù)據(jù)要大, 說(shuō)明在疫情在前期的感染速度較低,后期的感染速度也變低 。
根據(jù)上面兩個(gè)數(shù)據(jù),是可以推測(cè)是存在一個(gè) Δ 去判斷當(dāng)前的疫情狀況的。但是 Δ 究竟是多少呢?
這里倒是可以根據(jù)好幾個(gè)因素去設(shè)置:
- 斜率的改變
- 誤差的改變
- 轉(zhuǎn)折點(diǎn)的個(gè)數(shù)等
這里就偷懶了,可以明顯看到各個(gè)時(shí)期都有一個(gè)或者多個(gè)轉(zhuǎn)折點(diǎn)(消亡期不算)。
直接取最接近轉(zhuǎn)折點(diǎn)的誤差率來(lái)計(jì)算:
- 在爆發(fā)期里面,最靠近轉(zhuǎn)折點(diǎn)的誤差值是 0.21。
- 在控制期里面,最靠近轉(zhuǎn)折點(diǎn)的誤差值是 0.14 。
- 兩個(gè)取平均作為 Δ 的值,也就是 0.175 。
04新型冠狀病毒確診數(shù)據(jù)的預(yù)測(cè)和驗(yàn)證
分別取前 6 天的數(shù)據(jù)(到 20 號(hào)),取前面 9 天的數(shù)據(jù)(到 25 號(hào))的數(shù)據(jù)代入模型進(jìn)行預(yù)估:
為什么選 20 號(hào)呢,20 號(hào)主要是央視有采訪鐘南山大佬,而且第一次說(shuō)明了人傳人的存在,以及 14 名醫(yī)護(hù)被感染。
我覺(jué)得應(yīng)該算是開(kāi)始重視這個(gè)病毒的一個(gè)點(diǎn),隨后各地開(kāi)始上報(bào)疫情,發(fā)布以及響應(yīng)等。
再往前的時(shí)間點(diǎn)就數(shù)據(jù)就比較缺失了,模型精準(zhǔn)度已經(jīng)失去了使用的價(jià)值,所以采取了 20 號(hào)的這個(gè)時(shí)間點(diǎn)作為分隔來(lái)建造模型。
如果以到 20 號(hào)的模型來(lái)估算的話,第一次誤差偏離 0.17 的時(shí)間是 23 號(hào),誤差為 0.19。23 號(hào),廣東,浙江啟動(dòng)了一級(jí)響應(yīng),確診的病人增多。
但個(gè)人感覺(jué)應(yīng)該是檢測(cè)的方法變強(qiáng)導(dǎo)致的,側(cè)面來(lái)看,模型的確檢測(cè)除了異常值,不過(guò)并不能夠說(shuō)明病毒變強(qiáng)了。
如果以到 24 號(hào)的模型來(lái)看,預(yù)估的 25 號(hào)的數(shù)據(jù)是 1877,實(shí)際的數(shù)據(jù) 1972,誤差率在 0.04,未到偏離值。
所以根據(jù)這個(gè)模型推斷,當(dāng)前疫情還在持續(xù)擴(kuò)散中,但是并沒(méi)有進(jìn)一步惡化,可能國(guó)家的高度重視和很多省份都開(kāi)始參與其中有關(guān)系。
依照當(dāng)前的模型,明天的確診人數(shù)的預(yù)估值是 2770,加上 0.17 的誤差的話:
- 如果實(shí)際的確診人數(shù)>3337,說(shuō)明疫情加重。
- 如果實(shí)際的確診人數(shù)<2367,說(shuō)明疫情正在被控制。
- 如果處于中間,那還是依舊在擴(kuò)散發(fā)展中,但并未惡化。
再次聲明:以上的觀點(diǎn)和結(jié)論都屬于依據(jù)當(dāng)前的確診人數(shù)所作的推斷,毫無(wú)參考的意義和價(jià)值。如果數(shù)據(jù)剛好對(duì)了,不能說(shuō)明什么,如果數(shù)據(jù)錯(cuò)了,證明這個(gè)模型真的不行。
那么,如果我們帶入 SARS 最嚴(yán)重的的時(shí)候,會(huì)怎么樣?
還是按照誤差 0.17 來(lái)算,在 23 號(hào),誤差達(dá)到了 0.18,也就是 3 天前,按照這個(gè)模型的數(shù)據(jù)推算,新型冠狀的病毒傳染性比 SARS 要強(qiáng)。 但很可能是和春運(yùn)有關(guān)系,畢竟數(shù)據(jù)的時(shí)間不一致。
再再次聲明:以上的觀點(diǎn)和結(jié)論都屬于依據(jù)當(dāng)前的確診人數(shù)所作的推斷,毫無(wú)參考的意義和價(jià)值。如果數(shù)據(jù)剛好對(duì)了,不能說(shuō)明什么,如果數(shù)據(jù)錯(cuò)了,證明這個(gè)模型真的不行。
05總結(jié)
寫這個(gè)的目的純粹是為了探討和研究,實(shí)際上,真的要寫一個(gè)這種疫情預(yù)測(cè)和評(píng)估的系統(tǒng),需要非常多的參考的數(shù)值。
比如醫(yī)護(hù)人員的數(shù)量,檢測(cè)手法準(zhǔn)確率,時(shí)間,病毒的潛伏期等等,需要非常多的人力物力才可以編寫完成,像本文這種只靠單一維度的輸入去判斷和預(yù)估的模型和玩具沒(méi)什么區(qū)別。
但是在編寫的過(guò)程中也發(fā)現(xiàn)很多問(wèn)題,例如政府之前的披露的數(shù)據(jù)真的非常少,疫情的相關(guān)數(shù)據(jù)還是多方尋找才找到一部分 。
希望在這次的疫情中保留比較詳細(xì)的數(shù)據(jù):
- 例如支援的物品的統(tǒng)計(jì),損耗和使用情況等
- 例如病人的數(shù)量對(duì)物品的需求等
- 例如疫情各個(gè)時(shí)期需要多少的物資統(tǒng)計(jì)等
這些都可以作為系統(tǒng)的的輸入,借助這些數(shù)據(jù),打造一個(gè)強(qiáng)大完整的疫情監(jiān)控和評(píng)估系統(tǒng),甚至不是疫情,而是重大事件的監(jiān)控和評(píng)估系統(tǒng),待下次再出現(xiàn)疫情、災(zāi)情,可以快速的調(diào)度全國(guó)的資源進(jìn)行處理和援助。
最后,祝大家春節(jié)快樂(lè),多注意個(gè)人衛(wèi)生,帶好口罩,不要放松警惕。