黃偉 王雅潔 吳洪宇 張明龍 楊冰
(1.貴州貴科大數(shù)據(jù)有限責(zé)任公司,貴州貴陽 550000;2.貴州科學(xué)院,貴州貴陽 550000;3.貴州省分析測試研究院,貴州貴陽 550000)
自2020年1月22日國家衛(wèi)生健康委確認(rèn)貴州省首例輸入性新型冠狀病毒感染的肺炎確診病例以來,截止2021年4月20日24時,貴州省累計報告本地確診病例146例、境外輸入病例1例,累計治愈出院病例145例、死亡病例2例,現(xiàn)有疑似病例0例、無癥狀感染者0例[1]。新型冠狀病毒肺炎(Corona Virus Disease 2019,COVID-19)存在人畜跨界傳播、傳染性強、影響因素多樣、傳播途徑復(fù)雜等特點,導(dǎo)致肺炎疫情發(fā)病急、發(fā)展快、溯源分析難、社會危害大等問題,對我國的醫(yī)療衛(wèi)生系統(tǒng)產(chǎn)生了極大的沖擊。
應(yīng)貴州省委省政府及相關(guān)衛(wèi)生疾控部門疫情防控需要,結(jié)合貴州省疫情發(fā)展態(tài)勢、病毒擴散情況和各地市疫情爆發(fā)的潛在風(fēng)險。本研究基于HDFS分布式存儲和讀取、MapReduce分布式計算和R語言的分布式處理框架、快速建模和可視化優(yōu)勢,實現(xiàn)平臺快速開發(fā)與部署,數(shù)據(jù)的深度挖掘與預(yù)測。通過疫情大數(shù)據(jù)支撐平臺,實現(xiàn)疫情可視化展示,為貴州省委省政府的疫情研判,指導(dǎo)企業(yè)復(fù)工復(fù)產(chǎn),為衛(wèi)生疾控部門采取相應(yīng)防疫措施,為人民群眾提升自我防范意識,提供強有力的科技支撐。
R語言是集統(tǒng)計分析與圖形顯示于一體的開源統(tǒng)計軟件平臺,作為統(tǒng)計學(xué)家的專屬工具,主要用于統(tǒng)計分析、繪圖、數(shù)據(jù)挖掘。但受內(nèi)存限制,R無法有效處理當(dāng)今TB、PB甚至ZB級的大數(shù)據(jù)集和實時數(shù)據(jù)流[2]。Hadoop得天獨厚的分布式處理框架可擴展用于大型數(shù)據(jù)集(PB范圍)上的復(fù)雜操作和任務(wù),HDFS的高容錯性、高伸縮性等優(yōu)點使用戶可以利用集群的計算和存儲能力,完成海量數(shù)據(jù)的處理。鑒于Hadoop缺乏對數(shù)據(jù)統(tǒng)計、建模及可視化的能力,借助R語言完成MapReduce算法,將R語言的算法模型賦予分布式并行計算能力,利用高可靠性、高擴展性、高效性、高容錯性與廉價性等特點,將R與Hadoop結(jié)合打造大數(shù)據(jù)的完美解決方案[3]。
本研究應(yīng)用Logistic[4]回歸建立了疫情感染人數(shù)預(yù)測模型,利用確診病例數(shù)的變化趨勢作為預(yù)測的依據(jù),以輸入貴州病例數(shù)比例相近的七個省份首次出現(xiàn)兩位數(shù)確認(rèn)病例的時間節(jié)點為模型擬合的起始點,分別運用多項式、指數(shù)、冪等方法對此前病例數(shù)進行線性和非線性擬合,應(yīng)用最小二乘法,尋找最優(yōu)解,根據(jù)擬合優(yōu)度及疑似病例數(shù)選擇次優(yōu)擬合優(yōu)度的擬合模型進行預(yù)測未來五日確診病例數(shù),實現(xiàn)貴州省確診病例數(shù)發(fā)展趨勢預(yù)測,分析疾病發(fā)生規(guī)律。
為科學(xué)解讀疫情數(shù)據(jù)內(nèi)涵,提高數(shù)據(jù)易讀性,用結(jié)構(gòu)化圖標(biāo)呈現(xiàn)疫情信息大數(shù)據(jù)趨勢,本研究借助Echarts技術(shù)提供的多元化可視化圖形庫以及地圖元素[5],對國內(nèi)31個省、市、自治區(qū)衛(wèi)生健康委員會官方網(wǎng)站數(shù)據(jù)進行可視化分析與展示,建立動態(tài)色斑圖、疫情熱力圖、患者關(guān)系圖、患者運動軌跡圖、復(fù)工復(fù)產(chǎn)區(qū)域分類圖、全國重點省市遷入貴州及貴陽趨勢圖,為疫情防控提供決策支撐。
基于微服務(wù)架構(gòu),本研究建立了貴州疫情大數(shù)據(jù)支撐平臺,采集、整理國外及國內(nèi)31個省、市、縣、自治區(qū)衛(wèi)生健康委員會官方網(wǎng)站公布數(shù)據(jù)和國內(nèi)主流媒體報道信息,覆蓋從患者信息、疫情檢測技術(shù)、政策措施、文獻資料、人口流動數(shù)據(jù)各板塊的數(shù)據(jù)集成,應(yīng)用百度的遷徙指數(shù)結(jié)合比例信息(遷徙人口比情況、遷入人口時間趨勢、遷入人口在各地州市的占比情況),在時間范圍內(nèi),確定預(yù)測目標(biāo),篩選遷徙人口相近省市,為大數(shù)據(jù)疫情研判預(yù)測模型中預(yù)測目標(biāo)提供參考系。
平臺基于微服務(wù)架構(gòu),自下而上分為數(shù)據(jù)源層、數(shù)據(jù)匯聚層與數(shù)據(jù)應(yīng)用層3層架構(gòu),如圖1所示。
圖1 平臺總體架構(gòu)圖Fig.1 Overall architecture of platform
(1)數(shù)據(jù)源層。數(shù)據(jù)源層匯聚平臺所需各類數(shù)據(jù),實現(xiàn)數(shù)據(jù)全面、動態(tài)、及時整合,主要包括各省市政府官方網(wǎng)站數(shù)據(jù)、國內(nèi)外各權(quán)威媒體新聞數(shù)據(jù)、社交媒體數(shù)據(jù)以及其他公開數(shù)據(jù)源。(2)數(shù)據(jù)匯聚層,數(shù)據(jù)匯聚層由數(shù)據(jù)預(yù)處理、數(shù)據(jù)存儲、數(shù)據(jù)分析三部分組成。1)數(shù)據(jù)預(yù)處理:對數(shù)據(jù)存儲而言,數(shù)據(jù)預(yù)處理層是數(shù)據(jù)清洗、處理、匯集的中心,提供數(shù)據(jù)的封裝和轉(zhuǎn)發(fā)服務(wù)。通過數(shù)據(jù)清洗、轉(zhuǎn)換、描述、特征選擇及特征抽取等流程對臟數(shù)據(jù)進行清洗、脫密、脫敏、規(guī)范化及標(biāo)準(zhǔn)化處理成分析所需格式。本研究運用網(wǎng)絡(luò)爬蟲、API接口、Apache Flume、Fluentd、Logstash、Splunk Forwarder技術(shù),實現(xiàn)數(shù)據(jù)的抽取、轉(zhuǎn)換、加載,建立關(guān)系數(shù)據(jù)庫和非關(guān)系數(shù)據(jù)庫。2)數(shù)據(jù)存儲:使用Hadoop分布式文件系統(tǒng)存儲海量數(shù)據(jù),通過MapReduce分布式計算模型處理數(shù)據(jù),并采用Hbase分布式數(shù)據(jù)庫存儲處理后的數(shù)據(jù),以此實現(xiàn)對全國各省市衛(wèi)生部門官網(wǎng)疫情數(shù)據(jù)庫、遷入貴州比例庫等疫情信息數(shù)據(jù)庫、公開報道全國患者情況庫等數(shù)據(jù)的管理,為數(shù)據(jù)分析層、模型研究與應(yīng)用層調(diào)用提供支撐。3)數(shù)據(jù)分析:從存儲層讀取數(shù)據(jù),利用統(tǒng)計學(xué)、R語言、機器學(xué)習(xí)等技術(shù)手段,對源數(shù)據(jù)進行深度挖掘與統(tǒng)計分析,剖析人口流動數(shù)據(jù)中蘊藏的疫情傳播與發(fā)展趨勢等?;诨颊呋疾∧挲g段、原有疾病等信息,采用Apriori算法[6]進行關(guān)聯(lián)性分析,解析貴州省患者年齡分布規(guī)律;基于貴州省人口遷移大數(shù)據(jù),根據(jù)新冠肺炎在全國各個城市的發(fā)病率、路過不同城市及停留時間產(chǎn)生的風(fēng)險值、潛伏期等因子建立權(quán)重計算模型,實時計算出每個人的發(fā)病預(yù)測值;基于SEIR傳染病模型[7],建立傳染病傳播動力學(xué)C-SEIR模型分析預(yù)測新型冠狀病毒感染肺炎疫情趨勢。(3)數(shù)據(jù)應(yīng)用層。數(shù)據(jù)應(yīng)用層:針對各級政府、衛(wèi)健委、科研院所、公眾、媒體、企業(yè)不同需求,對疫情發(fā)展開展風(fēng)險研判、評估、預(yù)警和防控措施效果評價等工作。通過動態(tài)色斑圖、疫情熱力圖、復(fù)工復(fù)產(chǎn)區(qū)域分類圖等直觀、簡便的展示疫情實時動態(tài)。
通過對遷徙數(shù)據(jù)、病例發(fā)病時間、病情進展、感染病例活動軌跡等數(shù)據(jù)進行分析,指出貴陽、黔南州、遵義及畢節(jié)的高發(fā)風(fēng)險,在后續(xù)的疫情發(fā)展過程中,貴陽、遵義、畢節(jié)和黔南州成為貴州省疫情最為嚴(yán)重的4個地區(qū),如圖2所示,與分析結(jié)果高度吻合。
圖2 貴州省疫情地圖Fig.2 Epidemic map of Guizhou Province
根據(jù)遷徙數(shù)據(jù)、確診數(shù)據(jù)發(fā)生值等數(shù)據(jù)對全國各省區(qū)市數(shù)據(jù)進行篩選,得到與貴州發(fā)展情況接近的可參考省份。以這些省份的數(shù)據(jù)為基礎(chǔ)建立Logistic預(yù)測模型,綜合疑似病例數(shù)等因素,得出未來5日貴州省確診病例數(shù)預(yù)測值。根據(jù)累計15天的預(yù)測數(shù)據(jù),預(yù)測值與實際發(fā)生值之間可達到僅一人之差,誤差低至0.68%,如圖3所示,充分為貴州省的疫情防控提供積極的輔助決策作用。
圖3 預(yù)測值與實際值對比Fig.3 Comparison between predicted value and actual value
平臺通過對患者密切接觸人員、具有親屬關(guān)系的人員或同村人員等進行關(guān)聯(lián)分析,快速創(chuàng)建患者接觸關(guān)系網(wǎng)絡(luò),如圖4所示,提示疫情防控目標(biāo)人群和高發(fā)案例,為采取及時的隔離措施提供指導(dǎo),防止疫情進一步擴散。
圖4 患者接觸關(guān)系網(wǎng)絡(luò)Fig.4 Patient contact network
根據(jù)貴州省內(nèi)88個區(qū)縣各縣確診病例數(shù)劃分風(fēng)險等級指導(dǎo)復(fù)產(chǎn)復(fù)工,推動經(jīng)濟恢復(fù)。該模塊展現(xiàn)貴州省各區(qū)縣復(fù)工復(fù)產(chǎn)區(qū)域分類圖,低風(fēng)險地區(qū)為綠色,中風(fēng)險地區(qū)為黃色,高風(fēng)險地區(qū)為紅色;低風(fēng)險地區(qū)屬于無確診病例,或連續(xù)14天無新增確診病例;中風(fēng)險地區(qū)14天內(nèi)有新增確診病例,累計確診病例不超過50例;或累計確診病例超過50例,14天內(nèi)未發(fā)生聚集性疫情;高風(fēng)險地區(qū)確診病例大于50例。
本平臺主要利用大數(shù)據(jù)分析服務(wù)于我省新冠疫情的防控工作。通過建立時間、空間和人間“三間分布”的全覆蓋疫情信息采集原則與疫情預(yù)測預(yù)警風(fēng)險等級指標(biāo)體系,平臺實現(xiàn)了對疫情數(shù)據(jù)的全方位匯聚、管理、分析、挖掘和可視化展示,向省政府、省疾控等相關(guān)部門提供精準(zhǔn)高效的數(shù)據(jù)分析和決策支持服務(wù),為疫情防控工作的實時化、可視化、精準(zhǔn)化管理提供了重要參考和可靠的保障。