于大海 李 金 羅艷虹 劉近春 張巖波△
1.山西醫科大學衛生統計教研室(030001) 2.山西醫科大學第一醫院
【提 要】 目的 探討隨機森林模型和決策樹模型在肝硬化并發上消化道出血患者預后評估中的應用。方法 利用logistic回歸方法從肝硬化住院患者病歷資料中篩選出與并發上消化道出血有關聯的變量;以篩選出的變量作為輸入變量,以是否出血作為結局變量,分別建立隨機森林、決策樹和傳統logistic回歸模型,通過受試者工作特征曲線(ROC)來評價三種模型的性能。結果 logistic回歸、決策樹和隨機森林模型在測試集中的準確率分別為81.5%、75.1%和88.9%,三種模型的ROC曲線下面積(AUC)分別為0.854、0.720和0.909;在隨機森林模型的變量重要性評分中,血糖、膽固醇、血清鉀、總蛋白、堿性磷酸酶、尿素氮等指標得分較高,提示這些指標或有臨床意義。結論 隨機森林模型在肝硬化上消化道出血患者的預后評估中具有較高的應用價值。
上消化道出血是肝硬化患者最常見和最危及生命的并發癥之一,6周總死亡率為24%,1年總死亡率為40%[1,2]。上消化道出血患者的復發率高[3],這不僅會增加肝硬化患者的死亡風險,還會引發肝性腦病、感染、肝腎綜合癥等并發癥。因此做好肝硬化上消化道出血的疾病風險和預后評估,可以有效減少上消化道出血及相關并發癥的發生[4]。數據挖掘作為一種新興的統計分析方法,被廣泛應用于生物醫學領域當中,它可以從復雜的醫療數據中提取有價值的信息,在疾病的診斷、治療和預后等方面有極好的表現。
本研究采用肝硬化住院患者病歷資料,探索隨機森林和決策樹模型在肝硬化患者并發上消化道出血預后評估中的應用價值,并與傳統logistic回歸模型進行比較,以期為疾病的早期干預提供輔助決策。
1.研究對象
本研究數據資料來源于山西省太原市某三甲醫院消化內科,研究對象為2006年1月1日至2016年12月31日期間確診為肝硬化的住院患者。研究對象納入標準為:(1)第八版《內科學》中提到的肝硬化診斷標準[5];(2)有完整實驗室檢查資料的患者;排除標準為:(1)出血的誘因不是肝硬化患者;(2)入院前已經發生過出血的患者;(3)診斷為肝硬化上消化道出血后因自身或者其他原因出院的患者。
2.研究方法
(1)資料收集
由經過培訓的課題組成員通過查閱醫院病案室中的電子和紙質病歷,收集資料主要包括患者的一般人口學資料、臨床癥狀體征、實驗室檢查、輔助檢查和用藥情況等信息。利用EpiData(Version3.1)軟件,自行建立肝硬化資料數據庫。對數據資料進行雙人獨立錄入,并進行逐一校正,期間共得到有效病歷942份,其中肝硬化上消化道出血病歷276份,占比為29.3%。
(2)數據處理
本研究數據采用分層抽樣的方法,從上消化道出血病例和非上消化道出血病例中分別抽取2/3樣本組成訓練集用于構建模型,將剩余的1/3樣本作為測試集用于評價模型性能。將變量篩選后得到的21個特征變量作為輸入變量,將是否發生上消化道出血作為結局變量,在訓練集中分別建立隨機森林、logistic回歸和決策樹模型,最終在測試數據集中應用各模型對上消化道出血進行預后評估,P≤0.05被認為差異有統計學意義。
(3)logistic回歸模型的建立
使用訓練集在glm()函數下構建logistic模型;利用step()函數對構建的初始logistic模型進行基于AIC準則的逐步回歸變量篩選。
(4)決策樹模型的建立
本研究采用以下參數來建立初始決策樹。tree0:葉結點的最小樣本量參數minbucket設置為20;結點的最小樣本量參數minsplit設置為20;進行交叉驗證的剪枝折數參數xval設置為10;生成決策樹的最大深度參數maxdepth設置為20;指定最小代價復雜度剪枝中的復雜度參數CP設置為0.01。
(5)隨機森林模型的建立
在RStudio環境下,隨機森林的建模過程中主要包含兩個重要參數:ntree(樹的數目)和mtry(隨機選擇特征的數目)。經驗證,參數ntree設置為500,mtry設置為4時,隨機森林模型表現最佳。
(6)統計學處理
模型的建立與評價均通過軟件R i386 3.3.2實現:應用rpart程序包來建立決策樹模型,隨機森林模型的建立應用randomForest,利用glm()建立logistic回歸模型。
在模型訓練之前,利用logistic回歸進行自變量篩選:在訓練數據集中,以肝硬化患者是否并發上消化道出血為因變量,以所收集病歷資料中共86個指標為自變量建立logistic回歸模型,檢驗水準設置為0.05。具體結果見表1。
1.logistic回歸模型
將篩選出的變量納入logistic回歸模型,并在測試集中完成模型性能評價,與真實發生了上消化道出血的情況進行對比。進入模型的各變量見表2。
2.決策樹模型
在本研究中,決策樹模型選擇信息熵作為分裂屬性的度量標準。

