付 健,李燈熬,趙菊敏
(太原理工大學 a.大數據學院,b.信息與計算機學院,山西 晉中 030600)
心力衰竭(簡稱心衰)是多種原因導致心臟結構或功能的異常改變,能引起一組復雜臨床綜合征的疾病[1]。文獻[2]數據顯示,在中國大于35歲的人群中心衰患病率為1.3%,約有890萬心衰患者。中國心衰的患病率在15年間增加了44%,心衰的防治形勢依然十分嚴峻。因此評估心衰患者預后的全因死亡率,通過預測結果使醫生制定更加科學合理的預后治療方案,是防止病情進一步惡化,積極引導病人的健康,改善病人生活質量的一種重要手段[3-4]。
目前,針對心衰患者預后死亡率研究模型主要分為兩種,一種是根據醫學知識和統計學出發的醫學領域預后模型。如心衰存活評分模型,西雅圖心衰模型,慕尼黑評分模型等。醫學領域預后模型存在患者的特征利用不充分的問題,如心衰存活期模型沒有研究患者的現代藥物治療特征對心衰死亡率的影響。
另一種是基于機器學習和深度學習算法的心衰患者預后死亡率預測模型[5]。如SUZUKI et al[6]采用具有逐步變量選擇的多元邏輯回歸分析方法進行死亡率評估預測,但此模型難以處理非線性問題。此外,樹模型由于具有特征篩選功能,因此被廣泛應用于預后死亡率評估中。如AVULA et al[7]將CART與PRISM評分結合去預測心力衰竭患者1 a內的死亡率。ZAHAVI et al[8]和KOSZTIN et al[9]利用隨機森林分析了不同心衰病人的死亡率預測因子。AGASTHI et al[10],ADLER et al[11]將梯度提升樹應用在心衰患者死亡率預測中。相對于醫學領域模型,這類預測模型具有能夠綜合分析患者各類特征和可移植性高的優勢。
與多元邏輯回歸等模型相比,K-近鄰算法能處理非線性問題且具有易于理解、預測速度高的優點。此外,K-近鄰算法穩定性高,能夠穩定且較為準確地評估每個特征對于患者死亡率的影響。因此本文采用K-近鄰算法預測心衰死亡率。K-近鄰算法通過計算待分類樣本與其他樣本距離,尋找K-個近鄰后利用投票法來決定待分類樣本類別。但傳統K-近鄰算法存在兩個缺點:一是單一距離度量難以準確計算同時含有離散特征和連續特征的樣本間距,導致準確率下降;二是投票法易將近鄰邊緣樣本表示的類別錯分為待測樣本的類別,影響模型性能。為了克服算法缺陷,本文提出了一種混合加權距離的K-近鄰算法。利用值差度量和曼哈頓距離混合計算樣本間距,同時應用softmin函數進行距離加權,提高了模型性能。利用MIMIC-III公開數據庫中采集的數據進行實驗論證。實驗結果表明,基于混合加權距離的K近鄰算法優于傳統K近鄰算法,能夠較為準確地區分30 d內死亡患者和存活患者。
MIMIC-III是一個大型的公開數據庫。數據庫記錄了2001-2012年期間貝斯以色列女狄肯斯醫療中心重癥監護病房患者的相關數據[12-13]。本文從MIMIC-III v1.4數據庫采集了2 743位有效的心衰患者的有效數據。將研究起點確定為首次住院的心衰患者時間,研究終點是患者死亡或者在統計期間出院。因此,根據研究時間節點將患者分為兩類:30 d內死亡患者(1 532)和統計期間存活患者(1 211).將類別標記為二進制值{0,1}.所有存活患者被標記為陰性樣本,即標簽為0.所有死亡患者均被標記為陽性樣本,即標簽為1.
為了充分研究影響心衰患者死亡率的因素,從MIMIC-III數據庫中挖掘出7類患者信息。分別為人口統計學資料(性別、年齡)、用藥信息、手術信息、相關性疾病信息、ICU周轉次數、ICU停留時間、是否冠心病監護病房(coronary care unit,CCU)停留,實驗室檢測項目信息和一般檢查信息(心率、BMI).
首先,對人口統計學資料等患者信息進行特征向量化處理,即進行One-hot編碼,如表1所示。將性別特征中的男性編碼設為0,女性編碼設為1.藥物信息中服用過某類藥物編碼為1,實施過相關手術編碼為1,患有某類疾病編碼為1,在CCU停留過編碼為1,患者沒有藥物、手術等治療過程或相關病史編碼為0.最終數據共存在39維向量化后的特征。其次,本文利用連續變量在臨床醫學中的正常范圍進行了缺失填補。
此外,為了避免離群值和極端值對模型實驗的影響,采用Z-score歸一化方法,統一不同維度的特征量級。
(1)
式中:x是原始特征值,x′是經過歸一化后的值。此外,μ是數據集單一特征的平均值,σ是方差。

