王秀友 韋斯羽 代雅婷 彭亮 高統(tǒng)朋
摘 要:本文以大數(shù)據(jù)技術(shù)為基礎(chǔ),對COVID-19疫情期間除湖北外其他地區(qū)的疫情數(shù)據(jù)進行采集、預(yù)處理、可視化和分析。結(jié)果顯示在疫情中,接觸性傳播為主要傳播方式,疫情的主要癥狀為發(fā)熱,為疫情防控提供科學(xué)的理論依據(jù)和重要輔助服務(wù)。
關(guān)鍵詞:COVID-19;疫情;大數(shù)據(jù);數(shù)據(jù)爬取;數(shù)據(jù)分析
中圖分類號:TP393? 文獻標(biāo)識碼:A? 文章編號:1673-260X(2021)01-0029-04
0 引言
隨著大數(shù)據(jù)技術(shù)的飛速發(fā)展,其在各個領(lǐng)域得到廣泛應(yīng)用。特別在醫(yī)學(xué)領(lǐng)域,由于醫(yī)學(xué)領(lǐng)域的問題往往數(shù)據(jù)量巨大且數(shù)據(jù)來源廣泛,對數(shù)據(jù)實時性和實用性要求較高,大數(shù)據(jù)處理技術(shù)的發(fā)展為醫(yī)學(xué)領(lǐng)域特別是傳染病預(yù)測帶來了巨大改變[1,2]。2020年發(fā)生的COVID-19疫情爆發(fā)后,快速在大范圍內(nèi)傳染開來,感染了大量人群。大數(shù)據(jù)技術(shù)可以為疫情提供必要的技術(shù)處理手段。疫情中,眾多專家學(xué)者對武漢和湖北省的數(shù)據(jù)樣本進行分析,對湖北省外的其他省市病例樣本信息分析較少[3]。本文利用大數(shù)據(jù)相關(guān)技術(shù),通過爬取疫情爆發(fā)初期至2020年4月5日湖北省外的其他省市確診病例的詳細資料,針對具體的病例描述數(shù)據(jù),將紛亂無序的數(shù)據(jù)匯集到一起,進行全面的數(shù)據(jù)處理和數(shù)據(jù)分析,以直觀形式展示疫情相關(guān)數(shù)據(jù)分析[4],預(yù)測疫情發(fā)展的動態(tài)及走勢,為疫情防控的高效決策、快速決策乃至智能決策提供了有力的基礎(chǔ)。
2 方案設(shè)計
本文利用爬蟲技術(shù)爬取今日頭條抗擊肺炎專題中的實時病例數(shù)據(jù),利用大數(shù)據(jù)處理技術(shù)進行數(shù)據(jù)預(yù)處理,針對處理后的數(shù)據(jù)提供數(shù)據(jù)可視化分析。
2.1 數(shù)據(jù)爬取
本文對湖北省外全國人員的病例詳情進行數(shù)據(jù)爬取,病例樣本如圖1所示。
對數(shù)據(jù)源進行爬取時,主要流程是對請求的數(shù)據(jù)進行分析,然后對數(shù)據(jù)進行異步請求,抓取相關(guān)數(shù)據(jù)包后對抓取到的數(shù)據(jù)進行存儲,具體描述如下。
(1)數(shù)據(jù)分析:找到數(shù)據(jù)的url_base和對應(yīng)的json文件url_json。對病例人員信息的url進行分析,發(fā)現(xiàn)url中id參數(shù)決定了爬取的城市。以安徽省合肥市某一url地址為例https://xxx.html?local_id=340100其中url中的id=340100表示合肥。
(2)請求數(shù)據(jù):利用工具fiddler抓包確定請求類型,進行異步請求,實現(xiàn)一次性自動化爬取省級內(nèi)各個城市數(shù)據(jù)。通過抓包獲取涉及全國疫情信息的js接口和城市id。
(3)解析網(wǎng)頁:利用request庫實現(xiàn)全國省市的封裝解析。部分地區(qū)僅有市的數(shù)據(jù),沒有內(nèi)部區(qū)的統(tǒng)計,導(dǎo)致不能實現(xiàn)全國一次性自動爬取。本文將爬取封裝成兩個過程,一是輸入id爬取市級數(shù)據(jù);二是輸入省級名稱爬取全省數(shù)據(jù)。
(4)數(shù)據(jù)存儲:將對應(yīng)的數(shù)據(jù)存入文本文檔中,實現(xiàn)自動存儲生成文本文檔。
2.2 數(shù)據(jù)預(yù)處理
由數(shù)據(jù)分析對預(yù)處理的需求,將數(shù)據(jù)需求分為三種,一是提取癥狀、性別、年齡、武漢居住史字段的相關(guān)數(shù)據(jù);二是密切接觸人數(shù)、聚餐情況;三是發(fā)病日期、確診日期。
在數(shù)據(jù)預(yù)處理過程中,分為兩類進行處理。一是提取日期類的數(shù)據(jù),采用時間序列技術(shù),進行時間序列的預(yù)處理;去除無關(guān)特殊符號及字符,進行日期時間序列類的數(shù)據(jù)提取和集成規(guī)約。二是處理文本類特征字段,采用NLP處理方式;對特征字段采用Jieba分詞統(tǒng)計、清洗,利用N-gram語言模型進行特征提取,數(shù)據(jù)預(yù)處理流程如圖2所示。
對需求一采用表達式自動搜索特征字段,對需求二遍歷數(shù)據(jù)文本,以正則表達式中的split()模塊進行按照標(biāo)點符號分割。對需求三數(shù)據(jù)的預(yù)處理則分為以下幾步。
2.2.1 數(shù)據(jù)格式預(yù)處理
將文件格式進行轉(zhuǎn)換并篩選日期,用列表推導(dǎo)式進行關(guān)鍵字段提取,得到每一行中存在癥狀的關(guān)鍵字段,結(jié)果如圖3所示。
2.2.2 數(shù)據(jù)錯誤修正
對預(yù)處理的數(shù)據(jù)重新排序并統(tǒng)計滿足需求的數(shù)據(jù),將數(shù)據(jù)轉(zhuǎn)成csv格式。由于每行的字段數(shù)不確定,在上一個文件中設(shè)置表頭最大化,從而使數(shù)據(jù)可用pandas讀取,然后進行重新排序,缺失的值用空值填充,結(jié)果如圖4所示。
2.2.3 數(shù)據(jù)內(nèi)容預(yù)處理
使用正則表達式提取癥狀或者發(fā)病、確診時間。使用split()將字段切分,定義函數(shù)提取純?nèi)掌冢胢ap函數(shù)多次執(zhí)行,結(jié)果如圖5所示。
2.2.4 數(shù)據(jù)標(biāo)準化
對預(yù)處理后的數(shù)據(jù),刪除每行空數(shù)據(jù)以及癥狀時間,使每行數(shù)據(jù)只剩下發(fā)病時間和確診時間。按行遍歷數(shù)據(jù),通過split()和strip()函數(shù)以空格分割,再以英文逗號進行連接保存,去除多余逗號,結(jié)果如圖6所示。
在對數(shù)據(jù)進行分析時,較少的樣本量對結(jié)果分析容易產(chǎn)生較大誤差。本文對樣本量較少的數(shù)據(jù)進行了剔除,保留處理除湖北省數(shù)據(jù)量前十的省市數(shù)據(jù)。源病例數(shù)據(jù)量為5665條,預(yù)處理200條,實用病例5465條,具體數(shù)據(jù)如表1所示。
2.3 可視化分析
對于處理后的病例數(shù)據(jù),本文用直觀的表格和圖片輔助數(shù)據(jù)分析,分為三個方面。
2.3.1 針對癥狀、年齡、性別、武漢居住史字段進行分析
根據(jù)不同癥狀占比情況的統(tǒng)計表(表2)可以看出,發(fā)熱為主要癥狀之一,占源數(shù)據(jù)的45.61%,將近一半,因此發(fā)熱可以作為判斷是否為疑似病例的一個依據(jù)。其次,患者病例中有癥狀者占比98.50%,無癥狀者占比1.50%。
根據(jù)不同年齡段占比情況的表3可以看出,年齡段在41歲至51歲的患者人數(shù)最多,占源數(shù)據(jù)的33.83%,占比率最高。
本研究針對5465例病例進行性別比例分析,發(fā)現(xiàn)其中男性患者的人數(shù)為2900,占比53.06%,女性患者的人數(shù)為2565,占比46.94%,說明COVID-19傳染與性別無關(guān)。
針對每個省的病例中含有長期居住、有居住史、在武漢工作、生活于武漢、路徑有武漢等含有武漢居住史的字段進行分析得出,共有2984名患者具有武漢旅居史。從中可以看出,由武漢傳播出來的病例人數(shù)普遍居多,占各省病例人數(shù)居高。
2.3.2 針對密切接觸與聚餐情況進行分析
對每個省的病例中含有與確診或高度疑似病例有直接居住生活在一起分析得出,共有2399名患者與確診或高度疑似病例有直接居住生活在一起的成員進行密切接觸行為,占總病例人數(shù)的43.89%,說明人傳人現(xiàn)象較為明顯。
對聚餐情況分析時,本次提取聚餐字段的關(guān)鍵詞有聚會、聚餐、有共餐史、相聚就餐等。從表6可以看出聚餐導(dǎo)致的病例數(shù)占各自地區(qū)總病例的比例。從圖8聚餐人數(shù)日期可以看出,疫情發(fā)生前期至1月26日聚餐情況較多,聚會、聚餐是造成COVID-19疫情傳播的重要因素。
2.3.3 疫情波動分析
本文以確診病例中患者發(fā)病日期與確診日期作為綜合評判依據(jù),選取前十個省的疫情新增數(shù)據(jù)進行抽樣預(yù)測分析。選取全國疫情新增數(shù)據(jù)進行整體研究分析,研究真實的監(jiān)測數(shù)據(jù)。
圖8是除湖北省外前十個省市新增發(fā)病人數(shù)與確診人數(shù)的折線圖,反映了疫情確診人數(shù)數(shù)據(jù)與發(fā)病人數(shù)數(shù)據(jù)隨時間的波動情況。爆發(fā)前期至2月5日是波動幅度較小的持續(xù)性增加,2月5日確診人數(shù)達到了最高333例,2月5日至2月25日是波動幅度較小持續(xù)性減少,2月25日以后是趨于平穩(wěn);發(fā)病人數(shù)的波動情況是,爆發(fā)前期至1月29日持續(xù)性增加,1月29日至2月7日是波動幅度較小的趨于平穩(wěn),但仍持續(xù)爆發(fā),人數(shù)最高為259例,2月7日至2月25日是持續(xù)性減少,2月25日以后是趨于平穩(wěn)。
圖9中的全國新增發(fā)病人數(shù)和確診人數(shù)反映了同個時間內(nèi)發(fā)病人數(shù)與確診人數(shù)之間的比較情況??梢娙珖咔榈牟▌踊疽恢?。圖中新增確診數(shù)據(jù)來自國家衛(wèi)健委,新增發(fā)病數(shù)據(jù)來自今日頭條的全國病例。
2.4 可視化部署實現(xiàn)
基于echarts的網(wǎng)頁可視化展示,利用jQuery中的echarts網(wǎng)頁模板,將本次研究方向的圖形進行統(tǒng)一展示。網(wǎng)頁圖形主要展示了數(shù)據(jù)分析的三個方向,一是各個省市武漢居住史的病例情況和患者癥狀分析情況;二是各個省受聚餐影響占比;三是新增發(fā)病和新增確診人數(shù)雙折線圖。
3 結(jié)語
本文研究疫情爆發(fā)期間各項數(shù)據(jù)的具體情況,預(yù)測疫情高峰和持續(xù)時間,通過可視化展示疫情的動態(tài)數(shù)據(jù)及結(jié)果。隨著數(shù)據(jù)處理技術(shù)日新月異的發(fā)展,大數(shù)據(jù)在醫(yī)療方面的應(yīng)用必將帶來巨大變革,利用大數(shù)據(jù)技術(shù)對重大公共衛(wèi)生突發(fā)事件進行群防群控,是未來疫情防控的關(guān)鍵手段和重要支撐。
——————————
參考文獻:
〔1〕王延玲,溫明鋒,李迎新.大數(shù)據(jù)時代對醫(yī)療系統(tǒng)信息化發(fā)展的研究[J].當(dāng)代醫(yī)學(xué),2020,26(10):114-11.
〔2〕王秋蓉,吳亞楠,肖瀟,杜娟.人工智能:發(fā)揮抗擊疫情科技支撐的骨干作用[J].可持續(xù)發(fā)展經(jīng)濟導(dǎo)刊,2020,38(04):18-20.
〔3〕閆雨蒙,李博,李澤宇,連博,蘇祥飛,王天園,李萍,王強,程金蓮,楊忠奇.新型冠狀病毒肺炎臨床研究和專家意見數(shù)據(jù)分析的思考與建議[J].中國中藥雜志,2020,45(07):1526-1530.
〔4〕鄔賀銓.大數(shù)據(jù)助力疫情防控[J].大數(shù)據(jù)時代,2020,36(03):26-33.