耿曉斌,程云章,鐘 鳴,李 帆
(1.上海理工大學(xué)上海介入醫(yī)療器械工程技術(shù)研究中心,上海 200093;2.復(fù)旦大學(xué)附屬中山醫(yī)院 重癥醫(yī)學(xué)科,上海 200032)
重癥監(jiān)護(hù)室(Intensive Care Unit,ICU)收治患者往往由于嚴(yán)重創(chuàng)傷、感染、大手術(shù)或心腦血管疾病等原因,身體處于應(yīng)激狀態(tài),易出現(xiàn)血糖急劇升高,稱為應(yīng)激性高血糖(Stress Hyperglycemia)[1]。ICU 患者高血糖一部分是由于既往糖尿病史,另一部分是由于機體應(yīng)激反應(yīng)而出現(xiàn)的持續(xù)性高血糖或波動性高血糖。
持續(xù)性高血糖會導(dǎo)致患者機體免疫力下降、易發(fā)生感染、傷口愈合緩慢等問題。波動性高血糖則會誘導(dǎo)氧化應(yīng)激增強,導(dǎo)致細(xì)胞內(nèi)正常糖代謝途徑受損,多元醇途徑、蛋白激酶C 途徑等旁路代謝過度激活,細(xì)胞內(nèi)產(chǎn)生過量活性氧簇,造成細(xì)胞、組織結(jié)構(gòu)功能障礙,進(jìn)而導(dǎo)致并發(fā)癥發(fā)生[2]。上述情況不利于重癥患者病情恢復(fù),影響患者預(yù)后評價,延長重癥監(jiān)護(hù)時間[3]。
謝陽煌等[4]發(fā)現(xiàn)血糖變異是影響ICU 非糖尿病患者預(yù)后評價的重要因素,降低患者的血糖波動有利于ICU 患者預(yù)后;曾泳萍[5]研究發(fā)現(xiàn),隨著膿毒癥患者病情加重,血糖變異的相關(guān)指標(biāo)也出現(xiàn)上升趨勢;劉娟等[6]發(fā)現(xiàn)血糖水平與血糖變異度升高會增加膿毒癥患者死亡風(fēng)險,對于嚴(yán)重應(yīng)激性高血糖患者應(yīng)及時進(jìn)行適當(dāng)?shù)囊葝u素治療以緩解病情;衛(wèi)芳征[7]通過血糖變異度對ICU 重癥結(jié)核病患者不良預(yù)后關(guān)聯(lián)研究發(fā)現(xiàn),隨著血糖變異增加,患者機械通氣時間及ICU 重癥監(jiān)護(hù)時間也相應(yīng)延長。
上述研究通過統(tǒng)計學(xué)方法分析重癥患者血糖變異對預(yù)后和重癥監(jiān)護(hù)時長影響,但無法定量給出時長預(yù)測結(jié)果。近年來,機器學(xué)習(xí)算法因其具有非線性以及泛化能力強等特點而快速發(fā)展,越來越多地應(yīng)用到醫(yī)療數(shù)據(jù)分析中。機器學(xué)習(xí)過程就是通過訓(xùn)練數(shù)據(jù)尋找目標(biāo)函數(shù),常用算法有K 最近鄰算法(k-Nearest Neighbor,KNN)、決策樹(Decision Tree,DT)、隨機森林(Random Forest,RF)、支持向量機(Support Vector Machine,SVM)、神經(jīng)網(wǎng)絡(luò)、極限學(xué)習(xí)機等。通過對大量生理和病理醫(yī)療數(shù)據(jù)進(jìn)行分析,挖掘出隱含的有用信息,可有效輔助醫(yī)生進(jìn)行疾病診斷和病情評估。
本文構(gòu)建隨機森林模型,對應(yīng)激血糖影響下的ICU 患者重癥監(jiān)護(hù)時長進(jìn)行預(yù)測,以幫助醫(yī)生制定合理的治療計劃,確定最佳出院時間,緩解患者經(jīng)濟(jì)負(fù)擔(dān),提高ICU 病床資源利用效率。
血糖變異(Glucose Variability,GV)又稱血糖波動、血糖漂移,是指機體的血糖水平在其高峰和低谷間不斷上下起伏的非穩(wěn)定狀態(tài)[8]。GV 可觸發(fā)氧化應(yīng)激以及激發(fā)炎癥因子表達(dá),從而引起胰島β 細(xì)胞和周圍組織、血管、神經(jīng)損傷。ICU 患者血管內(nèi)皮損傷會引起糖尿病慢性微血管及大血管病變,加重心腦血管病情,還可能出現(xiàn)凝血功能異常等問題,延長重癥監(jiān)護(hù)時間[9]。
GV 分為日內(nèi)變異、日間變異和長期變異。本文為預(yù)測ICU 患者監(jiān)護(hù)時常,選取患者進(jìn)入ICU 第一天的日內(nèi)血糖變異作為輸入,主要指標(biāo)有:
(1)血糖平均值(Mean Blood Glucose,MBG)。ICU 患者進(jìn)食和營養(yǎng)補充沒有固定的時間節(jié)點,無法準(zhǔn)確獲得其餐前和餐后血糖,故將多次測得的隨機血糖求平均后作為其日內(nèi)血糖平均值[10]。
(2)血糖標(biāo)準(zhǔn)差(Standard Deviation of Blood Glucose,SDBG)。為多次測得血糖值的標(biāo)準(zhǔn)差,用來描述血糖總體水平偏離平均血糖的幅度。最早1977 年被Tarui 等[11]使用,是評價血糖變異的經(jīng)典指標(biāo)。
(3)血糖變異系數(shù)(Coefficient of Variation of Blood Glu?cose,CVBG)。是描述血糖離散程度的重要指標(biāo),可反映血糖的動態(tài)變化情況,其值是血糖標(biāo)準(zhǔn)差與平均血糖比值所得的百分?jǐn)?shù),CVBG=SDBG×100/MBG。
(4)高血糖發(fā)生率(High Blood Glucose Rate,HBGR)。臨床上認(rèn)為ICU 患者的隨機血糖值高于10mmol/L 即為發(fā)生應(yīng)激高血糖,高血糖發(fā)生率定義為高血糖發(fā)生次數(shù)與血糖測量總次數(shù)比值。
(5)低血糖發(fā)生率(Low Blood Glucose Rate,LBGR)。由于ICU 患者普遍出現(xiàn)血糖升高現(xiàn)象,其低血糖的閾值界定也相應(yīng)增大,臨床上認(rèn)為ICU 患者的隨機血糖值低于5mmol/L 則視作為低血糖,低血糖發(fā)生率定義為低血糖發(fā)生次數(shù)與血糖測量總次數(shù)比值。
APACHE 是臨床普遍使用的ICU 患者病情嚴(yán)重程度和預(yù)后評估標(biāo)準(zhǔn),全稱為急性生理和慢性健康狀況評分系統(tǒng)(Acute Physiology and Chronic Health Evaluation,APACHE)。APACHE Ⅱ是Knaus 等[12]在1985 年提出的APACHEⅠ升級版,該評分系統(tǒng)由反映急性疾病嚴(yán)重程度的急性生理學(xué)評分(Acute Physiology Score,APS)和患病前慢性健康狀況評分(Chronic Health Score,CHS)兩部分組成。
APS 包含平均動脈壓、動脈血pH 值、動脈血氧分壓、心率、呼吸頻率和血清肌酐等12 項代表全身主要生理狀況的參數(shù)評分。為降低治療措施對評分結(jié)果的影響,各項參數(shù)取值選擇患者進(jìn)入ICU 后前24 h 內(nèi)的最差值,每項參數(shù)分值是0~4 分。CHS 主要考察患者進(jìn)入ICU 前3~6 個月身體狀況,綜合評價患者肝臟、心血管系統(tǒng)、呼吸系統(tǒng)、腎臟和免疫功能抑制的生理情況,給出慢性健康評分。
系統(tǒng)考慮年齡因素對患者預(yù)后影響,根據(jù)不同年齡分段把分?jǐn)?shù)分為6 檔,最終整合APS、CHS 和年齡后計入APACHE Ⅱ總分。本文選擇APACHEⅡ評分作為模型的一項輸入?yún)?shù)預(yù)測患者ICU 時長。
決策樹是一種以實例為基礎(chǔ)的歸納學(xué)習(xí)算法,屬于非線性有監(jiān)督學(xué)習(xí)模型。采用自頂向下、分而治之的遞歸方式,將搜索空間分為若干個互不相交的子集。把樣本實例從根節(jié)點排列到某個葉子節(jié)點對其進(jìn)行分類。每個非葉子節(jié)點代表一個屬性取值的測試,其分支就代表測試結(jié)果;每個葉子節(jié)點均代表一個分類,樹的最高層節(jié)點是根節(jié)點,如圖1 所示。