表1 各輸入變量賦值表

表2 logistic回歸模型結果
在決策樹的前剪枝過程中,前剪枝參數主要包括maxdepth、minbucket、minsplit等,在驗證數據集中,通過選用不同的前剪枝參數來進行決策樹模型的建立,結果發現改變前剪枝參數對決策樹模型的準確度影響不大。本研究主要對決策樹后剪枝過程中的最小代價復雜度參數CP進行選擇,具體結果見表3及圖1。
在CP值的選擇原則中,通常考察模型的預測誤差及其標準誤。由表3可知,當分裂次數為5時,模型的預測誤差最小為0.7746,由此建立CP值為0.025的決策樹模型tree_cp1;當分裂次數為2時,決策樹模型的樹節點數為3(分裂次數+1),此時樹模型的復雜性在所有模型中最低,由于CP值必須在0.0462~0.1590之間取值(本例中將CP值選為0.05),由此建立CP值為0.05的決策樹模型tree_cp2;同時建立不進行最小代價復雜度剪枝的常規樹模型tree_cp0。將上述三種決策樹模型在測試集上進行預測性能的比較,結果顯示tree_cp1的靈敏度和特異度之和最大。
在上述參數條件下進行建模,所得模型的靈敏度較低,因此我們將懲罰因子引入模型(通過損失矩陣loss實現)。本研究分別設置了1、1.5、2、2.5和4倍代價的損失矩陣,經測試數據集驗證,c(0,3,1,0)損失矩陣擁有最高靈敏度(73.6%)。將其可視化呈現如圖2所示。

表3 不同分裂次數時,決策樹模型的預測誤差估計及復雜度參數CP值

圖1 預測誤差隨復雜度參數CP值的變化

圖2 決策樹模型的可視化
3.隨機森林模型
(1)棵數參數ntree的選擇
將樹的棵數分別設置為200、400、500、600和800,通過驗證數據集驗證,對不同樹棵數的隨機森林模型進行預測性能的比較,各模型性能具體結果如表4所示。

表4 不同樹棵數的隨機森林模型之預測性能比較
從表4中可以看出,五個不同參數模型的預測效果相差不大,當ntree≥500以后,模型的各項指標均趨于平穩,因此我們選擇500作為參數ntree的值來進行建模。
(2)隨機選擇特征數目參數mtry的選擇
本研究數據中共篩選出特征變量(自變量)21個,通常情況下,每個隨機森林模型包含[log2(p)+1]個隨機特征(p為特征變量個數),因此本研究中參數mtry應設置為5,我們將mtry分別設置為4、5、6、7、8、10在驗證數據集中進行建模,各不同參數模型性能具體結果如表5所示。

表5 不同特征選擇數的隨機森林模型的預測性能比較
結果發現,當隨機特征選擇數目參數參數mtry設置為4時,五個模型各評價指標都處于最高水平,所構建隨機森林模型為最佳模型。
(3)輸入變量重要程度度量
如果某些輸入變量對結局有重要影響,那么在這些輸入變量的取值上隨機添加噪音以后,將對結局的輸出結果有顯著性影響。各輸入變量對隨機森林模型總體預測準確度的影響情況如表6所示。

表6 輸入變量重要性測度
由表6可知,血糖、膽固醇、血清鉀、總蛋白、堿性磷酸酶、尿素氮等指標對隨機森林模型準確度影響較大,提示這些指標或有較大的臨床意義。
4.三種模型性能的比較
將最終logistic回歸模型、隨機森林模型和決策樹模型,在測試數據集中進行測試,并將測試結果與真實情況進行對比,結果如表7所示。

表7 logistic回歸、隨機森林和決策樹模型在測試集中的模型性能比較

