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