付 健,李燈熬,趙菊敏
(太原理工大學(xué) a.大數(shù)據(jù)學(xué)院,b.信息與計(jì)算機(jī)學(xué)院,山西 晉中 030600)
心力衰竭(簡(jiǎn)稱心衰)是多種原因?qū)е滦呐K結(jié)構(gòu)或功能的異常改變,能引起一組復(fù)雜臨床綜合征的疾病[1]。文獻(xiàn)[2]數(shù)據(jù)顯示,在中國大于35歲的人群中心衰患病率為1.3%,約有890萬心衰患者。中國心衰的患病率在15年間增加了44%,心衰的防治形勢(shì)依然十分嚴(yán)峻。因此評(píng)估心衰患者預(yù)后的全因死亡率,通過預(yù)測(cè)結(jié)果使醫(yī)生制定更加科學(xué)合理的預(yù)后治療方案,是防止病情進(jìn)一步惡化,積極引導(dǎo)病人的健康,改善病人生活質(zhì)量的一種重要手段[3-4]。
目前,針對(duì)心衰患者預(yù)后死亡率研究模型主要分為兩種,一種是根據(jù)醫(yī)學(xué)知識(shí)和統(tǒng)計(jì)學(xué)出發(fā)的醫(yī)學(xué)領(lǐng)域預(yù)后模型。如心衰存活評(píng)分模型,西雅圖心衰模型,慕尼黑評(píng)分模型等。醫(yī)學(xué)領(lǐng)域預(yù)后模型存在患者的特征利用不充分的問題,如心衰存活期模型沒有研究患者的現(xiàn)代藥物治療特征對(duì)心衰死亡率的影響。
另一種是基于機(jī)器學(xué)習(xí)和深度學(xué)習(xí)算法的心衰患者預(yù)后死亡率預(yù)測(cè)模型[5]。如SUZUKI et al[6]采用具有逐步變量選擇的多元邏輯回歸分析方法進(jìn)行死亡率評(píng)估預(yù)測(cè),但此模型難以處理非線性問題。此外,樹模型由于具有特征篩選功能,因此被廣泛應(yīng)用于預(yù)后死亡率評(píng)估中。如AVULA et al[7]將CART與PRISM評(píng)分結(jié)合去預(yù)測(cè)心力衰竭患者1 a內(nèi)的死亡率。ZAHAVI et al[8]和KOSZTIN et al[9]利用隨機(jī)森林分析了不同心衰病人的死亡率預(yù)測(cè)因子。AGASTHI et al[10],ADLER et al[11]將梯度提升樹應(yīng)用在心衰患者死亡率預(yù)測(cè)中。相對(duì)于醫(yī)學(xué)領(lǐng)域模型,這類預(yù)測(cè)模型具有能夠綜合分析患者各類特征和可移植性高的優(yōu)勢(shì)。
與多元邏輯回歸等模型相比,K-近鄰算法能處理非線性問題且具有易于理解、預(yù)測(cè)速度高的優(yōu)點(diǎn)。此外,K-近鄰算法穩(wěn)定性高,能夠穩(wěn)定且較為準(zhǔn)確地評(píng)估每個(gè)特征對(duì)于患者死亡率的影響。因此本文采用K-近鄰算法預(yù)測(cè)心衰死亡率。K-近鄰算法通過計(jì)算待分類樣本與其他樣本距離,尋找K-個(gè)近鄰后利用投票法來決定待分類樣本類別。但傳統(tǒng)K-近鄰算法存在兩個(gè)缺點(diǎn):一是單一距離度量難以準(zhǔn)確計(jì)算同時(shí)含有離散特征和連續(xù)特征的樣本間距,導(dǎo)致準(zhǔn)確率下降;二是投票法易將近鄰邊緣樣本表示的類別錯(cuò)分為待測(cè)樣本的類別,影響模型性能。為了克服算法缺陷,本文提出了一種混合加權(quán)距離的K-近鄰算法。利用值差度量和曼哈頓距離混合計(jì)算樣本間距,同時(shí)應(yīng)用softmin函數(shù)進(jìn)行距離加權(quán),提高了模型性能。利用MIMIC-III公開數(shù)據(jù)庫中采集的數(shù)據(jù)進(jìn)行實(shí)驗(yàn)論證。實(shí)驗(yàn)結(jié)果表明,基于混合加權(quán)距離的K近鄰算法優(yōu)于傳統(tǒng)K近鄰算法,能夠較為準(zhǔn)確地區(qū)分30 d內(nèi)死亡患者和存活患者。
MIMIC-III是一個(gè)大型的公開數(shù)據(jù)庫。數(shù)據(jù)庫記錄了2001-2012年期間貝斯以色列女狄肯斯醫(yī)療中心重癥監(jiān)護(hù)病房患者的相關(guān)數(shù)據(jù)[12-13]。本文從MIMIC-III v1.4數(shù)據(jù)庫采集了2 743位有效的心衰患者的有效數(shù)據(jù)。將研究起點(diǎn)確定為首次住院的心衰患者時(shí)間,研究終點(diǎn)是患者死亡或者在統(tǒng)計(jì)期間出院。因此,根據(jù)研究時(shí)間節(jié)點(diǎn)將患者分為兩類:30 d內(nèi)死亡患者(1 532)和統(tǒng)計(jì)期間存活患者(1 211).將類別標(biāo)記為二進(jìn)制值{0,1}.所有存活患者被標(biāo)記為陰性樣本,即標(biāo)簽為0.所有死亡患者均被標(biāo)記為陽性樣本,即標(biāo)簽為1.
為了充分研究影響心衰患者死亡率的因素,從MIMIC-III數(shù)據(jù)庫中挖掘出7類患者信息。分別為人口統(tǒng)計(jì)學(xué)資料(性別、年齡)、用藥信息、手術(shù)信息、相關(guān)性疾病信息、ICU周轉(zhuǎn)次數(shù)、ICU停留時(shí)間、是否冠心病監(jiān)護(hù)病房(coronary care unit,CCU)停留,實(shí)驗(yàn)室檢測(cè)項(xiàng)目信息和一般檢查信息(心率、BMI).
首先,對(duì)人口統(tǒng)計(jì)學(xué)資料等患者信息進(jìn)行特征向量化處理,即進(jìn)行One-hot編碼,如表1所示。將性別特征中的男性編碼設(shè)為0,女性編碼設(shè)為1.藥物信息中服用過某類藥物編碼為1,實(shí)施過相關(guān)手術(shù)編碼為1,患有某類疾病編碼為1,在CCU停留過編碼為1,患者沒有藥物、手術(shù)等治療過程或相關(guān)病史編碼為0.最終數(shù)據(jù)共存在39維向量化后的特征。其次,本文利用連續(xù)變量在臨床醫(yī)學(xué)中的正常范圍進(jìn)行了缺失填補(bǔ)。
此外,為了避免離群值和極端值對(duì)模型實(shí)驗(yàn)的影響,采用Z-score歸一化方法,統(tǒng)一不同維度的特征量級(jí)。
(1)
式中:x是原始特征值,x′是經(jīng)過歸一化后的值。此外,μ是數(shù)據(jù)集單一特征的平均值,σ是方差。
表1 患者特征信息表Table 1 Patient characteristic information
圖1是本文模型的算法流程圖。如圖1所示,為了避免特征冗余,首先利用卡方檢測(cè)和基于L1正則化的邏輯斯蒂回歸模型進(jìn)行特征選擇和排序。由于離散特征和連續(xù)特征是根據(jù)不同的特征選擇方法篩選的,因此設(shè)置兩種類型特征的拼接比率,本文選取比率范圍為{0.1,0.2,…,0.9},研究最優(yōu)比率。然后,將一種混合加權(quán)距離的K-近鄰算法模型應(yīng)用于排序拼接后的特征,經(jīng)過比率R和K值選擇得出最優(yōu)的K-近鄰算法模型后,對(duì)心衰預(yù)后患者進(jìn)行死亡率預(yù)測(cè)。
圖1 模型算法流程圖Fig.1 Model algorithm flow
2.1.1卡方檢測(cè)
本文含有部分離散特征,卡方檢測(cè)(chi-squared test)是一種廣泛應(yīng)用于離散特征分類問題的單變量特征選擇方法,具有復(fù)雜度低、受特征值影響小的優(yōu)點(diǎn),因此本文采用卡方檢測(cè)進(jìn)行離散特征選擇??ǚ綑z測(cè)方法假設(shè)統(tǒng)計(jì)量近似服從卡方分布,通過計(jì)算每個(gè)非負(fù)特征與樣本類別之間的統(tǒng)計(jì)量,從而為每個(gè)特征提供一個(gè)非負(fù)得分,以評(píng)估特征和類別之間的相關(guān)性??ǚ浇y(tǒng)計(jì)量計(jì)算如下:
(2)
式中:Oij為卡方檢驗(yàn)四格表中的實(shí)際觀察值,Tij為理論值,R,C分別為卡方檢驗(yàn)四格表的行和列,本文中R=2,C=2,因此卡方檢測(cè)的自由度為1[14].在自由度為1時(shí),利用P值等于0.05作為閾值,即卡方值大于臨界值時(shí),則認(rèn)為該特征與心衰死亡相關(guān)性大于95%.P值越小,說明該特征和心衰死亡相關(guān)性越高。因此利用P值將39種離散特征進(jìn)行排序后選取前20種特征結(jié)果如表2所示。
表2 離散特征排序表Table 2 Discrete feature ranking
按照臨床醫(yī)學(xué)知識(shí),可以將冠心病分為Ⅰ類和Ⅱ類,冠心?、耦愂切募」K兰膊?dǎo)致的,冠心?、蝾愂欠切募」K兰膊?dǎo)致的。因此表2中的冠心病Ⅱ類指非心肌梗死類冠心病。
2.1.2基于L1正則化的邏輯斯蒂回歸
邏輯斯蒂回歸(logistic regression,LR)是一種應(yīng)用廣泛的監(jiān)督學(xué)習(xí)算法。它在數(shù)據(jù)服從伯努利分布設(shè)想下使用梯度下降法求解參數(shù),以實(shí)現(xiàn)醫(yī)學(xué)領(lǐng)域二元分類問題[15]。邏輯斯蒂回歸模型添加L1正則化,使某些特征權(quán)重為0,達(dá)到了特征篩選和降維的目的。該模型具有可解釋性好、穩(wěn)定性高,能夠保留特征間關(guān)系的優(yōu)勢(shì),因此本文選用該模型進(jìn)行連續(xù)特征處理。邏輯斯蒂回歸模型如下所示。
(3)
(4)
其中,x是待分類樣本,Y∈{0,1}是輸出分類,w是權(quán)重,b是偏置,·是內(nèi)積操作。通過兩個(gè)概率值之間的比較,將輸入樣本類別確定為值較大的所表示的類別。
利用Python中的sklearn.feature_selection包含的SelectFromModel模塊,將邏輯斯蒂回歸模型添加L1正則化來進(jìn)行特征篩選。最終按照特征權(quán)重絕對(duì)值大小對(duì)27種連續(xù)型變量進(jìn)行排序,表3顯示了前20種連續(xù)特征排序結(jié)果。
表3 連續(xù)特征排序表Table 3 Continuous feature ranking
K-近鄰是一種根據(jù)與輸入樣本距離最近的K個(gè)樣本的類別來確定要?jiǎng)澐值男聵颖镜念悇e的方法。由于易于實(shí)現(xiàn),該算法成為在醫(yī)學(xué)數(shù)據(jù)處理領(lǐng)域最廣泛的機(jī)器學(xué)習(xí)算法之一。
K-近鄰工作原理是根據(jù)距待測(cè)樣本點(diǎn)距離最近的K個(gè)樣本的標(biāo)簽,決定待測(cè)樣本的類別。但其存在兩個(gè)明顯的不足:(1)常用于距離度量方法的歐氏距離難以同時(shí)度量數(shù)據(jù)集中存在的離散特征和連續(xù)特征。(2)利用投票法容易將K個(gè)近鄰內(nèi)的邊緣樣本分類作為待測(cè)樣本的類別。針對(duì)不足(1)采用值差度量來計(jì)算離散特征距離,采用哈曼頓距離計(jì)算連續(xù)型特征距離,最終利用混合距離度量待測(cè)樣本和實(shí)例樣本之間的距離;針對(duì)不足(2)采用softmin函數(shù)對(duì)距離加權(quán),根據(jù)加權(quán)距離輸出待測(cè)樣本類別。即提出了一種混合加權(quán)距離的方式來克服傳統(tǒng)K-近鄰算法的缺點(diǎn)。
設(shè)T={(x1,y1),(x2,y2),…,(xN,yN)}是一個(gè)含有N個(gè)樣本的數(shù)據(jù)集。其中xi為第i個(gè)樣本,xi=(xi,1,xi,2,…,xi,M).即第i個(gè)樣本含有M個(gè)特征。由于在每個(gè)實(shí)驗(yàn)組的樣本集下都是一個(gè)二分類問題,因此yi={0,1}.其中0代表陰性樣本,即存活患者。1代表陽性樣本,即死亡患者。xt為待測(cè)樣本。
2.2.1混合距離計(jì)算
值差度量[16](value difference metric,VDM)是一種適合無序離散特征的度量方法,因此VDM算法適用于性別,呼吸衰竭等數(shù)據(jù)庫提取的離散特征。VDM距離公式如下。
(5)
其中,m為單一特征,共含有M個(gè)特征。Y為樣本輸出類別個(gè)數(shù),本文Y=2.每個(gè)特征都是兩個(gè)特征值a1,a2.cm,a1表示單一特征取值為a1時(shí)樣本個(gè)數(shù),cm,a1,c表示單一特征取值為a1時(shí)且樣本標(biāo)簽y=c時(shí)樣本個(gè)數(shù)。cm,a2和cm,a2,c同上。
曼哈頓距離公式如下:
(6)
最終混合距離計(jì)算公式如下:
(7)
在本文M=20,即離散特征和連續(xù)特征共20個(gè)。M1為每個(gè)樣本中離散特征個(gè)數(shù),M-M1為每個(gè)樣本中連續(xù)特征個(gè)數(shù)。由于離散特征和連續(xù)特征共20維,因此設(shè)置比率R來探究離散變量和連續(xù)變量的最終存在個(gè)數(shù)問題,其中R={0.1,0.2,…,0.9},即M1=2,4,…,18.
2.2.2加權(quán)距離計(jì)算
如圖2所示,三角形代表一類樣本,圓形代表另一類樣本,五角星代表待測(cè)分類樣本。假設(shè)K=5,根據(jù)距離大小找到其近鄰的5個(gè)樣本,按照投票法原理會(huì)將待分類樣本確定為三角形所代表的樣本類別。但是從圖2可以看出該待測(cè)樣本被劃分為圓形所表示的類別才更加合理,因此改進(jìn)傳統(tǒng)K-近鄰所采用的投票法,利用加權(quán)距離來決定最終待測(cè)樣本的類別。
圖2 K個(gè)近鄰確定類別圖Fig.2 Deciding the category from the K nearest neighbor
假定當(dāng)K=k時(shí),計(jì)算待測(cè)樣本點(diǎn)和樣本集之間的距離后按照距離從小到大順序排列后為{d1,d2,…,dk},這k個(gè)樣本對(duì)應(yīng)的類別屬性為{y1,y2,…,yk}.其加權(quán)距離采用softmin加權(quán)計(jì)算,其公式如下:
(8)
(9)
其中,pi·yi表示每個(gè)樣本中的標(biāo)簽對(duì)應(yīng)的權(quán)重對(duì)于最終待測(cè)樣本類別的影響程度,當(dāng)最終加權(quán)系數(shù)大于等于0.5時(shí),可以判定待測(cè)樣本為陽性樣本,即死亡患者樣本,反之若加權(quán)系統(tǒng)小于0.5,則可以認(rèn)為待測(cè)樣本為陰性樣本,即存活患者樣本。
在模型評(píng)估中,本文采用4種模型評(píng)價(jià)準(zhǔn)則,分別是準(zhǔn)確率(accuracy,ACC),精確率(precision,P),召回率(Recall)和F1分?jǐn)?shù)(F1),評(píng)價(jià)標(biāo)準(zhǔn)計(jì)算公式如下所示。
(10)
(11)
(12)
(13)
其中,TP為真實(shí)陽性樣本的數(shù)量,相反,TN為真實(shí)陰性樣本的數(shù)量;FP為假陽性樣本的數(shù)量,F(xiàn)N為假陰性樣本的數(shù)量。
為了證明本文提出算法的有效性,本小節(jié)將進(jìn)行對(duì)比實(shí)驗(yàn)分析。在表4中所有小數(shù)結(jié)果均已轉(zhuǎn)換為百分制,并且將每個(gè)指標(biāo)的最佳結(jié)果加粗顯示。此外,將模型實(shí)驗(yàn)數(shù)據(jù)按照9∶1的比例劃分,其中2 469例為訓(xùn)練數(shù)據(jù),274例為測(cè)試數(shù)據(jù),實(shí)驗(yàn)結(jié)果均來自測(cè)試集。
首先將本文提出的算法與5種不同的K-近鄰算法進(jìn)行比較分析。對(duì)比K-1:僅使用VDM距離;對(duì)比K-2:僅使用曼哈頓距離;對(duì)比K-3:使用VDM距離和softmin距離加權(quán);對(duì)比K-4:使用曼哈頓距離和softmin距離加權(quán);對(duì)比K-5:使用混合距離。
通過對(duì)比K-3、K-4和本文算法實(shí)驗(yàn)結(jié)果可以看出,混合距離度量方式優(yōu)于單一距離度量。對(duì)比K-5實(shí)驗(yàn)結(jié)果說明了應(yīng)用softmin函數(shù)使模型準(zhǔn)確率提升。改進(jìn)的K算法的F1分?jǐn)?shù)達(dá)到82.982%,說明模型穩(wěn)定性表現(xiàn)良好,能夠綜合特征正確區(qū)分正負(fù)樣本。
表4 算法性能對(duì)比分析表Table 4 Algorithm performance comparison analysis
此外,為了證明改進(jìn)的K-近鄰算法的有效性,本文選擇的4種被廣泛應(yīng)用于解決生物醫(yī)學(xué)領(lǐng)域的機(jī)器學(xué)習(xí)模型,分別為支持向量機(jī)(support vector machine,SVM)、多層感知機(jī)(multi-layer perceptron,MLP)、隨機(jī)森林(random forest,RF)和輕量級(jí)提升機(jī)(light gradient boosting machine,Light GBM).通過表4數(shù)據(jù)對(duì)比分析可知,SVM召回率較高達(dá)到了86.333%,但精確率較低,說明SVM算法將部分存活患者預(yù)測(cè)為死亡患者且模型穩(wěn)定性相對(duì)于改進(jìn)的K-近鄰算法低0.738%.其他機(jī)器學(xué)習(xí)模型的準(zhǔn)確率、精確率、召回率和F1分?jǐn)?shù)均低于改進(jìn)算法。通過此結(jié)果進(jìn)一步證明了改進(jìn)的K-近鄰算法的有效性。
由于比率R和K值均是在模型訓(xùn)練過程中確定,因此利用4種模型的評(píng)價(jià)準(zhǔn)則來研究最佳比率和K值。圖3顯示了不同比率和K值下,模型準(zhǔn)確率的變化情況。由圖3可以看出,R=0.6時(shí),模型效果優(yōu)于其他比率。在比率固定情況下,當(dāng)K=9時(shí),模型達(dá)到最優(yōu),準(zhǔn)確率為80.874%.圖4為不同比率R和K值下,模型精確率的熱力圖。與圖3準(zhǔn)確率不同的是,模型的精確率在比率為0.2,0.3,0.6及K值為9時(shí),均呈現(xiàn)了較好的預(yù)測(cè)效果。
圖3 不同比率和K值準(zhǔn)確率熱力圖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時(shí),模型的召回率較高均超過了75%,且當(dāng)K=9時(shí),模型召回率最高達(dá)到了83.388%.圖6為不同比率和K值下的F1分?jǐn)?shù)情況。在圖6中,R=0.6和K=9時(shí),模型F1分?jǐn)?shù)仍呈現(xiàn)最佳效果,F(xiàn)1分?jǐn)?shù)為82.982%.
通過綜合分析4種評(píng)價(jià)指標(biāo)結(jié)果,將最終的比率固定為0.6,即按照表2離散型變量排序提取前12個(gè)離散型特征,按照表3連續(xù)型變量排序提取前8個(gè)特征,共計(jì)20.K值即待測(cè)樣本近鄰個(gè)數(shù),確定為9.
圖5 不同比率和K值召回率熱力圖Fig.5 Heat map of different rate and K value in Recall
圖6 不同比率和K值F1分?jǐn)?shù)熱力圖Fig.6 Heat map of different rate and K value in F1
本文提出了一種混合加權(quán)距離的K-近鄰算法來進(jìn)行心力衰竭患者預(yù)后死亡率的風(fēng)險(xiǎn)評(píng)估。利用VDM和曼哈頓距離混合計(jì)算待測(cè)樣本和樣本集中其他樣本之間的距離,克服了單一度量準(zhǔn)則難以準(zhǔn)確衡量樣本同時(shí)存在離散和連續(xù)變量距離的缺點(diǎn),采用softmin函數(shù)來進(jìn)行加權(quán)概率輸出,解決了投票法不能進(jìn)行樣本距離遠(yuǎn)近衡量的問題。與傳統(tǒng)KNN模型和其他機(jī)器學(xué)習(xí)模型對(duì)比分析,證明了提出的模型能夠有效地用于心衰患者死亡率預(yù)測(cè)。從而根據(jù)預(yù)測(cè)死亡率情況來幫助醫(yī)生制定更加科學(xué)的預(yù)后方案,對(duì)防止病情進(jìn)一步惡化,積極引導(dǎo)患者健康,改善患者生活質(zhì)量,降低醫(yī)療開支起到了促進(jìn)作用。