表1 患者特征信息表Table 1 Patient characteristic information
圖1是本文模型的算法流程圖。如圖1所示,為了避免特征冗余,首先利用卡方檢測和基于L1正則化的邏輯斯蒂回歸模型進行特征選擇和排序。由于離散特征和連續特征是根據不同的特征選擇方法篩選的,因此設置兩種類型特征的拼接比率,本文選取比率范圍為{0.1,0.2,…,0.9},研究最優比率。然后,將一種混合加權距離的K-近鄰算法模型應用于排序拼接后的特征,經過比率R和K值選擇得出最優的K-近鄰算法模型后,對心衰預后患者進行死亡率預測。

圖1 模型算法流程圖Fig.1 Model algorithm flow
2.1.1卡方檢測
本文含有部分離散特征,卡方檢測(chi-squared test)是一種廣泛應用于離散特征分類問題的單變量特征選擇方法,具有復雜度低、受特征值影響小的優點,因此本文采用卡方檢測進行離散特征選擇。卡方檢測方法假設統計量近似服從卡方分布,通過計算每個非負特征與樣本類別之間的統計量,從而為每個特征提供一個非負得分,以評估特征和類別之間的相關性。卡方統計量計算如下:
(2)
式中:Oij為卡方檢驗四格表中的實際觀察值,Tij為理論值,R,C分別為卡方檢驗四格表的行和列,本文中R=2,C=2,因此卡方檢測的自由度為1[14].在自由度為1時,利用P值等于0.05作為閾值,即卡方值大于臨界值時,則認為該特征與心衰死亡相關性大于95%.P值越小,說明該特征和心衰死亡相關性越高。因此利用P值將39種離散特征進行排序后選取前20種特征結果如表2所示。

表2 離散特征排序表Table 2 Discrete feature ranking
按照臨床醫學知識,可以將冠心病分為Ⅰ類和Ⅱ類,冠心病Ⅰ類是心肌梗死疾病導致的,冠心病Ⅱ類是非心肌梗死疾病導致的。因此表2中的冠心病Ⅱ類指非心肌梗死類冠心病。
2.1.2基于L1正則化的邏輯斯蒂回歸
邏輯斯蒂回歸(logistic regression,LR)是一種應用廣泛的監督學習算法。它在數據服從伯努利分布設想下使用梯度下降法求解參數,以實現醫學領域二元分類問題[15]。邏輯斯蒂回歸模型添加L1正則化,使某些特征權重為0,達到了特征篩選和降維的目的。該模型具有可解釋性好、穩定性高,能夠保留特征間關系的優勢,因此本文選用該模型進行連續特征處理。邏輯斯蒂回歸模型如下所示。

(3)

(4)
其中,x是待分類樣本,Y∈{0,1}是輸出分類,w是權重,b是偏置,·是內積操作。通過兩個概率值之間的比較,將輸入樣本類別確定為值較大的所表示的類別。
利用Python中的sklearn.feature_selection包含的SelectFromModel模塊,將邏輯斯蒂回歸模型添加L1正則化來進行特征篩選。最終按照特征權重絕對值大小對27種連續型變量進行排序,表3顯示了前20種連續特征排序結果。

