李鉬石,宓軼群,陸允敏,劉 釗,朱 平
(1.上海交通大學(xué)機(jī)械與動(dòng)力工程學(xué)院,上海 200240;2.上海交通大學(xué)附屬第六人民醫(yī)院針推傷科,上海 200233;3.上海交通大學(xué)附屬第六人民醫(yī)院門診部,上海 200233;4.上海交通大學(xué)設(shè)計(jì)學(xué)院,上海 200240)
隨著社會(huì)不斷發(fā)展,人們的生活壓力日益增大。各種由于不規(guī)律、不健康的生活方式所引起的慢性非傳染性疾?。ㄒ韵潞?jiǎn)稱“慢病”)已經(jīng)逐漸成為威脅人們身體健康的主要問(wèn)題。據(jù)國(guó)家衛(wèi)生和計(jì)劃生育委員會(huì)《中國(guó)居民營(yíng)養(yǎng)與慢性病狀況報(bào)告(2015)》統(tǒng)計(jì),目前慢病確診患者已達(dá)2.6億,慢病已經(jīng)成為中國(guó)當(dāng)前與未來(lái)的最大公共衛(wèi)生問(wèn)題[1]。同時(shí),國(guó)務(wù)院辦公廳于2016年6月24日發(fā)布的《國(guó)務(wù)院辦公廳關(guān)于促進(jìn)和規(guī)范健康醫(yī)療大數(shù)據(jù)應(yīng)用發(fā)展的指導(dǎo)意見(jiàn)》中明確指示:要培育健康醫(yī)療大數(shù)據(jù)應(yīng)用新業(yè)態(tài),促進(jìn)健康醫(yī)療業(yè)務(wù)與大數(shù)據(jù)技術(shù)深度融合[2]。因此,構(gòu)建中醫(yī)慢病大數(shù)據(jù)平臺(tái)有著非常重要的研究意義[3-5]。
目前已有的醫(yī)療大數(shù)據(jù)平臺(tái)研究中,大多為數(shù)據(jù)收集、儲(chǔ)存、管理功能的實(shí)現(xiàn)與集成[6-7]。通過(guò)這些功能,醫(yī)護(hù)人員雖然可以提升對(duì)醫(yī)療大數(shù)據(jù)的認(rèn)知與關(guān)注度,但由于數(shù)據(jù)挖掘領(lǐng)域技能的缺乏,難以有效地分析數(shù)據(jù)、挖掘數(shù)據(jù)所隱含的信息,從而導(dǎo)致醫(yī)療大數(shù)據(jù)無(wú)法發(fā)揮最大價(jià)值。
為此,本文通過(guò)降維分析、聚類分析、相關(guān)性分析等算法,開(kāi)發(fā)一種面向Web的中醫(yī)慢病數(shù)據(jù)挖掘應(yīng)用系統(tǒng),可在計(jì)算機(jī)、手機(jī)等常見(jiàn)終端設(shè)備與Web服務(wù)器進(jìn)行交互。本系統(tǒng)不僅操作便捷、計(jì)算準(zhǔn)確,對(duì)使用者無(wú)數(shù)據(jù)挖掘領(lǐng)域技能的要求,還可以基于數(shù)據(jù)特點(diǎn)進(jìn)行復(fù)雜數(shù)據(jù)的預(yù)處理工作,如異常值檢測(cè)、降維等;對(duì)預(yù)處理后的數(shù)據(jù)進(jìn)行相關(guān)性分析、聚類分析等多方位的統(tǒng)計(jì)分析;借助于圖形或表格等可視化手段更好地體現(xiàn)數(shù)據(jù)挖掘流程,展示大數(shù)據(jù)中隱藏的關(guān)鍵信息,使醫(yī)療大數(shù)據(jù)更合理地應(yīng)用于中醫(yī)慢病患者的健康狀態(tài)預(yù)測(cè)、疾病風(fēng)險(xiǎn)評(píng)估等場(chǎng)景中。
面向Web的中醫(yī)慢病數(shù)據(jù)挖掘應(yīng)用系統(tǒng)的整體架構(gòu)如圖1所示,主要分為以下3個(gè)部分:
第一部分是前端操作界面,適用于PC、手機(jī)、平板計(jì)算機(jī)等多種類型的終端。采用HTML5、JavaScript、jQuery、Ajax等技術(shù)實(shí)現(xiàn)前端操作界面的展示以及與后端算法集成平臺(tái)的數(shù)據(jù)交互,通過(guò)Bootstrap、ECharts等工具實(shí)現(xiàn)數(shù)據(jù)挖掘過(guò)程的前端展示。用戶可通過(guò)多種類型的終端與Web服務(wù)器進(jìn)行交互,完成數(shù)據(jù)的挖掘計(jì)算、管理、查看分析結(jié)果等操作。
第二部分是后端算法集成平臺(tái)。采用Python語(yǔ)言、Django框架等技術(shù)實(shí)現(xiàn)與前端操作界面和數(shù)據(jù)庫(kù)的數(shù)據(jù)交互,通過(guò)Scikit-learn、TensorFlow等技術(shù)實(shí)現(xiàn)降維分析、聚類分析、相關(guān)性分析等算法的集成,并基于Pyecharts技術(shù)實(shí)現(xiàn)數(shù)據(jù)挖掘過(guò)程的可視化。
第三部分是數(shù)據(jù)庫(kù)。通過(guò)MySQL、Navicat等工具設(shè)計(jì)數(shù)據(jù)庫(kù),實(shí)現(xiàn)對(duì)數(shù)據(jù)及分析結(jié)果的儲(chǔ)存和管理,以供前端操作界面與后端算法集成平臺(tái)調(diào)用。數(shù)據(jù)庫(kù)包含Data與Task 2個(gè)數(shù)據(jù)表。其中,Data數(shù)據(jù)表用于存儲(chǔ)待分析的數(shù)據(jù)集,包含上傳者賬號(hào)、上傳時(shí)間、數(shù)據(jù)集及其維度、數(shù)據(jù)集的數(shù)據(jù)量、分析方法等信息。Task數(shù)據(jù)表用于存儲(chǔ)數(shù)據(jù)挖掘的結(jié)果,包含操作者賬號(hào)、計(jì)算時(shí)間、數(shù)據(jù)集及其維度、數(shù)據(jù)集的數(shù)據(jù)量、分析方法、分析結(jié)果等信息。
圖1 面向Web的中醫(yī)慢病數(shù)據(jù)挖掘應(yīng)用系統(tǒng)的整體架構(gòu)
面向Web的中醫(yī)慢病數(shù)據(jù)挖掘應(yīng)用系統(tǒng)分為數(shù)據(jù)管理、數(shù)據(jù)挖掘和任務(wù)管理3個(gè)功能模塊,如圖2所示。醫(yī)護(hù)人員可將日常診療過(guò)程中產(chǎn)生的醫(yī)療數(shù)據(jù)通過(guò)數(shù)據(jù)管理模塊中的上傳與存儲(chǔ)功能導(dǎo)入系統(tǒng)數(shù)據(jù)庫(kù)中,通過(guò)數(shù)據(jù)挖掘模塊中的降維分析、聚類分析、相關(guān)性分析等功能對(duì)醫(yī)療數(shù)據(jù)進(jìn)行數(shù)據(jù)挖掘分析并生成可視化圖表,然后通過(guò)任務(wù)管理模塊中的任務(wù)查看功能對(duì)圖表進(jìn)行查看與管理。
圖2 面向Web的中醫(yī)慢病數(shù)據(jù)挖掘應(yīng)用系統(tǒng)功能結(jié)構(gòu)圖
面向Web的中醫(yī)慢病數(shù)據(jù)挖掘應(yīng)用系統(tǒng)主要集成了降維分析算法、聚類分析算法與相關(guān)性分析算法。
1.3.1 降維分析算法
在醫(yī)護(hù)人員日常診療過(guò)程中會(huì)產(chǎn)生大量的醫(yī)療數(shù)據(jù),該數(shù)據(jù)包含豐富的、結(jié)構(gòu)各異的數(shù)據(jù)形式,如文字記錄、表格、數(shù)值、字符、圖像等。基于這些數(shù)據(jù)構(gòu)建機(jī)器學(xué)習(xí)和深度學(xué)習(xí)模型,可實(shí)現(xiàn)患者健康狀態(tài)預(yù)測(cè)、慢病周期診斷、治療方案推薦等功能。但由于原始數(shù)據(jù)具有維度高、結(jié)構(gòu)復(fù)雜的特點(diǎn),模型訓(xùn)練過(guò)程中會(huì)出現(xiàn)數(shù)據(jù)樣本特征稀疏、距離計(jì)算困難等問(wèn)題,這在機(jī)器學(xué)習(xí)領(lǐng)域被稱為維數(shù)災(zāi)難。降維分析算法是緩解維數(shù)災(zāi)難的主要途徑之一,被稱為“維數(shù)約簡(jiǎn)”,即通過(guò)某種數(shù)學(xué)變換將原始高維屬性空間轉(zhuǎn)變?yōu)橐粋€(gè)低維子空間,在這個(gè)子空間中樣本密度大幅提高,距離計(jì)算也變得更為容易[8]。
為實(shí)現(xiàn)慢病大數(shù)據(jù)降維,本系統(tǒng)在數(shù)據(jù)挖掘模塊中集成了2種降維分析算法,分別是無(wú)監(jiān)督降維算法——主成分分析(principal component analysis,PCA)算法和監(jiān)督降維算法——線性判別分析(linear discriminate analysis,LDA)算法。
1.3.2 聚類分析算法
醫(yī)護(hù)人員日常診療過(guò)程中產(chǎn)生的醫(yī)療數(shù)據(jù)可能會(huì)由于手動(dòng)輸入失誤等原因而產(chǎn)生數(shù)據(jù)異常或數(shù)據(jù)缺失,從而對(duì)構(gòu)建機(jī)器學(xué)習(xí)和深度學(xué)習(xí)模型造成干擾。聚類分析的目標(biāo)是通過(guò)對(duì)無(wú)標(biāo)記訓(xùn)練樣本的學(xué)習(xí)來(lái)揭示數(shù)據(jù)的內(nèi)在性質(zhì)及規(guī)律。通過(guò)聚類分析,可對(duì)慢病大數(shù)據(jù)進(jìn)行異常值檢測(cè)與缺失值處理,為模型的進(jìn)一步構(gòu)建提供了基礎(chǔ)[9-10]。
為實(shí)現(xiàn)慢病大數(shù)據(jù)的聚類分析,本系統(tǒng)在數(shù)據(jù)挖掘模塊中集成了3種聚類分析算法,分別是原型聚類算法——k均值算法(k-means)、密度聚類算法——DBSCAN(density-based spatial clustering of applications with noise)算法與層次聚類算法——AGNES(agglomerative nesting)算法。
1.3.3 相關(guān)性分析算法
相關(guān)性分析是研究2個(gè)或2個(gè)以上處于同等地位的隨機(jī)變量間的相關(guān)關(guān)系的統(tǒng)計(jì)分析方法?;谙嚓P(guān)性分析算法,醫(yī)護(hù)人員不僅可以從數(shù)據(jù)層面了解慢病大數(shù)據(jù)各項(xiàng)數(shù)據(jù)間的關(guān)聯(lián),多角度認(rèn)知慢病大數(shù)據(jù),還可以依據(jù)相關(guān)性匹配新患者與歷史患者的數(shù)據(jù),為患者確定治療方案提供參考[11]。
為實(shí)現(xiàn)慢病大數(shù)據(jù)的相關(guān)性分析,本系統(tǒng)在數(shù)據(jù)挖掘模塊中集成了3種相關(guān)性分析算法,分別是余弦相似度(cosine similarity)、歐氏距離(Euclidean distance)與皮爾森相關(guān)系數(shù)(Pearson correlation coefficient)。其中,余弦相似度與皮爾森相關(guān)系數(shù)的絕對(duì)值越大,2個(gè)變量間的相關(guān)性越強(qiáng);而歐氏距離越小,2個(gè)變量間的相關(guān)性越強(qiáng)。
數(shù)據(jù)管理模塊包括數(shù)據(jù)查看和數(shù)據(jù)上傳2個(gè)功能。數(shù)據(jù)上傳功能中既可以生成經(jīng)典數(shù)據(jù)集(如Iris、Boston數(shù)據(jù)集)、自定義數(shù)據(jù)集,也可以上傳CSV格式的數(shù)據(jù)集。生成或上傳的數(shù)據(jù)集經(jīng)系統(tǒng)后端程序存儲(chǔ)至MySQL數(shù)據(jù)庫(kù)的Data數(shù)據(jù)表中,數(shù)據(jù)查看功能可對(duì)其進(jìn)行查看、刪除等操作。數(shù)據(jù)管理界面如圖3所示。
圖3 數(shù)據(jù)管理界面
數(shù)據(jù)挖掘模塊中包含降維分析、聚類分析和相關(guān)性分析3個(gè)子模塊。
2.2.1 降維分析子模塊
在降維分析子模塊中,可選擇MySQL數(shù)據(jù)庫(kù)的Data數(shù)據(jù)表中存儲(chǔ)的數(shù)據(jù)集,選擇主成分分析算法或線性判別分析算法,給出目標(biāo)維度后進(jìn)行降維分析。計(jì)算完成后,系統(tǒng)可展示初始數(shù)據(jù)集與降維后的數(shù)據(jù)集,并將降維后的數(shù)據(jù)集存儲(chǔ)至MySQL數(shù)據(jù)庫(kù)的Task數(shù)據(jù)表中。降維分析界面如圖4所示。
圖4 降維分析界面
2.2.2 聚類分析子模塊
在聚類分析子模塊中,可選擇MySQL數(shù)據(jù)庫(kù)的Data數(shù)據(jù)表中存儲(chǔ)的數(shù)據(jù)集,給出聚類簇?cái)?shù)后選擇原型聚類、密度聚類或?qū)哟尉垲?種聚類分析算法中的一種進(jìn)行聚類分析。計(jì)算完成后,系統(tǒng)可將聚類簇統(tǒng)計(jì)結(jié)果以餅狀圖的形式展示、聚類分析結(jié)果以表格的形式展示,并將結(jié)果存儲(chǔ)至MySQL數(shù)據(jù)庫(kù)的Task數(shù)據(jù)表中。聚類分析界面如圖5所示。
圖5 聚類分析界面
2.2.3 相關(guān)性分析子模塊
在相關(guān)性分析子模塊中,可選擇MySQL數(shù)據(jù)庫(kù)的Data數(shù)據(jù)表中存儲(chǔ)的數(shù)據(jù)集,計(jì)算數(shù)據(jù)集內(nèi)各數(shù)據(jù)間的余弦相似度、皮爾森相關(guān)系數(shù)和歐氏距離,從而進(jìn)行相關(guān)性分析。系統(tǒng)可將計(jì)算結(jié)果以三維條形圖和表格的形式展示,并存儲(chǔ)至MySQL數(shù)據(jù)庫(kù)的Task數(shù)據(jù)表中。相關(guān)性分析界面如圖6所示。
圖6 相關(guān)性分析界面
與數(shù)據(jù)管理模塊中的數(shù)據(jù)查看功能類似,任務(wù)管理模塊可選擇MySQL數(shù)據(jù)庫(kù)的Task數(shù)據(jù)表中存儲(chǔ)的數(shù)據(jù)挖掘結(jié)果進(jìn)行查看、刪除等操作。任務(wù)管理界面如圖7所示。
為驗(yàn)證系統(tǒng)的可用性,使用一組大小為50×5的數(shù)據(jù)集對(duì)系統(tǒng)進(jìn)行應(yīng)用測(cè)試。樣本量50表示數(shù)據(jù)集包含某患者連續(xù)50 d內(nèi)12 h/d的慢病指標(biāo),特征數(shù)5表示數(shù)據(jù)集包含患者體溫、舒張壓、收縮壓、血糖和心率5項(xiàng)慢病指標(biāo)。醫(yī)護(hù)人員可在無(wú)數(shù)據(jù)挖掘領(lǐng)域理論知識(shí)與算法編程技能的情況下,應(yīng)用本系統(tǒng)對(duì)醫(yī)療數(shù)據(jù)進(jìn)行預(yù)處理與統(tǒng)計(jì)分析,常見(jiàn)的應(yīng)用場(chǎng)景如下:
圖7 任務(wù)管理界面
應(yīng)用場(chǎng)景1:醫(yī)護(hù)人員需要特征數(shù)為4的數(shù)據(jù)集,但現(xiàn)有數(shù)據(jù)集的特征數(shù)為5,需對(duì)該測(cè)試數(shù)據(jù)集進(jìn)行降維分析。由于該數(shù)據(jù)集不包含輸出指標(biāo),對(duì)其進(jìn)行降維分析屬于無(wú)監(jiān)督降維分析,所以選擇主成分分析算法進(jìn)行降維分析。降維分析結(jié)果如圖8(a)所示,其中上表格為原始數(shù)據(jù),下表格為降維分析后的數(shù)據(jù)。
應(yīng)用場(chǎng)景2:醫(yī)護(hù)人員擬將患者50 d的健康狀態(tài)分為3類,故設(shè)定聚類簇?cái)?shù)為3,可選擇原型聚類算法或?qū)哟尉垲愃惴▽?duì)測(cè)試數(shù)據(jù)集進(jìn)行聚類分析,結(jié)果如圖8(b)所示。本系統(tǒng)不僅可以根據(jù)數(shù)據(jù)結(jié)果的餅狀圖來(lái)分析患者50 d中3類健康狀態(tài)的占比,還可以在表格中查看每天對(duì)應(yīng)的健康狀態(tài)類別。
應(yīng)用場(chǎng)景3:醫(yī)護(hù)人員擬分析5項(xiàng)慢病指標(biāo)間的相關(guān)性,可選擇余弦相似度、皮爾森相關(guān)系數(shù)和歐氏距離中的一種相關(guān)性分析算法對(duì)測(cè)試數(shù)據(jù)集的5個(gè)特征進(jìn)行相關(guān)性分析,結(jié)果如圖8(c)所示。本系統(tǒng)可在數(shù)據(jù)結(jié)果三維條形圖和表格中查看任意2個(gè)特征之間的相關(guān)性。
由應(yīng)用案例可知,本系統(tǒng)對(duì)操作者無(wú)數(shù)據(jù)挖掘領(lǐng)域技能的要求,可對(duì)醫(yī)療數(shù)據(jù)高效、準(zhǔn)確地進(jìn)行降維分析、聚類分析和相關(guān)性分析,實(shí)現(xiàn)了分析結(jié)果的可視化。相比常見(jiàn)的聚焦于數(shù)據(jù)收集、存儲(chǔ)、管理功能的醫(yī)療大數(shù)據(jù)平臺(tái),本系統(tǒng)更多地關(guān)注于醫(yī)療大數(shù)據(jù)的預(yù)處理與統(tǒng)計(jì)分析,使數(shù)據(jù)更合理地應(yīng)用于患者健康狀態(tài)預(yù)測(cè)、疾病風(fēng)險(xiǎn)評(píng)估等場(chǎng)景中。
圖8 數(shù)據(jù)挖掘結(jié)果范例
隨著大數(shù)據(jù)分析、研究的不斷深入,中醫(yī)慢病大數(shù)據(jù)將會(huì)在患者的健康監(jiān)控與治療中發(fā)揮越來(lái)越重要的作用。本研究通過(guò)對(duì)降維分析、聚類分析、相關(guān)性分析等算法的集成,開(kāi)發(fā)了面向Web的中醫(yī)慢病數(shù)據(jù)挖掘應(yīng)用系統(tǒng),可對(duì)醫(yī)療大數(shù)據(jù)進(jìn)行預(yù)處理及多方位的統(tǒng)計(jì)分析,實(shí)現(xiàn)了數(shù)據(jù)挖掘過(guò)程的可視化。同時(shí),以某患者連續(xù)50 d的慢病數(shù)據(jù)指標(biāo)作為測(cè)試數(shù)據(jù)集,對(duì)系統(tǒng)可用性進(jìn)行了測(cè)試。結(jié)果表明,本系統(tǒng)不僅運(yùn)行穩(wěn)定,操作便捷,計(jì)算準(zhǔn)確、高效,可視化的圖表美觀、可控性強(qiáng),可以使不具備數(shù)據(jù)挖掘領(lǐng)域技能的醫(yī)護(hù)人員獨(dú)立進(jìn)行醫(yī)療大數(shù)據(jù)的管理與分析,還提升了中醫(yī)慢病大數(shù)據(jù)的利用率,推動(dòng)了中醫(yī)慢病管理的信息化建設(shè),具有一定的實(shí)際應(yīng)用價(jià)值。
目前,本系統(tǒng)仍處于測(cè)試階段,還存在以下不足:(1)集成算法的超參數(shù)無(wú)法在前端更改,需改進(jìn)平臺(tái)架構(gòu),從而使算法發(fā)揮更優(yōu)的性能;(2)集成的算法均為經(jīng)典算法,需補(bǔ)充集成更多機(jī)器學(xué)習(xí)領(lǐng)域內(nèi)最新的數(shù)據(jù)挖掘算法。