Fig.1 The decision tree圖1 決策樹
決策樹算法引入信息論中信息熵(Entropy)概念,如果目標(biāo)屬性具有c 個不同值,那么集合S 相對于c 個狀態(tài)的分類熵定義為:

決策樹實現(xiàn)算法有ID3、C4.5 和CART 等。ID3 算法采用信息增益(Information Gain)準(zhǔn)則劃分屬性。假定通過屬性劃分樣本集S 產(chǎn)生V 個分支點,v 表示第v 個分支點。分支節(jié)點包含樣本數(shù)越多,表示該分支節(jié)點影響力越大[13]。計算劃分后原始數(shù)據(jù)集S 獲得的信息增益:

其中,V(A)是屬性A 的值域;Sv是集合S 在屬性A 值等于v 的子集。信息增益越大,表示使用該屬性劃分樣本集D 的效果越好。因此,ID3 算法在遞歸過程中,每次都選擇最大信息增益屬性作為當(dāng)前的劃分屬性。
為處理連續(xù)特征問題以及改善特征選擇方式,Quin?lan[14]提出C4.5 算法,使用信息增益率(Gain Ratio)選擇屬性。信息增益率是使用信息增益與分裂信息量(Split Infor?mation)共同定義的。

其中,分裂信息量定義為:

