李瑞沂 等



王瑞? 馮和棠? 曹沛根? 黃猛
摘? 要:基于動態SEIR模型的小規模疫情數據預測研究可為目前社會各界的生活安排、工作規劃等提供重要的參考依據。傳統的SEIR模型中感染率是恒定的,但在新冠病毒傳播情況下,接觸率隨時間而變化,進而預測結果受到影響。同時現有的大規模疫情數據受外界因素影響較大,傳統的SEIR模型無法完全適用于復雜情況下的疫情預測,故提出一種基于動態的SEIR模型的預測方法。將接觸率通過邏輯函數計算得出,對小規模疫情數據進行預測,該模型的構建與研究具有一定的應用價值。
關鍵詞:動態SEIR模型;傳染病模型;趨勢分析
中圖分類號:TP391? 文獻標識碼:A? 文章編號:2096-4706(2023)23-0146-05
Prediction of Small-scale Epidemic Situation Based on Dynamic SEIR Model
LI Ruiyi, WANG Rui, FENG Hetang, CAO Peigen, HUANG Meng
(School of Information Engineering, Institute of Disaster Prevention Technology, Langfang? 065201, China)
Abstract: The prediction research of small-scale epidemic situation data based on dynamic SEIR model can provide an important reference for the living arrangements and work planning of all sectors of society. In the traditional SEIR model, the infection rate is constant, but in the case of COVID-19 transmission, the exposure rate changes with time, and then the prediction results are affected. At the same time, the existing large-scale epidemic situation data are greatly affected by external factors, and the traditional SEIR model cannot be fully applied to the epidemic situation prediction in complex situations. Therefore, a prediction method based on dynamic SEIR model is proposed. The exposure rate is calculated by logical function to predict small-scale epidemic situation data. The construction and research of this model has certain application value.
Keywords: dynamic SEIR model; infectious disease model; trend analysis
0? 引? 言
近幾年來,新冠疫情對社會發展有巨大影響,對于疫情趨勢的預測成為目前待解決的關鍵問題。傳統的傳染疾病模型有SIS、SIR、SEIR模型等,大部分可以被用于評估傳染疾病的發展趨勢,但傳統的模型存在變量較少、恒定的參數較多、無法準確評估新冠病毒發展趨勢等問題,同時對于預測數據的選取也將直接影響預測效果。
針對傳統的SEIR模型無法動態適應新冠病毒接觸率隨時間變化的問題,本文提出采用改進的動態SEIR模型來進行預測,假設遵循邏輯函數的斜率,求得每天的估計值,通過傳統模型訓練出隨時間變化的最優參數,進而使接觸率隨時間變化。由于大規模疫情各項數據變化梯度較大,受毒株變異、防控政策等外在因素影響,直接降低了SEIR模型預測結果準確性,故本文采用小規模疫情數據進行預測,對小規模疫情趨勢做科學評估。
1? 數據來源
數據爬取自2020年1月20日以來丁香醫生官網(https://ncov.dxy.cn/ncovh5/view/pneumonia)公布的各省份每天的累計確診人數、新增人數、治愈人數、死亡人數等數據。
2? 模型的建立過程
2.1? 傳統的SEIR模型
SEIR模型是一種傳染病基礎數學模型,該模型是研究傳染病的傳播速度、感染范圍、傳播途徑以及動力學機理等問題的一種非線性動力學模型,對指導傳染病的有效預防和控制有重要意義[1-3]。該模型將人群分為4類,分別是易感人群、暴露人群、感染人群以及康復人群,分別用S、E、I、R來表示。對4種人群之間的關系建立微分方程以構成SEIR模型。
2.2? 傳統的SEIR模型建立
在傳統的SEIR模型中,人群被劃分為易感人群(S)、暴露人群(E)、感染人群(I)和康復人群(R)[4,5],其中易感人群到暴露人群存在接觸率,按照比例α進行轉化;暴露人群到感染人群存在感染率,按照比例β進行轉化;感染人群到康復人群存在康復率,按照比例γ進行轉化[6-8]。傳統SEIR模型如圖1所示。
假設總人數為M,M = S + E + I + R,感染者接觸人數為Q,則可以建立以下微分方程[9-11]:
2.3? 動態的SEIR模型的動態參數確立過程
在傳統的SEIR模型,感染率以及人均感染率是恒定的,而在COVID-19情況下,接觸率隨著時間的變化[12-15],在早期階段由于公眾的無知和病毒變異的情況下增加,在嚴格控制政策下減少。所以假設遵循邏輯函數的斜率,列出計算公式,通過它將得到一個每天的估計值,此結果將被用于動態SEIR模型,公式如下:
其中t為發現首例感染病例的時間,α為一個正則化參數,C為一個尺度常數,m為偏置。利用損失函數進行計算,以求此模型在預測給定的參數集方面的效果。為了得到隨時間變化的最優值,在這種情況下求一個均方損失函數,正則化參數α、參數C、偏置m將由均方損失函數進行估計[16,17]。均方損失函數公式如式(6)所示:
其中Ireal,i的值是根據官網爬取的現存確診病例數據得出,Isiml,i是根據SEIR模型的微分方程計算得出。
使用梯度下降的優化算法來更新參數C、m、α。最終求得參數C、m、α的最優值,將此最優參數作為動態SEIR模型的接觸率參數。
2.4? 動態的SEIR模型的初步建立
SEIR模型中的未知變量分別為S、E、I、R、α、β、γ、M。其中,假設易感人群就是全部人群易感,各省份人口統計局統計人口總數據即為易感人群數量,因此,S = M =某省份總人口數據,假設初始潛伏者數量為0,感染者為1,康復者為0,因此,E = 0、I = 1、R = 0。其次,根據動態的SEIR模型動態參數建立過程可得知接觸率是分別由參數C、m、α控制的,從而接觸率的轉化比例α的值是動態變化的。據相關研究報道,暴露人群轉換為感染人群概率為β,此值暫時初始化為1/8,康復率γ為治愈人數/累計患病人數,假設平均恢復時間為14天[18,19],與SARS相似,因此恢復率初始為γ = 1/14。根據以上初始化數據建立動態的SEIR模型。
3? 模型的評估方法
對于一個預測模型來說,最重要的是要能對新出現的數據樣本準確進行預測。所以在測量誤差時,必須著重考慮這一點。為了全面評估動態SEIR模型的預測效果,本節將介紹3種本實驗用到的誤差評估方法。
3.1? 平均絕對誤差
平均絕對誤差(Mean Absolute Deviation, MAD)是所有單個觀測數和算術平均數的誤差的絕對值的平均數。平均絕對誤差能夠避免偏差互相抵消的問題,從而能夠精確反映實際估計偏差的程度。公式如下:
3.2? 平均絕對百分比誤差
平均絕對百分比誤差(MeanAbsolute Percent Error, MAPE)用來度量真實值和預測值之間相對誤差的大小,是誤差和真實值之間的比例。MAPE提供了一個便于比較的benchmark,即0值,當預測的y和真實的y完全相同的時候,MAPE值最小為0,因此MAPE的結果越接近于0越好,說明模型的預測精度越高;反之,則說明模型的預測精度越低。其定義如式(8)所示:
3.3? 線性回歸相關系數R2
R2是衡量模型擬合度的一個量,是一個比例形式,被解釋方差/總方差。
在回歸模型中,因變量(y)總的方差(信息)可以被稱作總平方和(Total Sum of Squares, TSS),它由兩部分組成:1)模型可以解釋的那部分信息(Model Sum of Squares, MSS)。2)模型解釋不了的那部分信息(Residual Sum of Squares, RSS),也稱為error。
R2指的是模型可以解釋的那部分信息所占的百分比,即MSS / TSS。如果R2越大,那該模型能解釋的部分也就越多,模型就越佳。R2公式如下:
動態的SEIR模型的預測結果分別通過均值絕對誤差、均值絕對百分比誤差、線性回歸相關系數R2加以評價,均值絕對百分比誤差之所以能夠描述準確度在于均值絕對百分比誤差本身適用于評價預測準確度的數據指標,如時間序列的預測等,對于疫情數據,本實驗選擇的是進行數據預處理后的連續的非零值,同時針對小規模的數據進行預測,沒有存在由于數據的數量級的不同而造成數據估計的精度差距很大的問題[20]。
4? 實驗過程及結果
為了更好地測試動態SEIR模型的效果,本文使用華為MateBook D 14筆記本電腦在Windows 10下的sklearn機器學習庫和matplotlib(Python 2D繪圖庫),Python版本為3.7。使用來自丁香醫生官網的天津市、上海市2個地區的部分疫情數據創建數據集進行實驗探究。本節將對實驗數據集處理、參數設置進行介紹并對實驗結果加以說明。
4.1? 數據處理
由于大規模疫情數據存在毒株變異、不同政府的不同政策干預,數據梯度差異較大,對于模型參數的設置十分不友好,故本文采用的研究數據是來自全國各省份數據中篩選出來的各省份小規模疫情數據,比如選取天津市2021年8月10日至2021年8月31日、天津市2022年7月1日至2022年7月21日、上海市2021年1月21日至2021年2月11日、上海市2021年11月19日至2021年12月9日的2個地區小規模時期的疫情數據作為訓練集進行實驗。此部分數據受外界因素干擾相對較小,治愈率和感染率較為穩定。通過減法計算出每一天的數據距離發現首例感染病例的時間天數,記為Days,其中現存確診人數 =累計確診人數-治愈人數-死亡人數,epoch值設為10 000,人口數據為各省份總人口數據,并結合α、β、γ、C、m等初始值作為參數輸入到動態SEIR模型中,將20天的數據作為訓練集train_data,后10天數據作為測試集test_data,預測未來10天的數據predict_data。
4.2? 處理后的數據展示
本實驗用Python將數據轉化為動態SEIR模型所需要的I、E、R參數。用Tail()方法進行部分數據展示。如表1所示,是2021年8月天津市訓練集部分數據展示。
如表2所示,是2022年7月天津市訓練集部分數據展示。
如表3所示,是2021年2月上海市訓練集部分數據展示。
如表4所示,是2021年12月上海市訓練集部分數據展示。
4.3? 動態SEIR模型實驗過程
以天津市為例,首先按照傳統SEIR模型的相關參數epoch = 10 000,population = 13 866 000(天津市總人口),β = 1/8,γ = 1/14,c = 5,m = -10,α = 0.08,以及天津市部分疫情數據進行參數輸入,利用梯度下降、均方誤差求解到最優參數pre_c0、pre_m0、pre_α,對于動態SEIR模型,首先選取數據的最新值作為數據觀測點,將S的值初始化為S0,E的值初始化為E0,I的值初始化為I0,R的值初始化為R0,即S = S0,E = E0,I = I0,R = R0,預測天數date = 10,β = 1/8,γ = 1/14,c = pre_c,m = pre_m,α = pre_α,致死率death_rate = 0.02,在以上參數模式的設置下,天津市2021年8月10日至2021年8月31日的數據以及天津市2022年7月1日至2022年7月21日數據、上海市2021年1月21日至2021年2月11日數據、上海市2021年11月19日至2021年12月9日數據的預測結果分別如圖2、圖3、圖4、圖5所示。
通過以上結果可以看出,本實驗的初步預測結果與真實值相差較大,MAPE的值均在0.3以上,分析原因,發現新冠疫情小規模數據中的治愈率遠高于1/14,并且致死率比初始的2%要低,對以上兩個數據(治愈率、死亡率)進行調整,取原始數據對應部分的均值作為目標值的初始化值,使模型每次的治愈率、致死率等參數隨著輸入數據變化而變化。
4.4? 實驗結果及分析
經過數據分析和多次研究、修改,本實驗發現不同地區小規模疫情數據的治愈率普遍在90%以上,致死率在0.5%以下。為了更好地進行預測,對于不同地區的數據在治愈率和致死率方面做均值處理,處理結果作為參數傳入模型中,最后的預測結果分別如圖6、圖7、圖8、圖9所示。
通過以上結果對比可以看出,根據數據本身調整參數之后的模型預測準確度大幅度提高,圖像趨勢差距縮小,圖像擬合度基本一致,預測值差距從之前的十位數差距降為個位數,差距大大縮小,預測效果變好。為了從不同角度評判預測準確度,對于動態SEIR模型的小規模疫情數據預測分別采用平均絕對誤差(MAD)、平均絕對百分比誤差(MAPE)、決定系數(R2)進行了誤差評估,結果如表5所示。
通過以上誤差評估結果,可以看出MAD、MAPE以及R2的誤差趨勢基本一致,符合實際。故經過參數調整之后的動態的SEIR模型對于小規模疫情數據的預測準確性較高。
5? 結? 論
本文在傳統SEIR模型的基礎上提出了適用于小規模新型冠狀病毒感染疫情預測的動態SEIR模型。經過了數據爬取、數據處理、數據分析、實驗探究等多個階段。在整個數據階段,確定了數據來源,模型需要的數據字段,并對特殊字段做了相應的數據處理,該階段目的主要是為模型提供重要的數據基礎;在數據分析階段,如何把處理好的數據轉化為模型需要的數據格式是研究重難點,需要對模型的參數進行多次學習研究;實驗探究階段中,由于初始化參數問題(治愈率、死亡率等),導致一開始的預測效果不太好,經過多次分析討論,參數經過調整后,預測效果較好。最終實驗結果表明,經過參數調優之后的動態的SEIR模型可用于小規模疫情預測,為了使模型應用范圍更加廣泛,未來工作計劃將治愈率、死亡率等做深層次的數據分析,進一步完善動態SEIR模型,分析外界因素對模型預測效果的干擾,進一步實現動態SEIR模型更廣泛的應用。
參考文獻:
[1] 董章功,宋波,孟友新.基于SEIR-ARIMA混合模型的新冠肺炎預測 [J].計算機與現代化,2022(2):1-6.
[2] 謝小良,王時雨,成佳祺,等.基于ARIMA與SEIR模型的突發傳染病發病特征與趨勢預測 [J].商學研究,2022,29(2):30-38.
[3] 左慧.基于SEIR模型的新冠肺炎疫情研究 [D].濟南:山東大學,2022.
[4] 甘雨,吳雨,王建勇.新冠肺炎疫情趨勢預測模型 [J].智能系統學報,2021,16(3):528-536.
[5] 趙鑫,孫更新,趙月.基于改進的SEIR模型對新冠肺炎的疫情預測及防控措施的評估 [J].青島大學學報:自然科學版,2021,34(2):1-8.
[6] 楊赟,趙亞男.基于隨機SEIR模型的新冠肺炎傳播動力學分析 [J].東北師大學報:自然科學版,2022,54(4):37-43.
[7] 夏桂林,鄭辰彥.基于SEIR動力學模型的最優疫苗策略 [J].中國預防醫學雜志,2022,23(7):515-520.
[8] 蘇州,萬魯河.基于SEIR模型的新冠疫情防控評價——以哈爾濱市為例 [J].哈爾濱師范大學自然科學學報,2022,38(1):85-94.
[9] 劉志華,曹慧.具有媒體報道和時滯效應的SEIR模型動力學分析 [J].陜西科技大學學報,2022,40(2):201-206.
[10] 周美含,葛洪磊,蔣薇,等.基于SEIR模型的新冠肺炎疫情系統動力學仿真分析——以武漢市為例 [J].中國市場,2022(3):5-7.
[11] 燕楊,郭皓鈺,魏宇航,等.基于改進SEIR算法的疫情傳播趨勢檢測方法 [J].吉林大學學報:理學版,2021,59(6):1511-1516.
[12] 陳靜怡.基于SEIR模型的COVID-19傳播過程及網約車應對策略研究 [J].智能計算機與應用,2021,11(7):205-211.
[13] 田浩.基于改進SEIR模型的COVID-19疫情可視化監測及趨勢預測研究 [D].北京:北京農學院,2021.
[14] 邵俊杰,禹世雄,高婧婧,等.基于SEIR模型的中國山東省與韓國COVID-19疫情早期傳播特征比較分析 [J].華中師范大學學報:自然科學版,2020,54(6):1072-1077.
[15] 秦闖亮,杜金姬,陳海波,等.一隨機COVID-19傳染病模型的動力學行為 [J].應用數學,2022,35(3):553-562.
[16] 王金愷,張虎,賈鵬,等.城市級新冠肺炎(COVID-19)疫情預測和仿真模型 [J].計算機輔助設計與圖形學學報,2022,34(8):1302-1312.
[17] 蔡潔,賈浩源,王珂.基于SEIR模型對武漢市新型冠狀病毒肺炎疫情發展趨勢預測 [J].山東醫藥,2020,60(6):1-4.
[18] 燕磊,孫啟湲,朱菲菲.基于Oriented FAST和MAD的特征匹配圖像自動配準 [J].計算機與數字工程,2017,45(9):1859-1862.
[19] 白云,錢箴,孫玉瑩,等.基于綜合集成預測方法的新冠肺炎疫情預測 [J].系統工程理論與實踐,2022,42(6):1678-1693.
[20] 耿浩,孫佳華,李藝,等.基于BiGRU-Attention網絡的新型冠狀病毒肺炎疫情預測 [J].武漢科技大學學報,2022,45(1):75-80.
作者簡介:李瑞沂(2002—),女,漢族,河北唐山人,本科在讀,研究方向:計算機應用技術、軟件應用。
收稿日期:2023-01-07
基金項目:防災科技學院2022大學生創新創業項目(202211775011)