表3 連續特征排序表Table 3 Continuous feature ranking
K-近鄰是一種根據與輸入樣本距離最近的K個樣本的類別來確定要劃分的新樣本的類別的方法。由于易于實現,該算法成為在醫學數據處理領域最廣泛的機器學習算法之一。
K-近鄰工作原理是根據距待測樣本點距離最近的K個樣本的標簽,決定待測樣本的類別。但其存在兩個明顯的不足:(1)常用于距離度量方法的歐氏距離難以同時度量數據集中存在的離散特征和連續特征。(2)利用投票法容易將K個近鄰內的邊緣樣本分類作為待測樣本的類別。針對不足(1)采用值差度量來計算離散特征距離,采用哈曼頓距離計算連續型特征距離,最終利用混合距離度量待測樣本和實例樣本之間的距離;針對不足(2)采用softmin函數對距離加權,根據加權距離輸出待測樣本類別。即提出了一種混合加權距離的方式來克服傳統K-近鄰算法的缺點。
設T={(x1,y1),(x2,y2),…,(xN,yN)}是一個含有N個樣本的數據集。其中xi為第i個樣本,xi=(xi,1,xi,2,…,xi,M).即第i個樣本含有M個特征。由于在每個實驗組的樣本集下都是一個二分類問題,因此yi={0,1}.其中0代表陰性樣本,即存活患者。1代表陽性樣本,即死亡患者。xt為待測樣本。
2.2.1混合距離計算
值差度量[16](value difference metric,VDM)是一種適合無序離散特征的度量方法,因此VDM算法適用于性別,呼吸衰竭等數據庫提取的離散特征。VDM距離公式如下。
(5)
其中,m為單一特征,共含有M個特征。Y為樣本輸出類別個數,本文Y=2.每個特征都是兩個特征值a1,a2.cm,a1表示單一特征取值為a1時樣本個數,cm,a1,c表示單一特征取值為a1時且樣本標簽y=c時樣本個數。cm,a2和cm,a2,c同上。
曼哈頓距離公式如下:
(6)
最終混合距離計算公式如下:
(7)
在本文M=20,即離散特征和連續特征共20個。M1為每個樣本中離散特征個數,M-M1為每個樣本中連續特征個數。由于離散特征和連續特征共20維,因此設置比率R來探究離散變量和連續變量的最終存在個數問題,其中R={0.1,0.2,…,0.9},即M1=2,4,…,18.
2.2.2加權距離計算
如圖2所示,三角形代表一類樣本,圓形代表另一類樣本,五角星代表待測分類樣本。假設K=5,根據距離大小找到其近鄰的5個樣本,按照投票法原理會將待分類樣本確定為三角形所代表的樣本類別。但是從圖2可以看出該待測樣本被劃分為圓形所表示的類別才更加合理,因此改進傳統K-近鄰所采用的投票法,利用加權距離來決定最終待測樣本的類別。

圖2 K個近鄰確定類別圖Fig.2 Deciding the category from the K nearest neighbor
假定當K=k時,計算待測樣本點和樣本集之間的距離后按照距離從小到大順序排列后為{d1,d2,…,dk},這k個樣本對應的類別屬性為{y1,y2,…,yk}.其加權距離采用softmin加權計算,其公式如下:
(8)

