燕 楊, 郭皓鈺, 魏宇航, 尤紫如, 肖志強, 黃文博
(1. 長春師范大學 計算機科學與技術學院, 長春 130032; 2. 吉林大學 白求恩第一臨床醫(yī)學院, 長春 130021; 3. 吉林大學 地球科學學院, 長春 130021)
目前, 新型冠狀病毒(2019 coronavirus disease, COVID-19)正在世界范圍內廣泛傳播. 因此, 準確檢測COVID-19確診病例及疑似病例的傳播趨勢, 制定切實可行的防控措施, 以減少COVID-19突然爆發(fā)導致的人員傷亡和經濟損失至關重要[1]. 目前, 通過動力學算法對COVID-19疫情傳播趨勢進行研究和分析已有許多成果. 例如: 崔景安等[2]把新發(fā)傳染病動力學算法應用于COVID-19檢測, 并利用該算法與再生矩陣相結合, 計算得到了控制措施實施過程中的有效再生數(shù)或控制再生數(shù); 王志心等[3]根據SEIR傳播理論, 通過機器學習法預測了疫情拐點及確診人數(shù); Shen等[4]在現(xiàn)有流行病學資料和動力學算法的基礎上, 檢測了疫情的高峰時間和規(guī)模及指定日期感染人數(shù); 魏永越等[5]通過構建SEIR(susceptible-exposed-infectious-removed)+CAQ(SEIR with infected components, asymptomatic infected, and quarantined)算法, 預測了疫情的終止時間及在防控措施不變前提下全國累計確診病例數(shù)目; 康觀龍等[6]也利用該算法對COVID-19形式進行了檢測, 但由于未考慮到潛伏期也具有感染性, 所以仿真實驗結果與實際公布數(shù)據有差距. 研究表明, COVID-19的潛伏期患者具有較強的傳播能力, 而疫情傳播動力學算法忽略了潛伏期患者導致的傳播風險; 且當前檢測方法中均未考慮防控措施與集中收治等因素對疫情的遏制作用. 因此, 本文針對COVID-19疫情的傳播特點, 首先分析傳統(tǒng)SEIR算法的優(yōu)缺點, 然后對算法進行改進, 使其更適用于COVID-19疫情傳播趨勢的分析和檢測. 實驗結果表明, 本文算法比目前已有的其他算法更有效.

圖1 SEIR算法的四類人群感染階段Fig.1 Four types of population infection stages of SEIR algorithm
傳統(tǒng)SEIR算法將檢測人群分為四類, 易感人群S(Susceptible)、潛伏人群E(Exposed)、感染人群I(Infective)和移除人群R(Removed). 易感人群指未感染但缺乏免疫能力, 與感染者接觸后易受到感染的群體; 潛伏人群指處在潛伏期的感染者, 不具備傳染能力; 感染人群指已感染的人; 移除人群指因病愈或死亡而不再參與感染和被感染過程的人. SEIR算法的四類人群感染階段如圖1所示. 其中: 接觸率β表示易感人群(S)和潛伏人群(E)之間傳播疾病的概率; 轉換率δ表示潛伏個體具有傳染性的比率, 若平均潛伏期為Y, 則δ=1/Y; 康復率γ表示感染后平均免疫時間的倒數(shù), 即γ=1/D, 其中D為平均免疫時間; 在康復階段后, 感染人群進入移除階段(恢復或死亡). SEIR算法的微分表達式為