通過使用信息增益率作為分類標(biāo)準(zhǔn),克服ID3 算法中信息增益選擇屬性時偏向選擇取值多的屬性的不足。同時C4.5 算法引入悲觀剪枝法(Pessimistic Prunting),使用訓(xùn)練集生成決策樹并用訓(xùn)練集進(jìn)行剪枝,以此處理決策樹過擬合問題。通過對連續(xù)特征進(jìn)行離散化分割還可實現(xiàn)對連續(xù)型特征輸入的處理。
為簡化特征選擇時的運算復(fù)雜度以及實現(xiàn)決策樹回歸,提出CART 算法(Classification And Regression Tree,CART),采用基尼系數(shù)Gini 作為特征選擇指標(biāo),Gini 越小,特征分類效果越好。
分類問題中,假設(shè)樣本D 中共有K 個類,樣本點屬于第k 類的概率為pk,則概率分布的基尼系數(shù)為:

對于樣本D,個數(shù)為|D|,根據(jù)特征A 的某個值a 把D 分成D1和D2,則在特征A 條件下,樣本D 的基尼系數(shù)為:

隨機森林是一種集成學(xué)習(xí)算法[15],由Breiman[16]在2001 年首次提出,其實質(zhì)是一個包含多個決策樹的分類器,這些決策樹采用隨機方法形成,包括對樣本的隨機采樣和分類特征的隨機選取,通過對多個基分類決策樹整合可獲得比單個決策樹更優(yōu)越的泛化性能[17]。
在構(gòu)建隨機森林過程中,首先采用自助采樣法(Boot?strap Sampling)對樣本數(shù)據(jù)進(jìn)行有回放的重采樣操作。假設(shè)集合S 中含有n 個不同樣本x1,x2,…,xn,每次從S 中抽取一個樣本,共抽取n 次形成新的集合S*,則集合S*中不包含某個樣本xi(i=1,2,…,n)的概率為:

當(dāng)n→∞時,有:

