胡建強,王 元
(廈門理工學(xué)院 計算機與信息工程學(xué)院,廈門 361024)
中國衛(wèi)生部《健康中國2020戰(zhàn)略研究報告》明確指出:加強基層醫(yī)療體系建設(shè),建設(shè)基于網(wǎng)絡(luò)體系的全民電子健康系統(tǒng)、推進預(yù)防慢性病及重大疾病,大力發(fā)展民族健康產(chǎn)業(yè),投入資金總規(guī)模將達4000億.云健康監(jiān)測綜合運用傳感器網(wǎng)絡(luò)、云計算和大數(shù)據(jù)處理等技術(shù),可以實現(xiàn)多生理參數(shù)實時采集、海量數(shù)據(jù)存儲和大數(shù)據(jù)智能分析與處理,是下一代家庭健康監(jiān)測的主要發(fā)展方向.
目前國內(nèi)外學(xué)術(shù)界圍繞健康監(jiān)測領(lǐng)域展開很多積極的探索,主要工作包括:美國田納西大學(xué)設(shè)計一種實時監(jiān)測人體生理ECG數(shù)據(jù)云Cloud-ECG[1],保證云端數(shù)據(jù)存取的ECG數(shù)據(jù)質(zhì)量.西班牙格拉納達大學(xué)采用可穿戴式胸帶傳感器監(jiān)測人體的心電、心率、呼吸頻率、皮膚溫度,生理監(jiān)測數(shù)據(jù)存放在個人微云(Cloudlet);心電數(shù)據(jù)采用馬拉松算法處理并以紅、綠、黃顏色警示患者身體健康狀況[2].臺灣國立臺中科技大學(xué)基于體感網(wǎng) WBANs(Wireless Body Area Networks)采集人體的血壓、心率和體溫等生理數(shù)據(jù);采用VMware搭建的微云存儲數(shù)據(jù);采用融合粗糙集的等級評定算法[3]協(xié)同推薦信息到相關(guān)醫(yī)療群體[4].飛利浦保健算法研究中心提出一種ECG波形實時質(zhì)量評估算法—ST段心肌梗死評估算法[5,6].東南大學(xué)采用織物電極采集ECG數(shù)據(jù)[7]、北京工業(yè)大學(xué)提出采用可穿戴式多參數(shù)心臟活動監(jiān)測設(shè)備采集心音、心電和心沖擊圖數(shù)據(jù),在線監(jiān)測心臟活動[8];中科院提出“低成本健康海云工程”,采用無縫接入的智能醫(yī)療終端監(jiān)測患者生理健康狀況;利用云計算技術(shù)實現(xiàn)海量電子病歷和電子健康檔案存儲[9],但未給出生理監(jiān)測數(shù)據(jù)的處理算法.
云健康監(jiān)測可以有效解決現(xiàn)有家庭健康監(jiān)測系統(tǒng)(終端)在數(shù)據(jù)存儲容量方面的局限性,但生理監(jiān)測數(shù)據(jù)仍缺乏高效、實用的智能分析算法,特別是傳統(tǒng)的分類算法(例如SVM,KNN,決策樹等)很難直接應(yīng)用,難以滿足居民慢性病變智能預(yù)警和突發(fā)狀況救治需要.其主要原因是:生理監(jiān)測數(shù)據(jù)具有時間連續(xù)性、非精確性、模糊性等特性,實際應(yīng)用存在數(shù)據(jù)遺漏或缺失.例如,體溫數(shù)據(jù)相對恒定,但 24小時略有波動;動態(tài)ECG信號需采用小波分析算法對QRS復(fù)合波實時檢測和有效篩選,24小時內(nèi)波動較大[10].
針對上述問題,本文提出一種基于粗糙集的慢性病變分級方法,幫助個體全面認識慢性病變風(fēng)險,該方法包括以下步驟:首先,采用融合相關(guān)度和Chi-merge統(tǒng)計量對連續(xù)屬性離散化,提高聚類能力;然后,基于相容矩陣的屬性約簡算法去除數(shù)據(jù)冗余屬性,降低原始數(shù)據(jù)集維數(shù);最后,基于批量和增量相結(jié)合的分類規(guī)則挖掘,確定最優(yōu)分類規(guī)則集合,并基于MapReduce框架運用上述規(guī)則實現(xiàn)慢性病變智能分級.結(jié)合廈門市集美區(qū)病例數(shù)據(jù)驗證算法,基于自主研制的聯(lián)接廈門市“健康醫(yī)療云”的云健康監(jiān)測系統(tǒng)Cloud-Health[11]平臺展開上述方法的有效性驗證.
離散化本質(zhì)上是利用選取的斷點來對條件屬性構(gòu)成的空間進行劃分,即將m維空間劃分有限個區(qū)域.為提高系統(tǒng)的聚類能力,增加對生理監(jiān)測數(shù)據(jù)噪音的魯棒性,應(yīng)該采用盡可能少的斷點來完成劃分過程.隨著屬性個數(shù)和樣本量的增加,候選斷點數(shù)將會成倍增長[9].斷點選擇對保證最小的結(jié)果斷點集合至關(guān)重要.下面給出融合相關(guān)度和Chi-merge統(tǒng)計量的屬性離散化的一般性方法.
定義1[12].決策表S=(U,R,V,f),U={x1,x2,···,xn}是有限的對象集合;R=C∪D是屬性集合,子集合C和D分別為條件屬性集C={c1,c2,...,cm}和決策屬性集D=j5i0abt0b;m為條件屬性的個數(shù).假設(shè)決策種類的個數(shù)為r(d),f:U×R是一個函數(shù),指定U中的每一對象x的屬性,屬性ci的值域Vci為:
定義2.設(shè)a=[a1,a2],b=[b1,b2],設(shè),表示區(qū)間中最小或最大數(shù),L為區(qū)間a,b中區(qū)間長度的較大值,則區(qū)間a,b之間的相關(guān)度:
定義3.Chi-square是一種度量離散化數(shù)值型數(shù)據(jù)的統(tǒng)計量
其中,p表示目標屬性個數(shù),Aij表示第i個區(qū)間中第j個目標屬性的實例數(shù);Eij表示第i區(qū)間中,第j個目標屬性出現(xiàn)頻率(期望).
為克服相似區(qū)間長度不固定且區(qū)間長度相差較大問題,基于相關(guān)度離散化區(qū)間屬性;本文采用Chisquare度量條件屬性和目標屬性之間關(guān)聯(lián)程度,即兩相鄰區(qū)如果存在相似目標屬性頻率分布則合并為同一區(qū)間,即計算相鄰區(qū)間 χ2值,合并χ2值最小的相鄰區(qū)間,迭代合并直到滿足終止條件.具體描述如下:
算法1.融合相關(guān)度和Chi-square統(tǒng)計量的屬性離散化算法① 根據(jù)對象 在屬性 的取值特點(區(qū)間數(shù)長度和相鄰區(qū)間的交叉x ic j
新段落大小),定義相關(guān)度 ;U={x1,x2,··,x n}c jg j② 對象屬性上的取值排序,記為;U(c j)c j U(c j)={x1(c j),x2(c j),··,x n(c j)}③ 遍歷 比較相鄰對象 ( )g(x(c j)x i(c j)1≤i≤n若,繼續(xù)遍歷;g(x(c j)i,x(c j)i+1)>g j若,決策相同繼續(xù)遍歷;g(x(c j)i,x(c j)i+1)≤g j且f(x(c j)i)=f(x(c j)i+1)若i,x(c j)i+1)≤g j且f(x(c j)i)≠f(x(c j)i+1),添加斷點( 區(qū)間最小值);x(c j)i,x(c j)i+1④ 按遍歷取斷點從小到大排序?qū)崿F(xiàn)連續(xù)數(shù)據(jù)離散化;選取顯著性水平并結(jié)合自由度( ),確定 統(tǒng)計量閾值 ;χ 2 r(d)-1 c jχ 2 j⑤ 計算連續(xù)數(shù)據(jù)離散化相鄰區(qū)間 統(tǒng)計量,如果大于 ,則相鄰區(qū)間合并;χ 2 χ 2 j⑥ 按⑤循環(huán)迭代合并直至滿足:相鄰區(qū)間 統(tǒng)計量大于閾值 或最終保留區(qū)間個數(shù).χ 2 j
由于生理監(jiān)測數(shù)據(jù)涉及較多屬性,且容易存在部分條件屬性(如心率、血氧)取值有遺漏或缺失,需要降低原始數(shù)據(jù)集維數(shù),同時避免組合爆炸和提高屬性約簡效率.在保證一定的正確分類率 α的前提下,盡可能縮小屬性約簡的搜索空間.
定義4.對于決策表S=(U,R,V,f),對于 ? α ∈(0.8,1],決策屬性集D與條件屬性集C的基于參數(shù) α的分類率為
其中,CαYj表示決策類Yj相對于條件屬性集C的 α下的近似值,α參數(shù)放松S=(U,R,V,f)對近似邊界的要求.
定義5.條件屬性C的相容矩陣定義如下:
其中,若條件屬性的取值有遺漏或缺失,*記為遺漏屬性值.
定義6.對于決策表S=(U,R,V,f),P,Q是條件屬性集合的兩個子集,相容矩陣的交運算定義為:
下面給出基于相容矩陣的屬性約簡算法:首先,采用間接處理方法將不完備數(shù)據(jù)轉(zhuǎn)化成完備數(shù)據(jù);其次,將決策表中條件屬性的所有組合形式用二進制編碼表示,即“1”表示屬性出現(xiàn),“0”表示屬性不出現(xiàn);然后,比較二進制表示的組合屬性集與條件屬性的分類質(zhì)量,如果相等則該組合屬性作為候選集合一行;最后,根據(jù)準則刪除那些子集已經(jīng)是約簡的行以及全為零的行.
算法2.基于相容矩陣的屬性約簡算法輸入:決策表,是屬性集合,子集合 和 分別為條件屬性集 和決策屬性集 ;為條件屬性的個數(shù);分類率C S=(U,R,V,f)R=C∪DCD C={c1,c2,··,c m}D=j5i0abt0bmα輸出:最小約簡屬性集① 采用相容矩陣并基于啟發(fā)式算法[13]將不完備決策表 轉(zhuǎn)化為完備數(shù)據(jù)集;C={c1,c2,··,c m}S=(U,R,V,f)② 將條件屬性 所有組合形式通過二進制編碼表示;···,2 m-1③ 計算編碼j=1,2,所對應(yīng)的屬性組合 在參數(shù) 條件下的分類質(zhì)量C jα β C jβ C j=■■■■■■■■∪Y j∈U/D Cα Y j|U|(7)■■■■■■■■④ 如果 ,則用屬性組合 代替屬性集 ,即 ;重復(fù)步驟②;Cβ C j=β CC jC C=C j⑤ 刪除冗余及全為零的行,形成最小約簡屬性集 .
生理監(jiān)測數(shù)據(jù)具有典型增量數(shù)據(jù)特點,分類規(guī)則可以對未知數(shù)據(jù)預(yù)測,由于分類規(guī)則強調(diào)準確性、速度、健壯性和伸縮性,因此確定最優(yōu)分類規(guī)則集合至關(guān)重要.按照定義1,決策表S每一行對應(yīng)決策規(guī)則,存在r(d)個決策規(guī)則,可以表示為:
記為CU→DU,可以定義規(guī)則強度、確定度和覆蓋度因子.
定義7.決策規(guī)則CU→DU規(guī)則強度、確定度和覆蓋度分別為:
其中,|·|運算表示集合基數(shù).
算法3.基于批量和增量相結(jié)合的分類規(guī)則挖掘算法CD S=(U,R,V,f)① 根據(jù)生理監(jiān)測數(shù)據(jù)確定對象的條件屬性 和決策屬性 ,決策表,選取生理監(jiān)測數(shù)據(jù)集 ;D a t a0 D a t a0② 對 進行預(yù)處理,融合相關(guān)度和C h i-m e r g e統(tǒng)計量的屬性離散化連續(xù)屬性值;基于相容矩陣約簡屬性,得到數(shù)據(jù)集 ;③ 調(diào)用基于粗糙集分類算法[14]得到一組最優(yōu)的分類規(guī)則集并保存在分類規(guī)則庫中;D a t a C
④ 讀取增量數(shù)據(jù)集并進行預(yù)處理(融合相關(guān)度和C h i-m e r g e統(tǒng)計量的屬性離散化),得到 ;如果增量數(shù)據(jù)集為空,跳轉(zhuǎn)到⑥;D a t a C D a t a C⑤ 用當前分類規(guī)則庫中的規(guī)則對 進行分類,如果達到預(yù)期效果 (規(guī)則強度、確定度和覆蓋度),則將 與 合并,跳轉(zhuǎn)到④;否則執(zhí)行③;⑥ 輸出當前分類規(guī)則集.D a t a CΔ D a t a C D a t a C=D a t a C∪Δ D a t a C
算法3采用順序覆蓋策略,每學(xué)習(xí)一個規(guī)則可刪除該規(guī)則覆蓋數(shù)據(jù);對其它數(shù)據(jù)重復(fù)該過程直到終止條件,即沒有訓(xùn)練樣本/返回的規(guī)則的分類質(zhì)量低于預(yù)期效果(規(guī)則強度、確定度和覆蓋度).
為提高慢性病變智能分級的準確性,特別是針對大規(guī)模生理監(jiān)測數(shù)據(jù),需要發(fā)揮云端并行化處理優(yōu)勢.MapReduce并行化框架通過對數(shù)據(jù)集的大規(guī)模操作分發(fā)給網(wǎng)絡(luò)上的每個節(jié)點;每個節(jié)點會周期性返回所完成的工作和最新狀態(tài).用戶只需編寫Map函數(shù)和Reduce函數(shù),即可實現(xiàn)大規(guī)模數(shù)據(jù)并行處理.慢性疾病智能分類及預(yù)測的完整過程:實時監(jiān)測獲取生理數(shù)據(jù);經(jīng)過融合相關(guān)度和Chi-merge統(tǒng)計量對連續(xù)屬性離散、基于相容矩陣的屬性約簡算法降低原始數(shù)據(jù)集維數(shù)以及基于批量和增量相結(jié)合的分類規(guī)則挖掘;在線生理監(jiān)測數(shù)據(jù)利用上述分類規(guī)則聚類,確定病例智能分級.
廈門理工學(xué)院自主研制云健康監(jiān)測系統(tǒng)Cloud-Health,該系統(tǒng)基于 Android 4.1.2,jdk1.7,基于 Bluetooth協(xié)議連接人體生理參數(shù)采集終端,并支持2G、3G、4G、WIFI等連接云平臺.Cloud-Health實現(xiàn)心電、心率、血壓、血氧飽和度和血糖在線監(jiān)測,并根據(jù)慢性疾病智能分類及預(yù)測的結(jié)果,進行膳食推薦、運動推薦和就醫(yī)服務(wù)推薦.Cloud-Health支持聯(lián)接廈門市“健康醫(yī)療云”,該醫(yī)療云支持與各類健康管理終端對接,已實現(xiàn)體重、體溫、血壓、血糖、心電、血氧、血脂等14項生理指標的收集,已建立個人健康檔案330余萬份,占90%常住人口),最終滿足居民慢性病變智能預(yù)警和突發(fā)狀況救治的需要.圖1展示云健康監(jiān)測系統(tǒng)的主界面及心電監(jiān)護界面.
實驗數(shù)據(jù)取自廈門市集美區(qū)110198條健康監(jiān)測數(shù)據(jù).每條數(shù)據(jù)包括個人資料(年齡、性別、民族、婚姻、學(xué)歷)、生活偏好(抽煙、喝酒、鍛煉、睡眠時間等)、常規(guī)體檢數(shù)據(jù)(身高、體重、腰圍、臀圍)和監(jiān)測數(shù)據(jù)(心電、心率、血壓、血氧飽和度和血糖),樣本平均年齡64.9歲.糖尿病(Diabetes)數(shù)據(jù)共40個條件屬性、高血壓(Hypertensive disease)數(shù)據(jù)共35個條件屬性、冠心病 (Coronary heart disease)數(shù)據(jù)共 35 個條件屬性;健康風(fēng)險就是決策屬性(H高等風(fēng)險、M中等風(fēng)險和L低等風(fēng)險).
圖1 云健康監(jiān)測系統(tǒng)
以糖尿病數(shù)據(jù)為例,運用基于粗糙集的慢性病變分級方法,融合關(guān)聯(lián)度和Chi-merge統(tǒng)計量對數(shù)據(jù)連續(xù)區(qū)間離散化,得到初始屬性40個、初始斷點數(shù)123;基于相容矩陣的屬性約簡(正確分類率 α=0.9),得到剩余屬性9個、斷點數(shù)16個.表1給出慢性病(糖尿病、高血壓、冠心病)主要屬性.
表2展示部分糖尿病數(shù)據(jù)分級預(yù)測結(jié)果.采用批量與增量相結(jié)合的分類規(guī)則挖掘,得到12條規(guī)則;基于MapReduce框架運用規(guī)則庫實現(xiàn)分級預(yù)測.記年齡(c1),身體質(zhì)量指數(shù)(c2),腰臀比(c3),吸煙(c4),甜食(c5),血氧飽和度 (c6),心率 (c7),血糖 (c8),收縮壓 (c9),健康風(fēng)險類別(d),部分規(guī)則示例如下:
對x1數(shù)據(jù)運用規(guī)則R1:57歲,男性,身體質(zhì)量指數(shù)BMI值為 26.9(中國標準:[24,27.9],偏胖),有吸煙史、喜歡甜食,血氧飽和度 SpO2 值 92%(中國標準:<94%,供養(yǎng)欠缺),心率 (中國標準:[60,100],標準),血糖(FBG)值范圍 (6.98,7.48] (中國標準:空腹全血血糖FBG≥6.7毫摩爾/升兩次可診斷為糖尿病);收縮壓(132,136] (中國標準:≥140 mmHg,高血壓),經(jīng)分類規(guī)則判定為高等風(fēng)險(H).對x7數(shù)據(jù)運用規(guī)則R3:54歲,男性,身體質(zhì)量指數(shù)BMI值為24.1,有吸煙史、喜歡甜食,血氧飽和度 SpO2 值 91%,心率 (76,83],血糖(FBG)值范圍 (6.7,7.06];收縮壓 (145,157],經(jīng)分類規(guī)則判定為低等風(fēng)險(L),醫(yī)生綜合診斷后更傾向于高血壓(低等風(fēng)險L).該方法識別準確率89.23%、誤識率10.77%,其根本原因在于生理監(jiān)測數(shù)據(jù)具有時間連續(xù)性、非精確性、模糊性等特性.
表1 慢性病 (糖尿病、高血壓、冠心病)主要屬性
表2 部分糖尿病慢性病變分級結(jié)果
需要說明的是,雖然對于常見的慢性疾病(高血壓、糖尿病和冠心病),使用基于粗糙集的慢性病變分級方法雖可以得到較好的預(yù)測結(jié)果.但限于數(shù)據(jù)等條件,該方法目前尚未完全發(fā)揮云計算技術(shù)在大數(shù)據(jù)分析和挖掘中的優(yōu)勢.如果在云端平臺采用多種數(shù)據(jù)挖掘方法對生理監(jiān)測數(shù)據(jù)進行協(xié)同分析,可以提高慢性病變分級和診斷的精確度.
目前傳感器網(wǎng)絡(luò)、云計算和大數(shù)據(jù)技術(shù)正逐步應(yīng)用到智慧醫(yī)療領(lǐng)域.云健康監(jiān)測利用附著人體的智能生理參數(shù)傳感器獲取人體生理數(shù)據(jù),并上傳到健康醫(yī)療云端,是智慧醫(yī)療領(lǐng)域未來發(fā)展方向之一.為滿足居民慢性病變智能預(yù)警和突發(fā)狀況救治需要,根據(jù)生理監(jiān)測數(shù)據(jù)的時間連續(xù)性、非精確性和模糊性等特點,本文提出一種基于粗糙集的慢性病變分級方法,即首先采用融合相關(guān)度和Chi-merge統(tǒng)計量離散化生理監(jiān)測數(shù)據(jù);然后,基于相容矩陣的屬性約簡算法去除數(shù)據(jù)冗余屬性;最后,基于批量與增量相結(jié)合挖掘分類規(guī)則,基于分布計算框架MapReduce運用規(guī)則實現(xiàn)慢性病變智能分級.該方法有利于幫助個體全面認識健康狀況和病變風(fēng)險,有助于“健康醫(yī)療云”走入家庭慢性疾病監(jiān)護領(lǐng)域,有利于緩解目前醫(yī)療資源緊缺現(xiàn)狀.
下一步工作包括:提高云健康監(jiān)測中慢性病變分級的識別率,包括:提高生理監(jiān)測數(shù)質(zhì)量,充分考慮降低數(shù)據(jù)的缺失值比率;完善云健康監(jiān)測系統(tǒng)的功能,展開示范性應(yīng)用和推廣.