母東生,蔡夢杰,王桂娟,陳華容,吳亞東
(1.西南科技大學 計算機科學與技術學院,四川 綿陽 621000; 2.四川輕化工大學 計算機科學與工程學院,四川 自貢 643000)
據世界衛(wèi)生組織估計,全球約有4.22億糖尿病患者,每年約有340萬人死于糖尿病,預計到2030年糖尿病將成為第7位主要死因,糖尿病已經成為嚴重威脅人類健康和生命安全的主要慢性疾病之一[1]。大量的流行病學研究表明:超重、肥胖、靜息活動、不良生活習慣和糖尿病家族史等是誘發(fā)糖尿病的致病因素,大致概括為遺傳因素與環(huán)境因素。隨著人們生活水平的顯著提高,環(huán)境因素在糖尿病的發(fā)展中成為了一個非常重要的因素。患者日常生活的不良習慣,例如吸煙、嗜酒、飲食不合理等都會促使其病情的加劇,而現如今還未探索出治愈糖尿病的治療方法,但是可以通過控制其自身或周邊的危險因素來有效預防和控制糖尿病病情的發(fā)展[2]。因此糖尿病的預防應該從合理的生活方式開始,倡導健康的生活方式,改變不良的生活習慣。同時也可以通過機器學習模型對糖尿病患者的病情進行預測,讓患者了解病情發(fā)展情況,進而才會主動采取有效的措施預防糖尿病。另外,不同的預測模型針對不同的數據類型預測的效果也不盡相同,一個好的預測結果能提高臨床決策和診療方案制定的速度。因而探究糖尿病的風險因素影響以及糖尿病預測都具有重大意義。
可視分析作為大數據領域的一個分支,其綜合了數據挖掘、可視化模型設計等相關技術,通過人的參與及機器的自動分析,既保持了數據分析過程的高效性,又結合了人的經驗知識提高分析結果的準確性。與晦澀難懂的數學模型及枯燥乏味的數據表格相比,可視分析以圖形化的方式展示了數據背后的模式和規(guī)律,輔助用戶更好地發(fā)掘、認知數據所蘊含的信息[3]。利用可視化與可視分析可以幫助患者與醫(yī)師能更好地發(fā)現醫(yī)療健康數據所蘊藏的價值。因此,文中設計了糖尿病演變與預測的可視分析系統(tǒng)。通過關聯多個視圖,提供豐富的交互操作,探究一定時間內糖尿病變化程度,分析生活習慣對疾病演變的影響方向。同時,利用隨機森林、GBDT、線性回歸等算法建立預測模型,對患者血糖變化進行預測。構建折線圖分析預測效果,對各類模型的預測效果進行比較。并通過交互手段根據用戶生活習慣得到血糖變化。有利于提高患者的防范意識,輔助醫(yī)生進行及時干預從而降低糖尿病的死亡率。對于節(jié)約醫(yī)療資源,減輕家庭重擔,實現疾病早預警和治未病具有重要意義。
文中利用了某公司提供的醫(yī)療健康數據,驗證文中所提系統(tǒng)的研究意義。主要貢獻如下:
(1)設計了一個交互式可視分析系統(tǒng),通過交互的方式來分析生活習慣對于疾病演變的影響。
(2)通過患者生活習慣,利用多種機器學習模型預測血糖變化,評估預測模型效果。進一步分析了當前生活習慣的影響。
(3)設計了交互界面,根據輸入信息預測患者血糖值。讓患者清楚知道當前生活習慣的優(yōu)劣。
近年來隨著城市化的大力發(fā)展,人們生活水平的升高,生活方式的改變以及人口老齡化的加劇,糖尿病的患病率也在不斷攀升。因此,預防糖尿病是當今社會研究的一個重要主題。部分研究者從影響糖尿病的危險因素出發(fā),研究生活方式對于糖尿病的影響;通過構建預測模型對糖尿病的發(fā)生進行預測提供輔助治療;構建可視化視圖利用可視分析的方式探究疾病信息。文中概述了關于上述3個方面的相關工作。
大量研究表明生活方式干預是預防糖尿病的一種有效方式。當醫(yī)生診斷出患者患有輕度糖尿病時,他們會建議患者改善他的生活方式,采取一個健康的制度和一個良好的飲食習慣可以幫助預防糖尿病。單純的運動因素及生活習慣能改變血糖水平。曹錦梅等[4]通過數據挖掘技術表明慢性非傳染性疾病與人的日常生活、生活習慣等緊密相關。所以了解生活習慣對疾病的影響是預防糖尿病的重要措施之一。王洪峰[5]通過改進Apriori算法從醫(yī)療數據中得到了慢性病的生活習慣影響規(guī)則,并利用此規(guī)則建立了生活習慣預測系統(tǒng)。陳松景等[6]利用反向傳播神經網絡的患病因素對血糖影響的量化進行分析,篩選出性別、體重等10個因素。通過相關學者研究結果,文中提煉了糖尿病患者的日主食量、吸煙量、飲酒量、每日鍛煉時間、每周鍛煉次數等作為影響糖尿病的生活習慣因素進行研究。
機器學習模型可以對疾病進行有效預測,給醫(yī)生與患者提供參考。大量學者構建預測模型,對糖尿病預測進行了深入研究。這些預測模型利用不同的危險因素分析糖尿病。如Chien K[7]用Cox回歸模型建立了適合中國人群的糖尿病風險預測模型。侯玉梅[8]和楊光[9]探索決策樹模型在糖尿病預測中的應用,發(fā)掘糖尿病患病的得病風險規(guī)律。張穎[10]建立了基于支持向量機的預測模型,探討支持向量機篩選疾病影響因素及構建基本預測模型的作用。張春富[11]提出一種GA_Xgboost模型應用于糖尿病風險預測。Neha[12]挖掘糖尿病病人的生活方式和家庭背景數據,利用多種機器學習分類的方法分析2型糖尿病數據進行預測。并對各類機器模型進行對比?;诖耍闹幸怖昧穗S機森林、GBDT以及線性回歸算法預測糖尿病患者血糖變化量。
隨著醫(yī)療信息化高速發(fā)展,智能信息化醫(yī)療不斷創(chuàng)新,醫(yī)療數據可視化分析技術對于直觀展示醫(yī)療數據分析結果變得尤為重要。張易軒等[13]通過臨床醫(yī)生對于糖尿病的強化治療設計了一種帶有多維相關數的時變事件可視化工具來幫助臨床醫(yī)生對糖尿病的管理,促進教育干預。Hakone等[14]以病人為中心,通過可視化對比兩種預測模型來評估患者的風險幫助前列腺癌患者對于保守治療和手術的選擇。Michael等[15]采用差分層級比價算法分析患者之間的表型。提出了PhoneBlocks表型比較可視化系統(tǒng)幫助醫(yī)師對臨床性疾病的鑒別。
楊沁柳[16]通過對Apriori挖掘2型糖尿病的關聯規(guī)則,并通過構建決策樹與支持向量機預測患者的病情情況。而文中從可視分析的方式出發(fā),設計了糖尿病血糖演變與生活習慣分布圖,探究生活習慣對于血糖變化的影響,利用預測模型得出的預測值進一步分析各生活習慣的影響程度。此外還對各類預測模型進行了對比。
文中系統(tǒng)主要由4個模塊組成,即數據處理模塊、預測模型構建、可視化模塊以及交互模塊。根據這4個模塊,提出了可視分析的系統(tǒng)流程,如圖1所示。
圖1 系統(tǒng)設計流程
首先對原始數據進行清洗、變換操作。便于進一步結合可視化圖表分析病情演變與擬合預測模型。然后,通過對數據可視化以及不同視圖之間的交互,分析生活習慣對于糖尿病病情的演變影響。通過可視化直觀分析各機器學習模型的預測效果并比較模型。以與用戶交互的形式幫助用戶分析當前生活習慣的影響程度。
文中的原始數據利用的是某地區(qū)的糖尿病隨訪數據。對于提取的原始數據,需要分析其噪聲數據與異常數據,如對于這類數據可以用均值、中位數或眾數來代替。所取數據中,刪除了離散較大的值,例如血糖高于50 mmol/l、身高低于1 m等。生活習慣存在少量空值,因為大多數人的生活習慣差異不大,所以文中采用眾數來填充空值。
3.2.1 隨機森林模型
隨機森林[17]是由Breiman將其在1996年提出的Bagging集成學習理論[18]與Ho在1998年提出的隨機子空間方法[19]相結合,于2001年發(fā)表的一種機器學習算法。隨機森林主要應用于分類和回歸。文中主要研究糖尿病的血糖變化,屬于回歸問題。隨機森林回歸(RFR)的基本思想隨機森林回歸算法是由一組回歸決策子樹{h(x,θt),t=1,2,…}構成的組合模型。其中θt是服從獨立同分布的隨機變量,x表示自變量,T表示決策樹的個數。利用集成學習的思想取各決策子樹{h(X,θt)}的均值作為回歸預測結果。
(1)
其中,h(x,θt)為基于x和θ的輸出。
3.2.2 GBDT算法
GBDT(gradient boosting decision tree)又叫梯度提升樹,是一種迭代的決策樹算法,在1999年由Jerome Friedman[20]提出,該算法由多棵決策樹組成,最終結果由所有樹的結論相加組成。主要思想是每次建立模型是在之前建立的模型損失函數的梯度下降方向,這也是Boosting思想在GBDT中的體現。GBDT的模型可以表示為:
(2)
GBDT的提升方法采用的是加法模型以及不斷減小訓練過程產生的殘差來完成數據分類或者回歸。那么第m個分類器的預測結果表示為:
F(x)=Fm-1(x)+λmhm(x)
(3)
而hm(x)的優(yōu)化目標就是最小化當前預測結果Fm-1(xi)+hm(xi)和yi之間的差距。
(4)
3.2.3 線性回歸
多元回歸分析預測法,是指通過對兩個或兩個以上的自變量與一個因變量的相關分析,建立預測模型進行預測的方法。當自變量與因變量之間存在線性關系時,稱為多元線性回歸分析。多元線性回歸模型的一般形式為:
Y=β0+β1X1+β2X2+β3X3+…+
βjXj+…+βkXk+μ
(5)
其中,k為解釋變量的數目,βj(j=1,2,…,k)為回歸系數(regression coefficient),μ為去除k個自變量對Y影響后的隨機誤差。
為了能主觀、定量地評價模型的優(yōu)劣,文中主要從精度方面分析。模型精度評價指標選用平均絕對誤差MAE、均方根誤差MSE、平均絕對百分比誤差MAPE以及確定性系數(R2)。MAE、MSE和MAPE用于評估真實值和預測值的差異,它們是回歸任務中最常用的性能指標,值越小代表預測越準確。R2用于評估模型的解釋度,值越大模型解釋性越強。各指標計算公式分別為:
(6)
(7)
(8)
(9)
基于需求,文中設計了基于生活習慣的糖尿病病情預測與可視分析系統(tǒng)。通過多個視圖可視化糖尿病病情的演變與預測信息。利用不同視圖之間的交互分析生活習慣與糖尿病病情衍變的關系,同時利用了隨機森林、GBDT、線性回歸等多種機器學習模型預測患者血糖變化,并對各模型的預測效果進行比較。
該系統(tǒng)主要包括糖尿病人群的血糖衍變圖、生活習慣分布圖與預測模型的預測效果對比圖,以下將各個視圖的可視化設計細節(jié)做進一步闡述。
中華醫(yī)學會糖尿病學分會[21]中指出,糖尿病患者的空腹血糖參考值為:輕度糖尿?。?.0~8.4 mmol/l,中度糖尿?。?.4~11.1 mmol/l,重度糖尿?。捍笥?1.1 mmol/l。據此,文中將空腹血糖值劃分為四個等級。正常血糖值小于7.0 mmol/l。同時,以年作為糖尿病病情演變的時間單位。如圖2所示,各個節(jié)點表示那一年屬于這個血糖等級的人群。由節(jié)點的長度,分析人員可以得出這個血糖等級的數量。節(jié)點的遷移線寬度表示經過一年的時間當前血糖等級的人群向后一年的血糖等級衍變的數量,寬度越大表示所指向的那個血糖等級節(jié)點的人群數量越多。如圖2,當選中某個節(jié)點,系統(tǒng)會默認高亮這個血糖等級節(jié)點與之相關的后一年的節(jié)點與遷移線。能夠直觀地幫助分析人員了解此血糖等級的人群經過一年的生活習慣影響后血糖等級的變化情況。
圖2 系統(tǒng)界面概覽
圖2中呈現了生活習慣數據的分布。生活習慣數據比較分散,種類繁多。所以文中采用了不受異常值影響,能夠準確穩(wěn)定地描繪出生活習慣數據離散分布情況的箱形圖作為生活習慣分布圖。箱線圖(又稱盒須圖、箱形圖)通過繪制連續(xù)型變量的五數總括(最小值、下四分位數、中位數、上四分位數、最大值)來描述其分布。以中位數代表當前人群生活習慣。箱線圖的高度表示生活習慣數據的跨度。鑒于生活習慣指標度量單位之間的差異,標準化的處理雖是一個好方法,但在同一坐標系中視圖的可讀性很弱,所以文中采用了small-multiple chart的形式來展示不同單位之間的數據。
與血糖演變圖結合,該圖會根據用戶選擇的血糖等級顯示這部分血糖等級演變的人群的生活習慣分布。通過篩選血糖升高人群與血糖降低人群,對比這兩個人群生活習慣分布的差異。以此來了解生活習慣對于血糖升高降低的影響。
系統(tǒng)利用預測模型探究了以生活習慣數據預測糖尿病患者的血糖變化。以時間跨度內的空腹血糖值變化值作為預測標簽,以3個基本因素(基礎血糖值,身高,體重)與5個生活習慣因素(吸煙,主食,日運動時間,周運動次數,飲酒)作為預測因子。數據處理后,將數據集以4∶1劃分為訓練集與測試集。在訓練集中分別應用隨機森林、GBDT、線性回歸等機器模型算法建立血糖預測模型,用測試集進行模型驗證。
機器學習模型的預測效果很大一部分取決于參數的選擇,不同的參數有不同的功能,這些參數設定是否合理,對于模型的評估有著重要的影響。而超參數的調節(jié)通常取決于經驗判斷和遍歷實驗,傳統(tǒng)方法效果欠佳且缺乏理論支持。因此文中采用過程簡單、速度快的貝葉斯優(yōu)化,得到模型最優(yōu)參數。
如圖2所示,系統(tǒng)展示利用測試數據驗證的各種分類器的預測值與真實值。以測試集的數據量為x軸,預測結果為y軸,生成各模型預測效果對比圖。此外,分析人員利用數據區(qū)域縮放對所選部分的數據細節(jié)展示,通過拖動與放大細節(jié)可以更加清楚地觀察到各個機器學習模型的預測結果。通過點擊各條折線圖就能查看各機器學習模型具體的預測值,能直觀精確地比較各種模型的預測誤差。定性地評價各模型優(yōu)劣。此外,為了能對預測模型有個定量的直觀的評價分析,圖2展示了三個預測模型不同精度評價的量化指標。利于患者直觀的根據評價指標選擇較好的預測模型。
患者糖尿病預測值的融合設計如圖2所示,系統(tǒng)提供了生活習慣數據與預測模型的交互選擇設計了一個能輸入患者生活習慣數據的交互界面,分析人員可以填入各項數據。系統(tǒng)會根據所填數據,給出患者血糖變化的預測結果。同時血糖演變圖會根據當前的生活習慣與預測血糖變化值高亮與之相匹配的血糖等級演變,讓分析人員及患者更加清楚地了解到生活習慣對于血糖的影響。
此外在圖2中,系統(tǒng)給出了與預測標簽相關的特征重要性評估。為預測因子對于預測效果的重要性做了排名。能供用戶清楚直觀地知道不同的生活習慣因素對于血糖演變的重要程度。
基于文中所提出的系統(tǒng),采用某地區(qū)的糖尿病建檔數據,提取了數據中2015年到2018年非藥物治療的糖尿病患者生活習慣數據。對數據進行過濾篩選后,選擇了3 061條數據。將空腹血糖值劃分為四個血糖等級,利用生活習慣以及預測模型來分析不同血糖等級的人群生活習慣對于血糖變化的影響。
系統(tǒng)通過血糖演變視圖展現了不同血糖等級的糖尿病人群經過一年時間的血糖等級演變情況。從圖中知道,每個等級的人群,經過一年生活習慣的影響,都會存在著變化。如圖3(a)選中2016年患輕度糖尿病的人群節(jié)點(記為“節(jié)點16”)可以發(fā)現,經過一年的時間,輕度血糖等級的1 419人中有846人血糖值沒有發(fā)生改變或者變化不大。573人的血糖等級發(fā)生改變。而這573人中有305人的血糖等級升高了。另有268人的血糖等級降低了,圖3(a)中的餅圖表示了不同血糖變化的占比。圖3(c)展示了由2016年輕度血糖人群的血糖等級升高、不變、降低的三類人群的生活習慣分布。如圖,吸煙與飲酒的1/4位,1/2位于3/4位重疊且為最低,表明大部分血糖患者是不吸煙不飲酒。而以中位數評判,血糖降低人群的日鍛煉時間與周鍛煉次數則高于血糖升高人群。且彼此之間的差距則明顯大于吸煙飲酒之間的差異。這可能說明鍛煉相比于吸煙,飲酒更能讓糖尿病患者的血糖值發(fā)生改變。此外,圖2中對于生活習慣特征重要性的排名,鍛煉的重要性都高于吸煙與飲酒,也能對此觀點進行輔證。主食的差異不大。
如圖3(b),選中血糖改變較多的2017年中度糖尿病的人群節(jié)點(記為“節(jié)點17”)。這個人群的血糖改變約占50%,且血糖等級變低的超過30%。結合圖3(c)與圖3(d)兩個血糖等級人群的生活習慣可以發(fā)現,“節(jié)點17”(圖3(d))的生活習慣數據跨度比“節(jié)點16”(圖3(c))的跨度大。這可能說明跨度越大生活習慣越不穩(wěn)定,表示血糖等級變化的可能也就越大。相反,跨度越小代表血糖等級發(fā)生變化的可能也就越小。
圖3 生活習慣與血糖交互分析
采用最開始一年的數據。則預測標簽為2015年到2016年這一年的血糖變化值。預測因子為2015年到2016年的生活習慣數據。如圖4所示,展示了隨機森林、GBDT和線性回歸三種機器學習模型的預測結果與真實值對比。通過拖動與放大細節(jié)可以發(fā)現真實值的分布更離散,三種預測曲線的線性變化雖都與真實值的線性變化相似,但預測值的波動幅度沒有真實值大。原因可能在于,訓練模型中較大值與較小值出現次數少,從而權重較小,導致模型的預測趨向于常見值。而三種模型中隨機森林模型的線性變化與真實值之間更為吻合,用戶通過點擊各條折線就能方便地查看和比較各種模型預測誤差。線性回歸差距最大。GBDT模型的預測效果和隨機森林預測誤差偏小。
圖4 預測模型效果與對比
評估三種預測模型的精度指標,如圖5所示??梢园l(fā)現,隨機森林的R-squred稍大,證明GBDT與線性回歸解釋性方面不如隨機森林。隨機森林的MAE、MSE與MAPE稍小,說明隨機森林模型的預測精度較優(yōu)。
另外,通過填寫一名患者的生活習慣數據(基礎血糖7.2 mmoL/l、主食量400 g、身高164 cm、吸煙0根/天、飲酒0 L/d、日鍛煉時間30分鐘、周鍛煉次數4次),選用隨機森林模型預測。系統(tǒng)給出預測結果為此生活習慣下一年后患者血糖為6.6 mmoL/l,血糖變化為降低了。
圖5 預測模型評估
經過案例分析,可以發(fā)現生活方式能對血糖變化產生影響。不同的生活方式,影響的血糖變化不一,健康的生活方式能對血糖變化有積極的作用。針對此數據,集成模型的預測效果明顯優(yōu)于線性回歸模型。
文中通過可視化的方式探究了生活習慣對于糖尿病演變的影響,并通過構建多個機器學習模型(線性回歸,隨機森林和GBDT)來預測糖尿病的血糖變化。首先,系統(tǒng)將糖尿病的血糖分為正常、輕度、中度和重度四個等級并設計了單位時間內的血糖演變圖,并利用箱線圖展示不同血糖等級的生活習慣分布情況。結合二者,探究了在不同血糖等級的情況下生活習慣對于血糖的影響不同。健康的生活習慣對于單位時間內的血糖降低有一定的作用。并結合由機器學習算法得出的影響血糖值變化的特征重要性,分析出了生活習慣特征對于血糖的影響效果不同。通常有效的鍛煉比飲食、吸煙和飲酒更能影響血糖的變化??梢暬烁鳈C器學習模型的預測效果,并對各預測效果進行了比較。
通過對某地區(qū)2015-2018的糖尿病隨訪數據的可視分析,表明了該系統(tǒng)具有良好的使用性和拓展性。但通過總結實際應用中存在的問題發(fā)現,它仍存在著不足。文中結合可視分析,在設計中盡可能地使用簡單易用的可視化技術,但很多可視化細節(jié)仍需改進,可視化圖的信息傳遞還可以更為豐富和細膩。系統(tǒng)分析的是不同生活習慣對于血糖等級的影響,血糖演變的時間跨度也統(tǒng)一為1年。在未來工作中,將分析相同生活習慣對于不同血糖等級的影響,引入不同時間跨度分析血糖演變情況,并將其設為新的機器學習模型的特征值加入訓練。此外,此系統(tǒng)的預測模型只考慮了三類不具有多樣性,還可以引入其他類別機器學習算法。