周偉鴻,朱思霖
(廈門大學嘉庚學院,福建 漳州 363105)
傳染病(Contagious Diseases)的有效防治是全人類面臨的共同挑戰。通過大數據,特別是數據的時空關聯特性,精準預測傳染病的傳播趨勢和速度,將有助于人類社會控制傳染病,進而保障社會公共衛生安全。本文以2020 IKCEST第二屆“一帶一路”國際大數據競賽暨第六屆百度&西安交通大學大數據競賽為依托,針對賽題所構造的若干虛擬城市,構建傳染病群體傳播預測模型。根據該地區傳染病的歷史每日新增感染人數、城市間遷徙指數、網格人流量指數、網格關聯強度和天氣等數據,預測群體未來一段時間每日新增感染人數。高致病性傳染病的傳播趨勢的精準預測,在一定層面上不但可以為疫情防控決策和效果評價提供參考,而且對疫情防控具有一定的應用價值和社會價值。
2020 IKCEST賽題共涉及11個虛擬城市的90天的傳染病感染情況,每個城市有若干重點區域。初賽要求針對所提供的5個城市,利用每個城市各區域前45天的樣本數據進行訓練,預測每個城市各區域后30天每天的新增感染人數。復賽要求針對包含初賽城市在內的11個城市,利用每個城市各區域前60天的樣本數據進行訓練,預測每個城市各區域后30天每天的新增感染人數。本文以初賽為例,對高致病性傳染病的傳播趨勢預測方案進行說明。
2020 IKCEST賽題中,所給數據均為多維度的時間序列數據,而傳統時間序列模型,如ARIMA模型只能通過新增感染人數本身預測新增感染人數,無法關聯遷移指數等其他維度的特征,故在方案設計中選用具有高效解釋性的機器學習模型—LightGBM模型進行預測。在數據呈現方面,感染人數變化幅度及波動較大,并且統計的特征均為時間序列數據,缺乏固定特征,感染人數難以與單項特征相關,故而需要針對訓練數據特點進行特征工程。針對賽題特點及數據特點,本文提出的高致病性傳染病的傳播趨勢預測流程如圖1所示。

圖1 方案流程
在本實驗中,須通過5個城市前45天的感染人數對后15天的感染人數進行預測。競賽數據訓練集共包括5個城市,每個城市目錄下包含6個文件,其中infection包含各區域每天新增感染人數數據,migration包含城市間遷徙指數數據,density包含網格人流量指數數據,transfer包含網格關聯強度數據,grid_attr包含網格歸屬區域數據,weather包含天氣數據。復賽新增6個城市,訓練集的城市數量從5增加到11;訓練集的時間窗口從45天增加到60天;其他不變。具體文件信息見表1所列。

表1 競賽訓練數據信息
賽題數據主要包括各個城市每天的新增感染人數、遷徙城市以及指數、人流量指數、人口遷移強度、天氣數據。對數據進行分析后,初步得出結論:數據規模大,數據量約為4 GB;數據間經緯度對應有大量缺失;分析的數據為歷史時間序列數據,缺乏固定特征與聯系。
根據數據特點及分析結論,構建了基于統計特征和lagging特征的特征工程。即對數據表格根據日期進行拼接,以日期分組構造人流量指數、天氣數據等統計特征,通過新增感染人數的歷史數據構造lagging特征,具體說明如下。
2.2.1 構造統計特征
通過日期、區域進行劃分,統計感染人數的統計特征,比如新增感染人數的均值、方差、最大值、最小值、偏差、峰度、四分位數等特征以及遷移指數等特征的平均值、中值。
2.2.2 構造lagging特征
lagging特征是時間序列分析中與時間相關的滯后特征,比如可用第一天的新增感染人數作為第二天的一個lagging特征。本文采用長時間序列的lagging,即利用前45天數據預測第一天(即第46天),然后用前46天的數據預測第2天(即第47天),以此類推,lagging特征的具體構造方法如圖2所示。采用長時間序列的lagging特征,讓模型更好地抓住歷史感染特征的同時,可以較準確地完成第天的感染人數預測或未來感染人數的預測。

圖2 lagging特征構造示意圖
LightGBM模型是由微軟亞洲研究院提出的一種決策樹分布式梯度提升算法GBDT的框架,因其具有高訓練效率、低內存使用,可處理大規模數據,支持直接使用類別特征等優勢而被廣泛應用。LightGBM模型包含的4種改進算法及其優勢如圖3所示。