(9)
其中,pi·yi表示每個樣本中的標簽對應的權重對于最終待測樣本類別的影響程度,當最終加權系數大于等于0.5時,可以判定待測樣本為陽性樣本,即死亡患者樣本,反之若加權系統小于0.5,則可以認為待測樣本為陰性樣本,即存活患者樣本。
在模型評估中,本文采用4種模型評價準則,分別是準確率(accuracy,ACC),精確率(precision,P),召回率(Recall)和F1分數(F1),評價標準計算公式如下所示。
(10)
(11)
(12)
(13)
其中,TP為真實陽性樣本的數量,相反,TN為真實陰性樣本的數量;FP為假陽性樣本的數量,FN為假陰性樣本的數量。
為了證明本文提出算法的有效性,本小節將進行對比實驗分析。在表4中所有小數結果均已轉換為百分制,并且將每個指標的最佳結果加粗顯示。此外,將模型實驗數據按照9∶1的比例劃分,其中2 469例為訓練數據,274例為測試數據,實驗結果均來自測試集。
首先將本文提出的算法與5種不同的K-近鄰算法進行比較分析。對比K-1:僅使用VDM距離;對比K-2:僅使用曼哈頓距離;對比K-3:使用VDM距離和softmin距離加權;對比K-4:使用曼哈頓距離和softmin距離加權;對比K-5:使用混合距離。
通過對比K-3、K-4和本文算法實驗結果可以看出,混合距離度量方式優于單一距離度量。對比K-5實驗結果說明了應用softmin函數使模型準確率提升。改進的K算法的F1分數達到82.982%,說明模型穩定性表現良好,能夠綜合特征正確區分正負樣本。

表4 算法性能對比分析表Table 4 Algorithm performance comparison analysis
此外,為了證明改進的K-近鄰算法的有效性,本文選擇的4種被廣泛應用于解決生物醫學領域的機器學習模型,分別為支持向量機(support vector machine,SVM)、多層感知機(multi-layer perceptron,MLP)、隨機森林(random forest,RF)和輕量級提升機(light gradient boosting machine,Light GBM).通過表4數據對比分析可知,SVM召回率較高達到了86.333%,但精確率較低,說明SVM算法將部分存活患者預測為死亡患者且模型穩定性相對于改進的K-近鄰算法低0.738%.其他機器學習模型的準確率、精確率、召回率和F1分數均低于改進算法。通過此結果進一步證明了改進的K-近鄰算法的有效性。
由于比率R和K值均是在模型訓練過程中確定,因此利用4種模型的評價準則來研究最佳比率和K值。圖3顯示了不同比率和K值下,模型準確率的變化情況。由圖3可以看出,R=0.6時,模型效果優于其他比率。在比率固定情況下,當K=9時,模型達到最優,準確率為80.874%.圖4為不同比率R和K值下,模型精確率的熱力圖。與圖3準確率不同的是,模型的精確率在比率為0.2,0.3,0.6及K值為9時,均呈現了較好的預測效果。

圖3 不同比率和K值準確率熱力圖Fig.3 Heat map of different rate and K value in ACC

圖4 不同比率和K值精確率熱力圖Fig.4 Heat map of different rate and K value in precision
圖5顯示了不同比率R和K值下模型的召回率。通過圖5可以看出,在比率為0.6時,模型的召回率較高均超過了75%,且當K=9時,模型召回率最高達到了83.388%.圖6為不同比率和K值下的F1分數情況。在圖6中,R=0.6和K=9時,模型F1分數仍呈現最佳效果,F1分數為82.982%.
通過綜合分析4種評價指標結果,將最終的比率固定為0.6,即按照表2離散型變量排序提取前12個離散型特征,按照表3連續型變量排序提取前8個特征,共計20.K值即待測樣本近鄰個數,確定為9.

圖5 不同比率和K值召回率熱力圖Fig.5 Heat map of different rate and K value in Recall

圖6 不同比率和K值F1分數熱力圖Fig.6 Heat map of different rate and K value in F1
本文提出了一種混合加權距離的K-近鄰算法來進行心力衰竭患者預后死亡率的風險評估。利用VDM和曼哈頓距離混合計算待測樣本和樣本集中其他樣本之間的距離,克服了單一度量準則難以準確衡量樣本同時存在離散和連續變量距離的缺點,采用softmin函數來進行加權概率輸出,解決了投票法不能進行樣本距離遠近衡量的問題。與傳統KNN模型和其他機器學習模型對比分析,證明了提出的模型能夠有效地用于心衰患者死亡率預測。從而根據預測死亡率情況來幫助醫生制定更加科學的預后方案,對防止病情進一步惡化,積極引導患者健康,改善患者生活質量,降低醫療開支起到了促進作用。