新集合S*與原集合S 的樣本總數(shù)都為n,但S*僅包含原集合S 中約1-0.368×100%=63.2%的樣本。隨機森林模型構(gòu)建如圖2 所示,具體步驟如下:①使用bootstrap 對數(shù)據(jù)進(jìn)行重采樣,隨機產(chǎn)生T 個訓(xùn)練集S1,S2,…,ST;②針對訓(xùn)練集S1,S2,…,ST生成與之相對應(yīng)的T 組CART 決策樹C1,C2,…,CT。在每個非葉子節(jié)點選擇屬性前,從M 個屬性中隨機抽取m 個屬性作為當(dāng)前節(jié)點的分裂屬性集,并以這m 個屬性中最好的分裂方式對該節(jié)點進(jìn)行分裂;③將測試集X 輸入C1,C2,…,CT中,得到分類結(jié)果C1(X),C2(X),…,CT(X);④采用投票辦法將T 個決策樹中輸出最多的類別作為測試集樣本X 所屬類別。

Fig.2 Random forests圖2 隨機森林
隨機森林算法中,不管是對樣本的隨機采樣還是對特征的抽樣甚至對切分點的隨機劃分,都是為了引入偏差,使基分類器之間具有明顯差異,提升模型的多樣性,使模型不會受到局部樣本影響。在處理高維數(shù)據(jù)、特征遺失數(shù)據(jù)、不平衡數(shù)據(jù)時該算法效果良好,模型泛化能力強[18]。
二分類問題需要根據(jù)模型在測試集上的表現(xiàn)衡量模型性能優(yōu)劣,根據(jù)樣本數(shù)據(jù)真實情況和模型分類結(jié)果將樣本分為4 類,混淆矩陣如表1 所示。
根據(jù)混淆矩陣得到分類準(zhǔn)確率(Accuracy)、精確率(Precision)和召回率(Recall),分別定義如下:

Table 1 Binary classification problems confusion matrix表1 二分類問題混淆矩陣

準(zhǔn)確率可從整體上評價模型分類性能,精確率、召回率分別描述模型的精度和覆蓋面,兩者一般情況下相互影響、此消彼長。為兼顧精確率和準(zhǔn)確率,取兩者的調(diào)和平均數(shù)作為評價分類器的綜合指標(biāo)F1-score,公式如下:

此外,還可通過模型的ROC(Receiver Operating Char?acteristic)曲線和AUC(Area Under Curve)值比較分類性能優(yōu)劣,通常認(rèn)為ROC 曲線越靠近坐標(biāo)軸上方性能越優(yōu),AUC 是ROC 曲線下方的面積值,其值越大代表分類準(zhǔn)確率越高。
本文數(shù)據(jù)來源于2017-01-01 至2018-12-31 期間在復(fù)旦大學(xué)附屬中山醫(yī)院重癥監(jiān)護(hù)科就診的1 156 名重癥患者,實驗數(shù)據(jù)已通過相關(guān)機構(gòu)研究與倫理委員會批準(zhǔn)。
實驗患者至少在ICU 病房住滿24h 并有首日血糖測量值,希望通過本預(yù)測模型判斷患者是否可以在3 天內(nèi)轉(zhuǎn)出ICU 病房。排除原始數(shù)據(jù)中首日血糖信息不全患者,最終選取1156 位患者的ICU 就診信息作為實驗數(shù)據(jù)。根據(jù)每位患者進(jìn)入ICU 首日測得的隨機血糖值,分別計算其血糖均值、血糖標(biāo)準(zhǔn)差、血糖變異系數(shù)以及高、低血糖發(fā)生率,同時獲取患者年齡、ApacheⅡ評分及是否使用呼吸機。結(jié)合血糖變異情況共8 個特征參數(shù)構(gòu)成實驗所用數(shù)據(jù)集,用來預(yù)測ICU 患者重癥監(jiān)護(hù)時長。
因樣本數(shù)據(jù)存在不平衡現(xiàn)象,所以對監(jiān)護(hù)時長大于3天的數(shù)據(jù)進(jìn)行部分重復(fù)采樣以保證樣本數(shù)據(jù)平衡[19]。隨機選取總樣本數(shù)據(jù)的75%作為訓(xùn)練集,剩余25%作為測試集。數(shù)據(jù)集輸入?yún)?shù)如表2 所示,具體參數(shù)值如圖3 所示,圖中橫軸標(biāo)簽0 代表3 天內(nèi)轉(zhuǎn)出ICU 的患者,標(biāo)簽1 代表監(jiān)護(hù)時長超過3 天的患者。

