王牧雨 王妮 周陽(yáng) 陳卉
近些年來(lái),電子健康記錄的快速增長(zhǎng)以及廣泛使用推動(dòng)著疾病風(fēng)險(xiǎn)預(yù)測(cè)、患者結(jié)局預(yù)測(cè)、疾病亞型分析等臨床決策支持研究的進(jìn)步[1]。根據(jù)患者在住院期間的檢查、藥物、手術(shù)等臨床數(shù)據(jù),可以確定患者之間的相似關(guān)系。相似的患者往往有著相似的治療軌跡和結(jié)局,故相似患者的信息往往可以為結(jié)局預(yù)測(cè)、疾病風(fēng)險(xiǎn)預(yù)測(cè)等提供有力的支撐[2]。
在患者結(jié)局預(yù)測(cè)方面,一些基于靜態(tài)(即橫斷面)數(shù)據(jù)的機(jī)器學(xué)習(xí)模型已取得較滿意的結(jié)果[3]。且研究表明,基于患者相似性篩選研究隊(duì)列、構(gòu)建個(gè)性化預(yù)測(cè)模型,能進(jìn)一步提升預(yù)測(cè)效果[4]。盡管如此,目前相似性的計(jì)算大多僅納入了靜態(tài)數(shù)據(jù)如人口學(xué)信息、基礎(chǔ)慢性病信息、單次實(shí)驗(yàn)室檢查結(jié)果等,忽略了患者治療軌跡中大量的時(shí)間序列數(shù)據(jù),如多次實(shí)驗(yàn)室檢驗(yàn)。時(shí)間序列數(shù)據(jù)涵蓋更豐富的信息,加入時(shí)間序列數(shù)據(jù)可以有效提升機(jī)器學(xué)習(xí)模型的性能[5],因此利用包含時(shí)間序列數(shù)據(jù)的患者信息計(jì)算相似性也有望提升患者結(jié)局預(yù)測(cè)模型的預(yù)測(cè)效果。為此,本文提出融合時(shí)間序列數(shù)據(jù)和靜態(tài)數(shù)據(jù)的患者相似性計(jì)算框架,以期提高患者結(jié)局的預(yù)測(cè)準(zhǔn)確性。
Medical Information Mart for Intensive Care(MIMIC-Ⅲ)[6]數(shù)據(jù)集是一個(gè)公開的醫(yī)療數(shù)據(jù)集,它涵蓋了一所醫(yī)院重癥監(jiān)護(hù)室(intensive care unit,ICU)患者住院期間的各類臨床數(shù)據(jù),包含著豐富的時(shí)間序列信息。相比于使用研究者各自的數(shù)據(jù)集,使用公共數(shù)據(jù)集進(jìn)行研究有著更強(qiáng)的可重現(xiàn)性,有利于研究人員進(jìn)行不同預(yù)測(cè)模型的對(duì)比。目前,已有研究使用MIMIC-Ⅲ數(shù)據(jù)集中急性心肌梗死(acute myocardial infarction,AMI)患者的靜態(tài)數(shù)據(jù)進(jìn)行院內(nèi)死亡預(yù)測(cè),取得較好的結(jié)果[7]。
故本研究將對(duì)MIMIC-Ⅲ數(shù)據(jù)庫(kù)中AMI患者的臨床數(shù)據(jù)進(jìn)行相似性度量,評(píng)估基于相似性的預(yù)測(cè)模型在ICU患者結(jié)局預(yù)測(cè)上的表現(xiàn),并與經(jīng)典的機(jī)器學(xué)習(xí)模型進(jìn)行對(duì)比分析,驗(yàn)證時(shí)間序列相似性在患者結(jié)局預(yù)測(cè)方面的可行性和有效性。
本研究對(duì)MIMIC-Ⅲ數(shù)據(jù)集的數(shù)據(jù)進(jìn)行整合,使用基于患者相似性的K近鄰(K-nearest neighbor,KNN)模型和其他機(jī)器模型同時(shí)對(duì)AMI患者的結(jié)局進(jìn)行預(yù)測(cè),比較預(yù)測(cè)效果,繼而探究基于時(shí)間序列相似性的模型是否可以提高患者結(jié)局預(yù)測(cè)的準(zhǔn)確率。
本研究主要流程如下:首先對(duì)MIMIC-Ⅲ數(shù)據(jù)集進(jìn)行數(shù)據(jù)篩選、清洗、提取和整合,獲得入院當(dāng)天的基線數(shù)據(jù)和住院全程的數(shù)據(jù)。所有樣本等比隨機(jī)劃分為訓(xùn)練集和測(cè)試集,用于建立模型。使用的分類模型包括基于患者相似性度量的KNN模型,不納入時(shí)間序列的支持向量機(jī)(support vector machine,SVM)模型以及納入時(shí)間序列的長(zhǎng)短時(shí)記憶(long short-term memory,LSTM)模型。
預(yù)測(cè)的患者結(jié)局包括院內(nèi)死亡、長(zhǎng)時(shí)住院和長(zhǎng)時(shí)入住ICU。其中,長(zhǎng)時(shí)住院為住院時(shí)長(zhǎng)超過(guò)7 d[8],長(zhǎng)時(shí)入住ICU為進(jìn)入ICU時(shí)長(zhǎng)超過(guò)96 h。
從整個(gè)MIMIC-Ⅲ數(shù)據(jù)庫(kù)中篩選出急性心肌梗死患者,剔除其中數(shù)據(jù)缺失較多、數(shù)據(jù)明顯異常的患者記錄,最終納入本研究的共有3 010人。提取的患者信息包括人口學(xué)信息、藥物使用情況、影像學(xué)報(bào)告、疾病診斷、實(shí)驗(yàn)室指標(biāo)、手術(shù)操作數(shù)據(jù),并按如下方法進(jìn)行二值化或結(jié)構(gòu)化。
(1) 人口學(xué)信息包括性別、年齡、婚姻狀況、支付類型,根據(jù)是否為男性、年齡是否大于60歲、是否已婚、是否使用醫(yī)療保險(xiǎn)分別賦值為1和0。
(2) AMI患者經(jīng)常使用的藥物有7類,如血管緊張素受體拮抗劑、β受體阻滯劑等,按照住院期間患者是否服用過(guò)分別賦值為1和0。
(3) 從包括胸片和CT在內(nèi)的影像學(xué)報(bào)告中提取34個(gè)出現(xiàn)頻率較高的AMI相關(guān)特征,按照整份影像學(xué)報(bào)告中是否出現(xiàn)相應(yīng)特征詞為該特征變量賦值1和0。
(4) Chronic Conditions Data Warehouse(CCW)涵蓋26種慢性基礎(chǔ)病,每種疾病都與若干國(guó)際疾病診斷ICD-9編碼相對(duì)應(yīng),如ICD-9編碼244.0~244.9對(duì)應(yīng)獲得性甲狀腺功能衰退。根據(jù)患者疾病的ICD-9編碼對(duì)有無(wú)某種基礎(chǔ)慢病進(jìn)行疾病特征的二值化。
(5) 提取42項(xiàng)AMI相關(guān)實(shí)驗(yàn)室指標(biāo),其中19項(xiàng)實(shí)驗(yàn)室項(xiàng)目(如肌酸激酶同工酶濃度)通常只在入院時(shí)檢查一次,無(wú)法構(gòu)成時(shí)間序列,故將它們作為單獨(dú)數(shù)值型特征。對(duì)其余23項(xiàng)實(shí)驗(yàn)室指標(biāo)中的每一項(xiàng),住院期間多次檢測(cè)的數(shù)值按時(shí)間順序形成一個(gè)有時(shí)間軸的序列,統(tǒng)稱為信號(hào)序列,其序列長(zhǎng)度1~50不等。
(6) 對(duì)影像學(xué)檢查、實(shí)驗(yàn)室檢查項(xiàng)目以及手術(shù)操作等臨床事件,分別按事件發(fā)生的先后順序排列,形成影像學(xué)檢查序列(長(zhǎng)度1~30)、實(shí)驗(yàn)室檢驗(yàn)項(xiàng)目序列(長(zhǎng)度3~1150)、手術(shù)操作序列(長(zhǎng)度1~20),統(tǒng)稱為臨床事件序列。
最終,每個(gè)患者納入的所有數(shù)據(jù)及類型如圖1所示。二值型特征和單獨(dú)數(shù)值特征與時(shí)間無(wú)關(guān),統(tǒng)稱為靜態(tài)信息;事件序列和信號(hào)序列是與時(shí)間有關(guān)的信息,統(tǒng)稱為動(dòng)態(tài)信息。
圖1 患者數(shù)據(jù)的類型及包含特征Figure 1 Type and feature of patient data
1.3.1 二值型特征的相似性
人口學(xué)特征、影像學(xué)特征、藥物特征以及合并慢性病特征是4類二值型特征,可分別構(gòu)成一個(gè)二值型特征集合。若以A和B分別表示兩個(gè)患者二值型特征的集合,按式(1)可計(jì)算集合間的Jaccard系數(shù),該系數(shù)越大則兩個(gè)患者越相似。
(1)
1.3.2 單獨(dú)數(shù)值型特征的相似性
不涉及時(shí)間軸的各單獨(dú)數(shù)值型實(shí)驗(yàn)室指標(biāo)分別進(jìn)行正態(tài)標(biāo)準(zhǔn)化后,組成一個(gè)23維的向量,則可計(jì)算出一個(gè)歐氏距離,表示單獨(dú)數(shù)值型實(shí)驗(yàn)室指標(biāo)相似性。
1.3.3 臨床事件序列的相似性
本研究使用編輯距離[9]計(jì)算臨床事件序列的相似性。設(shè)兩名患者的某一臨床事件的序列為A和B,則二者的編輯距離為由序列A轉(zhuǎn)換成序列B所需要的最少替換、插入和刪除的次數(shù)。若LA和LB表示兩個(gè)事件序列的長(zhǎng)度,則事件序列A和B的相似性按式(2)定義:
(2)
事件序列包含影像學(xué)檢查、實(shí)驗(yàn)室檢查以及手術(shù)操作3個(gè),每個(gè)序列分別計(jì)算相似性得到3個(gè)結(jié)果,取平均值作為臨床事件序列相似性。
1.3.4 實(shí)驗(yàn)室信號(hào)序列的相似性
由于不同患者實(shí)驗(yàn)室檢查次數(shù)有差異,因此其信號(hào)序列長(zhǎng)度不同。使用動(dòng)態(tài)時(shí)間規(guī)整(dynamic time warping,DTW)算法[10]計(jì)算長(zhǎng)度不同的信號(hào)序列的相似性。對(duì)于序列A={ai|i=1,…,m}和B={bj|j=1,…,n},構(gòu)造由序列A、B中元素ai和bj的歐氏距離dij組成的矩陣Dm×n。在該矩陣中找到一條從起點(diǎn)到終點(diǎn),且滿足單調(diào)性、有界性和連續(xù)性的路徑,使得該路徑上累積距離最小。用該累積距離反映兩序列的相似程度。
信號(hào)序列共包含23個(gè)實(shí)驗(yàn)室檢查的結(jié)果,每個(gè)序列分別計(jì)算相似性得到23個(gè)結(jié)果,取平均值作為患者信號(hào)序列相似性。
按照以上4種方法,獲得人口學(xué)、慢性病、影像文本、藥物、單數(shù)值型實(shí)驗(yàn)室指標(biāo)、信號(hào)型實(shí)驗(yàn)室指標(biāo)和臨床事件序列共7個(gè)特征層面的相似性。按照各特征對(duì)患者結(jié)局的影響程度分別賦予權(quán)值,加權(quán)求和后獲得患者層面的相似性度量。
1.4.1 基于相似性的K近鄰模型
本研究使用的KNN模型,基于上一小節(jié)獲得的患者相似性代替經(jīng)典KNN模型中的歐氏距離,選取與要預(yù)測(cè)的患者最相似的50名最近鄰,投票獲得該患者結(jié)局的預(yù)測(cè)結(jié)果。
1.4.2 用于靜態(tài)數(shù)據(jù)分類的SVM模型
支持向量機(jī)是一種監(jiān)督學(xué)習(xí)模式下優(yōu)秀的分類模型。對(duì)于線性不可分的數(shù)據(jù)集進(jìn)行分類時(shí),使用核函數(shù)將樣本映射到高維空間使之線性可分。本研究中,根據(jù)數(shù)據(jù)特性,使用高斯核函數(shù)進(jìn)行計(jì)算。SVM模型的輸入包括患者的所有靜態(tài)數(shù)據(jù),信號(hào)序列除去時(shí)間信息也作為靜態(tài)數(shù)據(jù)進(jìn)行運(yùn)算。
1.4.3 用于時(shí)間序列數(shù)據(jù)分類的LSTM模型
LSTM是一種利用門機(jī)制的循環(huán)神經(jīng)網(wǎng)絡(luò),可以有效利用長(zhǎng)距離的時(shí)序信息[11]。本研究使用LSTM結(jié)構(gòu)和一個(gè)激活函數(shù)為Sigmoid的全連接層構(gòu)造神經(jīng)網(wǎng)絡(luò)模型。事件序列由于其數(shù)據(jù)類型較為特殊,不適合作為L(zhǎng)STM的輸入,故將靜態(tài)數(shù)據(jù)以及時(shí)間信號(hào)序列作為輸入,獲得預(yù)測(cè)結(jié)果。
將整個(gè)數(shù)據(jù)集隨機(jī)等比劃分訓(xùn)練集和測(cè)試集,分別用于訓(xùn)練預(yù)測(cè)模型和驗(yàn)證模型的預(yù)測(cè)性能。各模型的輸入分為患者住院全程數(shù)據(jù)和入院基線數(shù)據(jù),使用接受者操作特征(receiver operating characteristic,ROC)曲線下面積(area under curve,AUC)來(lái)評(píng)價(jià)和比較預(yù)測(cè)效果。在基于相似性的KNN模型中,按照計(jì)算相似性使用的動(dòng)態(tài)數(shù)據(jù)的不同,分為同時(shí)使用實(shí)驗(yàn)室信號(hào)與臨床事件序列、僅使用實(shí)驗(yàn)室信號(hào)序列以及僅使用臨床事件序列,可用于不同模型間的性能對(duì)比。
整合的MIMIC-Ⅲ數(shù)據(jù)庫(kù)中AMI患者,共3 010人,其中245人院內(nèi)死亡,1 867人住院時(shí)長(zhǎng)超過(guò)7 d。這些患者中,在住院期間進(jìn)入過(guò)ICU的共2 984人,其中1 131人進(jìn)入ICU時(shí)長(zhǎng)超過(guò)96 h。隨機(jī)劃分的訓(xùn)練集和測(cè)試集在患者年齡、性別以及3個(gè)結(jié)局上分布無(wú)差別(表1)。
表1 訓(xùn)練集與測(cè)試集患者的年齡、性別及結(jié)局分布[n(%)]Table 1 Age ,sex and outcomes of patients in trainingset and test set[n(%)]
當(dāng)用整個(gè)住院期間內(nèi)的數(shù)據(jù)做預(yù)測(cè)時(shí)[圖2(a)],KNN模型根據(jù)使用的動(dòng)態(tài)數(shù)據(jù)類型不同分為3種,其中,KNN2與SVM及LSTM模型的輸入數(shù)據(jù)完全相同,均為靜態(tài)數(shù)據(jù)與事件序列。圖中可見,KNN2模型(AUC 0.794和0.926)在死亡和長(zhǎng)時(shí)住院預(yù)測(cè)上的效果略低于SVM模型(0.825,0.930)和LSTM模型(0.853和0.928),這說(shuō)明該模型對(duì)于信號(hào)序列信息利用有待提升。但使用靜態(tài)數(shù)據(jù)和事件序列時(shí)(KNN3),其模型表現(xiàn)較好(AUC 0.825和0.930),這說(shuō)明該模型對(duì)事件序列信息利用較為充分。將事件序列和信號(hào)序列融合后(KNN1),模型的預(yù)測(cè)效果有顯著提升,在死亡和長(zhǎng)時(shí)住院的預(yù)測(cè)中AUC值分別為0.877和0.946,遠(yuǎn)高于SVM和LSTM模型。這說(shuō)明本研究使用的基于時(shí)間序列相似性的KNN模型可以有效融合多類型時(shí)間序列數(shù)據(jù),達(dá)到提升模型性能的目的。
當(dāng)用入院基線數(shù)據(jù)做測(cè)試時(shí)[圖2(b)],各模型表現(xiàn)都有所下降。在死亡結(jié)局的預(yù)測(cè)中,KNN模型AUC下降較大,僅為0.680,低于SVM(0.719);但在長(zhǎng)時(shí)住院和長(zhǎng)時(shí)ICU的預(yù)測(cè)上,KNN模型的AUC(0.738和0.728)仍高于SVM模型(0.715和0.708),保持著較好的預(yù)測(cè)效果。
圖2 各模型預(yù)測(cè)患者結(jié)局的性能Figure 2 The predictive performance of all models
MIMIC-Ⅲ數(shù)據(jù)庫(kù)有著豐富且完善的患者住院數(shù)據(jù),被廣泛應(yīng)用于患者結(jié)局預(yù)測(cè)的研究中[12]。本研究從該數(shù)據(jù)庫(kù)中提取出了包含人口學(xué)、診斷、影像學(xué)報(bào)告、藥物使用和實(shí)驗(yàn)室檢查在內(nèi)的各類特征,進(jìn)行患者結(jié)局的預(yù)測(cè)。
本研究使用時(shí)序相似性度量的方法,融合了4種類型的患者相似性度量,將動(dòng)態(tài)信息與靜態(tài)信息相結(jié)合,進(jìn)行患者結(jié)局預(yù)測(cè),取得了滿意的效果。使用住院全程數(shù)據(jù)進(jìn)行預(yù)測(cè),同樣僅使用信號(hào)序列數(shù)據(jù)時(shí),本研究提出的KNN模型AUC低于LSTM模型,但融合事件序列類型的數(shù)據(jù)后,其模型性能有很大提升,遠(yuǎn)高于SVM和LSTM模型。這也體現(xiàn)出本研究提出的KNN模型相比與參照模型的優(yōu)勢(shì),即可以在有效利用信號(hào)序列的同時(shí),融合事件序列類型的數(shù)據(jù),實(shí)現(xiàn)模型預(yù)測(cè)效果的大幅提升。Guo等[7]基于MIMIC-Ⅲ數(shù)據(jù),使用諾莫圖綜合多個(gè)特征,使用機(jī)器學(xué)習(xí)的方法對(duì)心肌梗死患者死亡進(jìn)行預(yù)測(cè),效果同樣低于本研究中基于相似性的預(yù)測(cè)模型。這進(jìn)一步驗(yàn)證了本研究基于相似性的KNN模型,可以有效利用臨床事件序列,并與信號(hào)序列數(shù)據(jù)進(jìn)行融合,提高預(yù)測(cè)效果。另一方面,基于相似性的模型在使用住院全程數(shù)據(jù)進(jìn)行預(yù)測(cè)時(shí),其性能相比于僅使用入院基線數(shù)據(jù)有明顯提升。該結(jié)果證明融合了時(shí)間序列和靜態(tài)數(shù)據(jù)相似性的模型,相比只使用靜態(tài)數(shù)據(jù)相似性的模型有著更好的預(yù)測(cè)效果。這主要是因?yàn)闀r(shí)間序列更直接反映了患者在住院期間的治療軌跡,而治療軌跡與患者的結(jié)局有較大的關(guān)聯(lián),僅使用靜態(tài)數(shù)據(jù)不易反映患者的疾病進(jìn)展和治療軌跡,故基于時(shí)間序列相似性的模型在患者結(jié)局預(yù)測(cè)上表現(xiàn)更好。
本研究使用無(wú)監(jiān)督的方式直接對(duì)患者相似性進(jìn)行了計(jì)算,比較患者相似關(guān)系,將患者相似性與KNN模型結(jié)合,對(duì)多個(gè)患者結(jié)局進(jìn)行預(yù)測(cè)。結(jié)果證明,納入時(shí)間序列相似性的KNN模型,在ICU患者結(jié)局預(yù)測(cè)方面有著很高的準(zhǔn)確性,可以為對(duì)醫(yī)生改善治療方案、降低死亡率提供幫助。
本研究的數(shù)據(jù)來(lái)源于公共數(shù)據(jù)集,主要用于驗(yàn)證本研究提出的相似性計(jì)算框架是否可以有效挖掘患者間的相似關(guān)系,提升模型性能,并與使用該數(shù)據(jù)集的其他研究進(jìn)行模型性能的對(duì)比。但本研究未使用臨床場(chǎng)景內(nèi)的數(shù)據(jù)進(jìn)行驗(yàn)證,在模型的臨床應(yīng)用價(jià)值的驗(yàn)證上有一定局限性。
基于時(shí)間序列患者相似性的模型相比基于靜態(tài)數(shù)據(jù)相似性的模型,有著更高的信息利用率,對(duì)患者結(jié)局也有著更好的預(yù)測(cè)效果。