圖3 LightGBM模型包含的4種改進算法及其優勢
賽題所給數據的數量大、差異性大,應用LightGBM模型時,單邊梯度采樣算法GOSS(Gradient-based One-Side Sampling, GOSS)并未直接對樣本進行訓練,而是根據梯度對訓練集數據的特征進行排序,通過預設比例,保留梯度大的樣本,對梯度小的樣本隨機保留,同時放大小梯度樣本帶來的信息增益,從而避免數據分布的改變。通過GOSS算法處理,能夠使模型訓練時關注“未被充分訓練”的樣本數據,從而完成海量數據的充分訓練。另外,對于訓練數據具有標簽跨度大、異常值多的特點,利用直方圖算法,將大規模的數據放在了直方圖中,使得特征占用內存更小,加速了模型的訓練。對于樣本的特征維度很高、樣本空間稀疏的特點,LightGBM模型采用EFB(Exclusive Feature Bundling, EFB)算法進行特征優化,通過稀疏特征的合并、互斥特征的綁定等方式進一步優化了模型的訓練速度。最后,通過按葉子生長leaf-wise算法防止了數據過擬合。綜上可知,對于解決高致病性傳染病的傳播趨勢預測問題,LightGBM模型具有迭代速度快、可解釋性強等特點。
機器學習中,不同的參數模型會對訓練效果產生不同的影響,本方案中使用的LightGBM模型的超參數具體含義及設置見表2所列。在樹模型中,當遇到過擬合時,可以首先考慮降低樹的深度(max_depth參數)的值,而數的葉子數量(num_leaves)的取值最好為2max_depth,其中max_depth為樹的最大深度,超過此值也容易導致模型過擬合;此外,為了平衡模型誤差以及模型復雜度,也可采用正則化參數,即Lambda參數。在遇到過擬合的情況時,也可引入bagging_fraction參數。

表2 LightGBM模型的超參數含義及設置
為了評估預測效果、衡量觀測值與真值之間的誤差,本文采用回歸評價指標均方根誤差(Root Mean Square Error,RMSE)對預測結果進行評估,原理是計算觀測值和真值間偏差的平方和與觀測次數比值的平方根,如式(1)所示。

在預測過程中,隨著時間的推移,新增感染人數的變化幅度越來越大,數據的波動性越來越強,在統計特征上表現為感染人數的方差越來越大,數據的穩定性較差。本文通過對新增感染人數取對數變換來降低異方差性及共線性的影響,數據的形態特征更接近于正態分布。為了使數據與初始狀態保持一致且具有可解釋性,在經過LightGBM模型預測后,對預測結果進行指數變換,從而得到最終的新增感染人數的預測結果。本文選取了A、B、C、D、E 共5個城市的若干區域繪制了新增感染人數預測圖,如圖4所示。從圖中可以看出,不同城市的新增感染人數的走勢有各自的特點,本方案對于A、B城市的新增感染人數有較好的預測效果,對于C、D城市預測偏差較大。對5個城市的總體預測結果,即5個城市不同區域的新增感染人數的預測值與真實值的均方根誤差RMSE,見表3所列。

圖4 5個城市的新增感染人數預測結果

表3 5個城市新增感染人數真實值與預測值均方根誤差
高致病性傳染病的傳播給人類的生存帶來威脅,根據疾病傳播特點進行及時干預和有效防控具有重要意義。本文提出一種基于LightGBM模型的高致病性傳染病的傳播趨勢預測方案。在方案中,根據感染人數的數據特點,從統計和時序兩個方面構造了多類統計特征和lagging特征的特征工程,并利用LightGBM模型對新增感染人數進行了預測,取得了較好的預測結果,具有較低的RMSE。后續對于本實驗的優化方面,將主要從以下兩個方向進行:
(1)多角度的特征工程。例如可考慮多階的統計特征,進一步挖掘人流量指數的潛在特征;還可以根據數據中給出的區域經緯度,構建區域圖,挖掘鄰近區域間新增感染人數的具體情況。
(2)融合多種模型。比如可以嘗試LSTM的多輸入單輸出模型,該方法在序列建模問題上有一定優勢;還可以以城市為粒度進行考慮,使用SEIR(Susceptible Exposed Infected Removed)模型進行預測,最后通過模型的集成進一步提高準確率。