Table 2 Model input parameters表2 模型輸入?yún)?shù)

Fig.3 Data sets the input parameters圖3 數(shù)據(jù)集輸入?yún)?shù)
實驗采用Pyhton3.7 編程,在Windows 平臺下運行。以CART 決策樹作為基分類器,使用基尼系數(shù)作為特征選取指標(biāo)構(gòu)建隨機森林模型,使用訓(xùn)練集對模型進(jìn)行訓(xùn)練,通過十折交叉驗證和網(wǎng)格搜索法調(diào)整模型參數(shù)。
對已經(jīng)構(gòu)建好的隨機森林模型采用默認(rèn)參數(shù)得到測試集分類準(zhǔn)確率為83.37%。為減小泛化誤差,提高其在測試集上的表現(xiàn),需要對參數(shù)進(jìn)行調(diào)整[20]。不同的訓(xùn)練集或不同模型構(gòu)建方法產(chǎn)生的模型復(fù)雜度是不同的,模型復(fù)雜度與泛化誤差之間關(guān)系如圖4 所示。當(dāng)模型復(fù)雜度過低時出現(xiàn)欠擬合狀態(tài),模型復(fù)雜度過高則出現(xiàn)過擬合狀態(tài),兩種狀態(tài)都會使模型在測試集上表現(xiàn)變差。通過不斷調(diào)整參數(shù)改變復(fù)雜度,使泛化誤差盡可能接近最低點,此即為參數(shù)調(diào)優(yōu)的最終目標(biāo)。

Fig.4 Model complexity and generalization error curve圖4 模型復(fù)雜度與泛化誤差關(guān)系曲線
對隨機森林模型進(jìn)行優(yōu)化時主要調(diào)整兩個參數(shù):隨機森林中決策樹個數(shù)(n_estimators)以及每棵決策樹中的隨機特征選取數(shù)(max_features)。
(1)調(diào)整隨機森林中決策樹個數(shù)。首先粗調(diào)決策樹個數(shù),如圖5 所示。對n_estimators 在1-200 之間逐10 遞增進(jìn)行十折交叉遍歷驗證。隨著n_estimators 的不斷上升,模型準(zhǔn)確率逐漸穩(wěn)定,在140 處取得局部最大值。綜合考慮模型復(fù)雜度與準(zhǔn)確率,選擇140 作為n_estimators 的粗調(diào)結(jié)果;接著精調(diào)決策樹個數(shù),如圖6 所示。對n_estimators 在135-144 之間進(jìn)行交叉遍歷驗證,選擇準(zhǔn)確率最優(yōu)的點138作為決策樹個數(shù)的最終參數(shù),在保證模型準(zhǔn)確率前提下盡可能控制算法運行時間。

Fig.5 Random number coarse adjustment result decision tree in the forest圖5 隨機森林中決策樹個數(shù)粗調(diào)結(jié)果

Fig.6 Random number fine adjustment result decision tree in the forest圖6 隨機森林中決策樹個數(shù)精調(diào)結(jié)果
(2)調(diào)整max_features。樹的個數(shù)確定后,對max_fea?tures 參數(shù)進(jìn)行網(wǎng)格搜索,確定其最優(yōu)值為2。參數(shù)調(diào)優(yōu)后,將測試集輸入模型,得到調(diào)整后的最終準(zhǔn)確率為84.14%,相比參數(shù)調(diào)整前的83.37%略有提升。隨機森林模型參數(shù)特征重要度如圖7 所示。血糖變異系數(shù)(CVBG)、平均血糖(MBG)和年齡是模型中最重要的3 項分類特征,其中,血糖變異系數(shù)特征重要度占比最高,達(dá)18%,這印證了血糖變異情況是判斷患者能否在3 天內(nèi)轉(zhuǎn)出ICU 病房的重要因素。