圖3 logistic、決策樹和隨機森林模型在測試集中的ROC曲線
由表7中各項指標可知,logistic回歸模型表現一般;決策樹模型的靈敏度(78.0%)和陰性預測值(90.4%)為三模型中最佳,但其他指標均較低,AUC值僅為0.720;隨機森林模型的陽性預測值、特異度和準確度較其他兩種模型表現出色,同時隨機森林的AUC最高為0.909。ROC曲線圖中,曲線下面積越大即AUC取值越大,說明模型性能越好。綜上所述,隨機森林模型和決策樹模型在肝硬化上消化道出血預后評估中都有不錯的表現,并且在很多方面優于傳統的logistic回歸模型,可為肝硬化并發上消化道出血患者的預后與預防性治療提供借鑒。
肝硬化并發上消化道出血以其病死率高、復發風險高、并發癥多等特點,被國內外學者廣泛關注。通過模型構建對肝硬化上消化道出血進行預后評估,為上消化道出血患者的干預和治療提供合理建議,有利于延長患者的生存期,提高患者生命質量。目前針對肝硬化上消化道出血的研究,大多數學者通過評分系統或預后指數來預測肝硬化患者發生上消化道出血的可能[6-10]。本文通過回顧性的方法收集住院患者病歷資料,從病歷資料中篩選變量,應用隨機森林、決策樹和傳統logistic回歸三種算法構建不同的預后模型,結果表明,隨機森林模型和決策樹模型的綜合性能優于傳統logistic模型,為探索肝硬化上消化道出血的發生發展提供了新的方向,具有重要的理論意義和臨床價值。
1.傳統logistic回歸
logistic回歸適用范圍廣,應用靈活,對于特定的回歸問題來講,它的表現甚至會優于某些相對復雜的機器學習算法。在本研究中,最終logistic模型的準確度為81.5%,高于決策樹模型(75.1%)。logistic回歸的分析結果展現了LogitP對自變量的數量依存關系,但在交互作用方面的處理效果不如決策樹和隨機森林模型[11]。
2.決策樹
決策樹算法是一種基于樹結構進行決策的機器學習算法,它呈現倒置的樹型,一般由一個根結點、若干內結點和葉結點組成,其中根結點包含樣本全集,葉結點表示分類結果,剩余結點則對應于屬性決策[12]。決策樹的生成過程遵循“分而治之”的原則[13]。它最重要的特征是將一個復雜的決策過程轉化為一系列簡單的決定,以提供一個通俗、易懂的解決方案[9]。
在進行數據分析時,變量量綱、離群值以及有偏分布對決策樹模型的影響不大,但有些情況下,決策樹模型處理數值型輸入變量的方式會造成有價值數據的損失[14]。此外模型參數、訓練數據集和測試數據集的比例,不合理數據的處理等因素,對決策樹模型的綜合性能都有一定的影響[15]。不同于隨機森林的“黑箱式”模式,決策樹模型更加簡明清晰,通俗易懂,它的每一個分支都可以被重新定義,這一特點為復雜的臨床研究環境提供了重要契機。
3.隨機森林
隨機森林(random forests,RF)是一種以決策樹為基分類器的集成算法。隨機森林的每個結點在選擇劃分屬性時,從全集中隨機抽取一個子集(通常取[log2(m)+1]個屬性,m為屬性總數),選取該子集中的最優屬性。在基決策樹的建立過程中,對輸入數據進行列采樣,最終模型的預測結果由多個決策樹的分類結果投票決定。不同于決策樹算法的是,在進行Bagging集成的過程中引入隨機特征選擇與樹的完全分裂,增加了結果的多樣性[12]。
較傳統logistic回歸方法,隨機森林通過隨機特征選擇平衡了樣本誤差,較僅以單一測試樣本進行擬合的logistic模型結果更具說服力。與其他機器學習算法相比,隨機森林具有以下幾個優點:隨機特征選擇思想使得隨機森林相比于其他分類器(包括判別分析,支持向量機,神經網絡等)表現的更優秀,并且它在處理過擬合問題上也十分得心應手[16];隨機森林模型對缺失數據和噪聲的有效處理也是許多模型無法做到的[17];它只選擇很少一部分最重要的特征,因此它在處理特征數目或者樣本量極大的問題時,具有較好的表現;對于大部分的數據問題來說,它都是有效的通用模型[18]。
4.病歷數據在疾病預后評估模型建立中存在的不足及解決方法
醫療大數據可以從各種影像圖像、病人訪談、實驗室檢查及醫生的觀察和解釋等資料中獲取,患者病歷中往往會對上述資料進行詳細闡述,這些重要的臨床數據與患者的診斷、治療和預后都有著密不可分的關系[19]。
但病歷數據的二次利用過程中可能存在以下缺點:(1)調查對象為固定醫院患者,選擇偏倚無法避免;(2)病歷資料多為二手數據,不同患者的病歷存在差異以及課題組成員的錄入問題等因素往往會導致數據質量參差不齊,導致構建模型效果欠佳;(3)在模型構建過程中,非結構化數據未得到充分利用。非結構化數據是相對于結構化數據而言的,其數據結構不規則、不完整,格式多樣,沒有特定的數據模板。病歷中的非結構化數據主要包括住院患者治療過程中所產生的影像、切片等圖像資料,同時還包括病人主訴、病人護理情況、主治醫師意見等文字資料,這些資料中都蘊含著大量寶貴的醫學信息,如果不能被有效利用,將造成嚴重的資源浪費。
本研究將會繼續從以下幾個方面對模型加以改進:(1)在模型構建過程中,充分利用非結構化數據,通過引入基于NoSQL的非結構化數據管理系統,完善電子病歷系統;(2)改善模型識別能力,同時引入深度學習算法,提高模型性能;(3)通過患者隨訪不斷進行數據更新,擴展數據的縱向跨度;(4)將調查對象范圍繼續擴展,如擴展到下級醫院、社區服務中心等,以期控制選擇性偏倚。