設S(t),E(t),I(t),R(t)分別表示隨時間變化易感染人群、潛伏期人群、確診人群以及移除人群的變化, 設單位時間為t, 則每隔一段時間后, 易感染人群、潛伏期人群、確診人群以及移除人群的數(shù)量為
由一階導數(shù)的定義可知, 在單位時間t內x的變化為
當Δt→0+時, 可由式(5)~(8)推出式(1)~(4). 傳統(tǒng)SEIR算法成立的前提是假設一個封閉的種群, 人口總數(shù)固定, 沒有出生, 沒有死亡, 也沒有新個體的引入, 人口混合居住在一起, 處于潛伏狀態(tài)的個人已經被感染, 但不具有傳染性. 而事實表明, COVID-19病原菌的潛伏時間與感染時間呈均勻分布, 潛伏期越長, 傳染性越強. 即傳統(tǒng)SEIR算法認為正處在潛伏期的人沒有傳染能力, 但COVID-19在潛伏期也具有一定的感染性. 并且算法建立在無外界干預的情形下, 不能處理管控帶來的變化. 因此, 本文針對該問題進行改進.
在人均傳染率一定的情形下, COVID-19病例接觸率在公眾不了解和病毒變異的早期增加, 在嚴格的防控政策下減少. 而傳統(tǒng)SEIR算法是建立在外力無干預的情形下, 因此, 本文對傳統(tǒng)SEIR算法中的接觸率β添加一個衰減函數(shù), 通過對數(shù)據的擬合, 得到隨時間增長而改變的β, 使算法能更好地適應管控防疫措施帶來的變化. 假設接觸率β遵循Weibull函數(shù)的斜率函數(shù), 通過該函數(shù)可得到接觸率β每天的估計值, 該估計值將用于SEIR的動態(tài)算法. Weibull函數(shù)定義為
β(t)=exp{-(t/L)kln2},
(9)
其中:L為衰減速率, 可以是衰減到1/2的時間, 也可以是完全衰減的時間;k為形態(tài)參數(shù)(無維數(shù));t為時間;β(t)為接觸率隨時間變化的函數(shù).
由于COVID-19中處于潛伏期的人仍然有感染他人的能力, 因此, 計算易感人群隨時間的變化ds/dt時接觸率將不是β(S×I)/N, 而是β(S+δ×E)×I)/N.將處于潛伏期的人也計算在內, 所以潛伏人群隨時間的變化dE/dt應改為β(S+δ×E)×I)/N-δ×E.因此
其中δ為轉換率,β為接觸率,I為感染人群,E為潛伏人群,S為易感人群,t是時間,N為總人口數(shù). 引入CFR(case fatality rate)作為死亡率, 移除人數(shù)中包含死亡人數(shù)DF為
DF=γ×I×CFR,
(12)
其中γ為康復率,I為感染人群, CFR為死亡率.
在Weibull函數(shù)β(t)、死亡率CFR、形態(tài)參數(shù)k和衰減速率L確定的情形下, 通過解SEIR的微分方程, 可得到易感人群S、潛伏人群E、感染人群I和移除人群R關于時間t的函數(shù). 從而做出對確診人數(shù)的趨勢估計, 與實際確診人數(shù)進行對比, 計算其均方差MSE作為損失函數(shù), 優(yōu)化損失函數(shù)即可得到最佳參數(shù), 使用這些最佳參數(shù)對疫情傳播趨勢進行檢測.
下面對改進的SEIR算法進行仿真實驗, 并與ARIMA算法及原始SEIR算法的檢測結果進行對比. 仿真實驗平臺為Python3.6, tensorflow2框架及Jupyter notebook. 給定的初始條件為轉換率δ=0.2, 康復率γ=0.37, 接觸率β=2.5. 本文實驗數(shù)據來自COVID-19開放研究數(shù)據集(CORD-19)[7].
為能有效與其他算法檢測結果進行比較, 本文采用均方誤差(mean square error, MSE)作為最終評價標準, 均方誤差是反映估計量與被估計量之間差異程度的指標. 設時間t是根據子樣本確定總體參數(shù)θ的一個估計量, (θ-t)2的數(shù)學期望稱為估計量t的均方誤差, 即δ2+b2, 其中δ2與b分別是t的方差與偏置.
當環(huán)境中全為易感染人群時, 平均每名患者在其患病期可傳染的人數(shù)為基本再生數(shù), 記為R0. 在t時間段內平均每個患者在其患病期間感染的人數(shù)稱為有效再生數(shù), 記為Rt. 基本再生數(shù)是判斷疫情爆發(fā)狀態(tài)的關鍵指標, 當R0>1時, 每個患者在其患病期至少感染一個人, 此時疫情將大面積擴散; 當R0<1時疫情將會逐步減輕. 有效再生數(shù)在判斷疫情傳播時具有相同作用. 經過多次交叉測試, 最終將基本再生數(shù)R0=2.2, 死亡率CFR=0.02, 形態(tài)參數(shù)k=2, 衰減速率L=50, 作為初始值代入算法進行檢測.
為驗證算法的擬合及檢測效果, 本文將數(shù)據分為訓練集和測試集兩部分. 利用訓練集的數(shù)據訓練算法, 測試集的數(shù)據驗證算法的準確程度并判斷算法的檢測效果. 圖2為本文算法的檢測結果. 由圖2可見, 以數(shù)據集中的紐約數(shù)據為例, 經過9 000次訓練后, 本文算法檢測結果與預期基本符合.
下面將本文算法與傳統(tǒng)SEIR算法、ARIMA算法及文獻[8]算法進行比較, 結果如圖3~圖6所示. 由圖3~圖6可見, ARIMA算法與傳統(tǒng)SEIR算法均無法檢測到疫情拐點, 并且ARIMA時間序列算法由于誤差的迭代, 隨著時間的增加, 偏差也逐漸增大, 最終呈現(xiàn)出指數(shù)增長, 而文獻[8]算法修改β函數(shù)時未能從根本上表達COVID-19的特點. 本文算法對數(shù)據集中各地趨勢檢測的準確率均明顯高于其他算法, 針對該數(shù)據集特點采用Weibull函數(shù)的結果比Hill衰減函數(shù)的效率更高, 且在長期檢測方面, 由于本文算法引入了衰減函數(shù), 使得傳染率β能隨時間變化, 符合在防控措施下的疫情發(fā)展需求.

圖3 改進SEIR算法檢測結果Fig.3 Detection results of improved SEIR algorithm

圖4 傳統(tǒng)SEIR算法檢測結果Fig.4 Detection results of traditional SEIR algorithm

圖5 ARIMA算法檢測結果Fig.5 Detection results of ARIMA algorithm

圖6 文獻[8]算法檢測結果Fig.6 Detection results of literature [8] algorithm
本文算法與其他算法仿真實驗結果的均方誤差MSE對比結果列于表1. 由表1可知, 平均MSE分別為: 本文算法0.11; 原始SEIR算法1.93; ARIMA算法0.33; 文獻[8]算法0.40. 表明本文算法性能最好.

表1 本文算法與其他算法的MSE對比
綜上所述, 本文通過改進SEIR算法對COVID-19病毒的傳播與發(fā)展情形進行了檢測, 并與其他3種算法進行了對比仿真實驗. 實驗結果表明, 本文改進SEIR算法衰減函數(shù)的形態(tài)參數(shù)k值調整為1時, 檢測趨于穩(wěn)定, 相比其他算法均方誤差MSE值顯著降低, 對COVID-19病毒的傳播與發(fā)展檢測準確率更高, 可為制訂未來疫情防控決策提供理論支持與借鑒.