Fig.7 Random forest model classification feature importance圖7 隨機森林模型分類特征重要度
分別采用KNN、決策樹以及SVM 模型進(jìn)行分類預(yù)測實驗,與本文構(gòu)建的隨機森林模型進(jìn)行對比,根據(jù)分類模型評價指標(biāo)對各分類器性能進(jìn)行比較[21]。
KNN 分類算法中,近鄰個數(shù)值與準(zhǔn)確率變化關(guān)系如圖8 所示,最終選擇4 為最優(yōu)近鄰個數(shù),準(zhǔn)確率達(dá)到63.94%。決策樹算法中,主要參數(shù)為決策樹最大深度,其與準(zhǔn)確率的變化關(guān)系如圖9 所示,選擇最優(yōu)值25,準(zhǔn)確率達(dá)到78.77%。SVM 算法中,以徑向基函數(shù)(Radial Basis Func?tion,RBF)作為核函數(shù),對懲罰系數(shù)C 和gamma 值進(jìn)行網(wǎng)格搜索,確定其最優(yōu)參數(shù)為:C=10,gamma=0.1,準(zhǔn)確率達(dá)到81.07%。

Fig.8 KNN parameter adjnstment results圖8 KNN 調(diào)參結(jié)果
4 種模型分類性能指標(biāo)對比如表3 和圖10 所示,由實驗結(jié)果可以看出,隨機森林在準(zhǔn)確率、精確率、召回率和F1-score 上的表現(xiàn)整體優(yōu)于其它3 種分類算法。圖11 為4種模型的ROC 曲線和AUC 值,隨機森林模型的ROC 曲線位置在最上方,AUC 值也較高[22]。綜合來看隨機森林在預(yù)測ICU 患者重癥監(jiān)護(hù)時長中的表現(xiàn)最好,驗證了本文方法的有效性。

Fig.9 Decision tree and results圖9 決策樹調(diào)參結(jié)果

Table 3 Four kinds of classification model evaluation表3 4 種分類模型評價對比

Fig.10 Four kinds of classification model evaluation圖10 4 種分類模型評價對比

Fig.11 ROC curve and AUC values of the model圖11 模型的ROC 曲線和AUC 值
研究ICU 重癥患者死亡風(fēng)險固然必不可少,但研究ICU 重癥監(jiān)護(hù)時長同樣不容忽視。隨著血糖對重癥患者病情影響研究的深入,醫(yī)生希望盡可能減小血糖變異對患者病情的不利影響,讓患者盡快恢復(fù)到健康狀態(tài)或低風(fēng)險狀態(tài)。根據(jù)重癥患者入住ICU 首日血糖變異情況和ApacheⅡ值等相關(guān)參數(shù),預(yù)測重癥監(jiān)護(hù)時長有助于醫(yī)生制定合理的治療計劃、提升醫(yī)療資源利用效率。
本文將隨機森林分類模型應(yīng)用于ICU 患者重癥監(jiān)護(hù)時長分類中,因其良好的分類和泛化能力,相比其它機器學(xué)習(xí)算法準(zhǔn)確率有較大提升,達(dá)到84.14%,且各項指標(biāo)均表現(xiàn)良好。實驗存在以下不足:①研究數(shù)據(jù)集中樣本個數(shù)偏少,對模型的訓(xùn)練可能存在欠擬合情況;②由于數(shù)據(jù)本身的局限性,對高、低血糖情況分析還不完善,在特征選擇時出現(xiàn)這兩項指標(biāo)重要度偏低情況,如果有更多數(shù)據(jù)則可更好地優(yōu)化系統(tǒng),提高模型準(zhǔn)確率。
72h 作為臨床治療的一個關(guān)鍵時間節(jié)點,對合理判斷ICU 患者病情具有重要意義。本文對ICU 時長進(jìn)行分類,以72h 作為時長分類點,預(yù)測患者能否在時間節(jié)點內(nèi)移出重癥監(jiān)護(hù)病房。后續(xù)可對患者具體住院天數(shù)進(jìn)行預(yù)測,幫助醫(yī)生制定治療方案,提高醫(yī)療資源利用率。