賈 崢 宗瑞杰 段會龍 李昊旻
1(浙江大學生物醫(yī)學工程與儀器科學學院,杭州 310027)2(青島市中心血站,山東 青島 266071)3(浙江大學醫(yī)學院附屬兒童醫(yī)院,杭州 310052)4(浙江大學轉(zhuǎn)化醫(yī)學研究院,杭州 310029)
提前而且精準地預測患者未來的疾病發(fā)展健康狀態(tài)有助于疾病預防、早期診斷和及時干預等,不但可以控制高額醫(yī)療成本的增長,同時可以避免或減緩許多人的疾病困擾,因此具有重要的社會價值和科學意義。以往,醫(yī)生主要依據(jù)經(jīng)驗來判斷患者未來病情發(fā)展;但是,臨床技術(shù)的日新月異與醫(yī)學知識的爆炸式增長帶來了更加紛繁復雜的臨床數(shù)據(jù)和臨床決策環(huán)境,臨床工作者單純依靠人腦來應對新的條件下的患者預測變得越來越困難。醫(yī)療大數(shù)據(jù)的積累為通過醫(yī)療數(shù)據(jù)挖掘來預測患者病情提供了新的基礎依據(jù)[1],將促使醫(yī)療保健從基于熟練的藝術(shù)(proficiency-based art)發(fā)展為數(shù)據(jù)驅(qū)動的科學(data-driven science)[2],從“千人一方”轉(zhuǎn)向“個性化治療”,從“治已病”的被動模式逐漸發(fā)展至“治未病”的主動模式[3]。
目前,基于醫(yī)療大數(shù)據(jù)的預測方法尚處于百家爭鳴階段,主要可以劃分為兩類(見圖1):一類是基于數(shù)據(jù)來訓練生成預測模型(predictive model)[4-6],即針對特定目的,基于有監(jiān)督的機器學習方法,如分類、回歸、深度神經(jīng)網(wǎng)絡等,生成訓練模型,預測未知患者的臨床事件;另一類是通過衡量患者之間的距離,建立患者相似組,并通過相似組的特征來預測目標患者的情況,這被稱為患者相似性(patient similarity)分析[7-11]。具體來說,患者相似性分析是指在特定的醫(yī)療環(huán)境下,選取臨床概念(如診斷、癥狀、檢查檢驗、家族史、既往史、暴露環(huán)境、藥物、手術(shù)、基因等)作為患者的特征項,定量化分析復雜概念語義空間中概念間的距離,從而動態(tài)地度量患者間的距離,篩選出與索引患者相似的患者相似組。在醫(yī)療大數(shù)據(jù)場景中,患者相似組的各種特征在理論上能夠提供多方面的預測,相比針對特定目標的訓練模型具有更好的普適特性。
圖1 預測模型與患者相似性Fig.1 Predictive model VS patient similarity
預測模型與患者相似性的預測方法具有不同的優(yōu)勢和特點。如圖1所示,預測模型具有特定的預測空間,采用有監(jiān)督的方法,將索引患者歸入已知的一類群體中,如最小二乘回歸[12]、決策樹/隨機森林[13-14]、支持向量機[13-14]、卷積神經(jīng)網(wǎng)絡[5]、遞歸神經(jīng)網(wǎng)絡[15]、徑向基函數(shù)網(wǎng)絡[13-14]等。患者相似性分析一般采用無監(jiān)督或半監(jiān)督的方法,根據(jù)臨床概念的現(xiàn)實意義來計算概念間的相似性,再計算患者間的距離,最終得到按相似程度高低排序的已知患者,利用最相似的一簇患者做預測分析。
預測模型與患者相似性的適用條件不同。預測模型需針對特定預測目標,利用帶有標簽的已知患者群體,訓練適用于特定應用場景的預測模型。當預測目標變化或更換應用場景時,均需要重新訓練模型。此外,若無法收集足夠數(shù)量的帶有標簽的已知患者,則不能訓練出足夠準確的預測模型。一般情況下,患者相似性不受限于預測目標和有標簽的已知患者數(shù)量,其核心方法“復雜概念語義空間中概念間的距離”及“利用患者的臨床概念度量患者間的距離”通常是與目標無關(guān)、非監(jiān)督的,是通用可計算的方法。已有少量研究表明,針對特定場景、特定目標,預測模型選用Logistic回歸,患者相似性選擇k-NN,前者的表現(xiàn)精準度更高[7],然而患者相似性分析具有廣泛的預測能力,隨著大數(shù)據(jù)資源的積累和大數(shù)據(jù)分析技術(shù)的成熟,將會展現(xiàn)出日益廣闊的應用場景。
本研究旨在對患者相似性分析涉及的技術(shù)、方法進行系統(tǒng)討論,使讀者了解患者相似性的定義、背景、進展、方法和挑戰(zhàn)。下面從患者相似性分析的理論基礎出發(fā),介紹分析患者相似性的最新研究成果和計算框架,針對其中的關(guān)鍵技術(shù)(數(shù)據(jù)預處理、降維、距離度量、相似組分析等)進行詳細介紹,并討論當前分析患者相似性所面臨的機遇和挑戰(zhàn)。
患者相似性分析是對高年資醫(yī)生比對患者的思維過程的模擬。醫(yī)學分析哲學專家Sadegh-Zadeh在其專著HandbookofAnalyticPhilosophyofMedicine中詳細闡述了臨床推理的原理,臨床推理的對象是患者而不是單純的癥狀、檢查結(jié)果、疾病或治療。臨床實踐的目標不是診斷,而是尋找最佳的臨床路徑來管理患者個人的健康事務。臨床決策可以看作是在醫(yī)生與其臨床調(diào)查對象控制下通過問答、信息生成來實現(xiàn)路徑尋找(path searching)的過程[16]。具有豐富經(jīng)驗的醫(yī)生可以快速地將當前的患者對象歸入某一個案例模型,而這個模型本質(zhì)上是對患者群體按照距離建立的聚類。醫(yī)生將患者歸入某一個案例模型,進而評估健康風險,選擇治療方案,預算治療費用,估計住院時長,預測再住院,等等。做出臨床決策的思維過程既是獲得大量案例觀察性知識的基礎,也是進行臨床決策的基礎,而患者相似性分析是對這種思維過程系統(tǒng)性、計算機化的分析。基于大數(shù)據(jù)的患者相似性的應用能夠提高療效預測準確度[17],識別和預測疾病關(guān)系及共發(fā)性[18],在醫(yī)療時間點提供臨床決策支持服務[19]。
患者相似性的研究尚處于發(fā)展階段,還沒有一致的結(jié)論證明哪種方法更有效,也沒有完整成功的商業(yè)應用案例。走在時代前沿的科研機構(gòu)、醫(yī)療機構(gòu),如Mayo Clinic, Memorial Sloan Kettering Cancer Center,以及IT行業(yè)巨頭(如IBM Watson Health和Google Deep Mind Health)、雨后春筍般的創(chuàng)業(yè)企業(yè),正在推動醫(yī)學人工智能進入2.0時代,而患者相似性分析在大量獲得成功的案例中都得到了應用,因此患者相似性分析的研究也成為了這次浪潮中燦爛的浪花。
近年來,基于患者相似性的預測模型的研究已經(jīng)成為一個非常熱門的研究領(lǐng)域,涉及到精神和行為異常[20]、傳染病[18]、癌癥[18,21-23]、內(nèi)分泌問題[18,22]、代謝疾病[9-10]、神經(jīng)系統(tǒng)疾病[18,21,24-26]、眼科疾病[18,25]、皮膚疾病[18,25]、心臟疾病[22,25,27-28]、肝臟疾病[23]、腸道疾病[25]、肌肉骨骼疾病[25]、先天畸形[25]以及各種影響健康狀態(tài)的環(huán)境因素[10,29-30]等大量領(lǐng)域。
參考Kitchenham的指導方針,筆者采用系統(tǒng)搜索法,篩選出關(guān)于患者相似性的文獻共18篇,其中7篇文獻發(fā)表于2016年及以后。文獻的出處是生物醫(yī)學工程領(lǐng)域或醫(yī)學領(lǐng)域具有代表性或權(quán)威性的期刊、會議論文集。這些研究滿足:輸入數(shù)據(jù)的類型,包括電子健康檔案(electronichealth records);分析患者間的相似程度;不完全依靠人工;不完全依靠深度學習方法。文獻查詢結(jié)束于2017年7月30日,選擇在Scopus、PubMed、ISIWeb of Science等涉及醫(yī)療相關(guān)出版物的數(shù)據(jù)庫,搜索“患者/患者相似性(patient similarity)”,“相似性度量(similar measures)”,“健康數(shù)據(jù)(health data)”,“電子健康檔案/病歷(electronic health/medical records)”,“預測模型(prediction model)”等關(guān)鍵詞。移除重復條目后,瀏覽所有標題及摘要并再次篩選,閱讀全文,確定最終的納入文獻。從納入文獻中提取的數(shù)據(jù)匯總于表1中,基于以下準則進行分析:發(fā)表年份、數(shù)據(jù)源、數(shù)據(jù)類型、簡介、方法。
可以看出,隨著可獲得的醫(yī)療數(shù)據(jù)資源的積累,利用醫(yī)療數(shù)據(jù)開展患者相似性分析的相關(guān)研究越來越廣泛和深入。從2011—2017年,相關(guān)文獻逐漸增多,研究熱度逐漸升溫,患者相似性分析已經(jīng)在多個領(lǐng)域(如預測心力衰竭[17,31-32]、預測腎移植存活率[33]等)驗證了其有效性,該方法還能為其他預測模型補充缺失的標簽[34]等。然而,其中所使用的數(shù)據(jù)類型各不相同,使用的技術(shù)手段千差萬別,預測效果也不一致,甚至一些研究對于同一方法的表現(xiàn)優(yōu)劣存在矛盾的結(jié)論。下面討論患者相似性分析的通用計算框架和其中涉及的關(guān)鍵技術(shù),為相關(guān)研究提供參考。
患者相似性分析基于相似性計算,計算框架如圖2所示。在醫(yī)療大數(shù)據(jù)背景下所有的醫(yī)療數(shù)據(jù),如診斷、癥狀、檢查檢驗、家族史、既往史、暴露環(huán)境、藥物、手術(shù)等,都可以作為相似性計算的輸入;海量醫(yī)療數(shù)據(jù)的質(zhì)量通常良莠不齊、缺乏標準,需要進行預處理,清理臟數(shù)據(jù),處理缺失值,映射和變換數(shù)據(jù);高維的臨床數(shù)據(jù)可能導致維度災難,降低信噪比,因此需要恰當?shù)剡x取或映射臨床概念,在特征空間將患者表達為向量,利用數(shù)學方法定量地度量復雜概念語義空間中概念間的距離,綜合異構(gòu)的、多類型的臨床概念,分析患者間的距離,基于排序或聚類分析篩選出患者相似組,綜合分析患者相似組的治療方案、病情發(fā)展趨勢等,選用數(shù)據(jù)可視化工具等,為臨床決策支持提供服務。下面就患者相似性計算過程進行系統(tǒng)的介紹。
表1 患者相似性分析相關(guān)文獻匯總Tab.1 Summary of the articles related to patient similarity analysis
續(xù)表
注:數(shù)據(jù)源根據(jù)是否具有時間屬性,分為橫向和縱向。
Note: Data type is classified as cross-sectional and longitudinal based on whether it has time attributes.
圖2 患者相似性計算框架Fig.2 The computing framework of patient similarity
理論上所有與患者相關(guān)的數(shù)據(jù)都可以用于分析患者相似性,目前這些數(shù)據(jù)的主要來源是臨床信息化產(chǎn)生的數(shù)據(jù),如檢驗/檢查報告、體征、用藥、診斷、病程記錄等信息。數(shù)據(jù)分為兩類:一類是存儲于數(shù)據(jù)表中的結(jié)構(gòu)化數(shù)據(jù),例如數(shù)值型的檢驗結(jié)果、生命體征、人口統(tǒng)計學信息等;另一類是非結(jié)構(gòu)化數(shù)據(jù),如病程記錄、出院記錄、檢查報告等文本信息,以及CT、X線、MRI、超聲、心電等影像和信號數(shù)據(jù)。
結(jié)構(gòu)化數(shù)據(jù)具有先天的適于計算機處理的優(yōu)勢,在經(jīng)過特定轉(zhuǎn)化后可以滿足計算的需求。但是,非結(jié)構(gòu)化數(shù)據(jù)中包含了復雜的信息,這些信息的自動提取和自動理解是人工智能面臨的主要挑戰(zhàn)之一。隨著相關(guān)技術(shù)的進步,越來越多的非結(jié)構(gòu)化信息可以服務于患者相似性分析,特別是醫(yī)學語言處理技術(shù)的發(fā)展,使得從蘊含了大量信息的臨床文本數(shù)據(jù)中能夠提取有價值的、日常缺失的信息用于患者相似性分析。例如,Dey等利用醫(yī)學語言處理工具PredMED,從非結(jié)構(gòu)化的電子病歷文本中識別出可用于Framingham心力衰竭診斷所需的體征和癥狀,檢測其中的否定性表達,其信息提取的F值達0.910[42]。同時,醫(yī)學影像信息學的發(fā)展,對于從原始影像信號中獲得可計算的特征數(shù)據(jù)提供了越來越多的支持,也是目前醫(yī)學人工智能的一個重要領(lǐng)域。由于這超出了本研究的范疇,這里不做詳細介紹。
獲得了可計算的數(shù)據(jù)還不能直接開展大規(guī)模的數(shù)據(jù)計算和分析,以下3點不可忽視:第一是數(shù)據(jù)質(zhì)量,醫(yī)療數(shù)據(jù)質(zhì)量參差不齊,大量臨床數(shù)據(jù)是手工錄入采集的,容易發(fā)生錯誤和矛盾的情況,需注意同一個臨床測量在不同時期、不同設備和不同診斷標準下具有不同的意義;第二是數(shù)據(jù)標準,不同的國家、地區(qū)、機構(gòu)的醫(yī)療數(shù)據(jù)標準不同;第三是數(shù)據(jù)量,雖然整體數(shù)據(jù)量很大,但是滿足特定需求的樣本量可能并不充足,如罕見病的病例,這種樣本的不平衡往往會影響這類臨床場景下決策的準確性。綜上所述,恰當?shù)臄?shù)據(jù)預處理是在分析患者相似性之前必須解決的問題,主要包括以下步驟。
3.2.1數(shù)據(jù)篩選
數(shù)據(jù)篩選的目的是篩選出特定的數(shù)據(jù)類型和數(shù)據(jù)項,以滿足特定目的的計算需求。由于臨床概念的總數(shù)目極為龐大,單一科室中的患者涉及的癥狀、藥品、檢查檢驗等臨床概念就有成千上萬種,不加篩選可能導致維度災難(dimension curse),因此需要根據(jù)實際應用場景來選擇患者的數(shù)據(jù)類型。這些數(shù)據(jù)類型一方面要具有普遍性,即大多數(shù)患者都具有這樣的數(shù)據(jù),另一方面要能夠滿足實現(xiàn)定量分析的要求。在同一數(shù)據(jù)類型下,也可能存在大量的離散取值,如臨床癥狀,約束這個取值也可以獲得更好的計算性能。比如,Dai等的研究中定義了如下的表型過濾條件,一是在全部患者的出院記錄中出現(xiàn)總頻次低于5次的低頻表型,二是利用TF-IDF方法從出院記錄中挑選出300個分值最低的低信息量表型[43]。而在特定場景中,也可以設定篩選條件來建立更符合預測場景的患者群體,比如Wang等的研究中將心力衰竭作為目標疾病,篩選條件為50~79歲、至少兩次與心力衰竭相關(guān)的ICD-9編碼、發(fā)病前記錄的電子病歷不少于18個月的患者[17]。
3.2.2缺失值的處理
臨床數(shù)據(jù)的概念空間雖然存在很多維,但是患者的臨床記錄并不會對所有維度進行說明,通常都會存在缺失數(shù)據(jù)項的問題。例如,醫(yī)生不會在病程記錄中提及全部癥狀,如果使用二值法表示患者是否具有某種癥狀,單個患者90%以上的癥狀會被標記為“缺失”?;颊卟粫⑨t(yī)院具有的全部實驗室檢驗項目逐一進行檢查,醫(yī)生會選擇性地要求患者測量一部分指標,那么未測量的指標數(shù)據(jù)為空。因此,如何處理缺失值是患者相似性計算中需要處理的。目前,處理缺失值的方法包括:
1) 忽略患者。如果缺失項是進行研究必不可少的概念,可以選擇剔除數(shù)據(jù)不完整的患者[42],當然這會導致該患者的剩余臨床概念被浪費。
2) 人工填寫。一些重要的數(shù)據(jù)缺失項可以通過人工查詢或隨訪來補充,但是這種方式耗時費力。
3) 使用一個全局常量填充缺失值。例如,使用N/A,Unknown,Null[44],并在計算的過程中針對缺失值提供特定的計算方法。
4) 使用屬性的中心度量填充缺失值。例如,使用某檢驗指標患者群體的均值或中位數(shù)[44-45]。
5) 使用最可能的值填充缺失值。使用該屬性最常見的數(shù)值補充缺失值,比如陰性的癥狀[45]。另一種方法是利用患者已有數(shù)據(jù)填補縱向時間軸上的缺失值,例如一位病人患有慢性病,某次記錄缺失并不等于疾病痊愈,其他時間點記錄的慢性病可用于填補缺失的記錄[83]?;蛘哌€可以在異質(zhì)的患者群體(heterogeneous cohort)中尋找同質(zhì)的鄰近患者(homogeneous neighborhood)[84],利用已有的稀疏數(shù)據(jù)填補缺失值,可以用貝葉斯方法、多任務學習等方法確定缺失值。Sun使用時間窗口內(nèi)的均值和線性回歸方法填寫缺失值[46]。Wang等將患者矩陣分解為兩個低秩矩陣,其中的醫(yī)療概念映射矩陣可以與同質(zhì)的鄰近患者共享[83]。Zhou等假設患者個體具有不同的表型,同質(zhì)的患者群體具有相似的臨床概念映射矩陣,利用不同臨床概念之間的相關(guān)性,采用多任務學習方法填補稀疏矩陣[84]。缺失值補充提升了有效樣本的數(shù)量,Chiu等的研究中最初的訓練集僅有337個樣本,利用患者相似性的方法傳遞標簽,補充了1 097個具有虛擬標簽的樣本[34]。
3.2.3數(shù)據(jù)映射和變換
在數(shù)據(jù)預處理階段,通常將臨床概念映射到編碼或者變換為其他形式,以方便后續(xù)的大規(guī)模數(shù)據(jù)分析。數(shù)據(jù)變換策略包括以下幾種:
1) 概念編碼。指由給定的屬性構(gòu)造新的屬性并添加到屬性集中,例如利用醫(yī)學語言處理技術(shù)將ICD-10賦予疾病診斷結(jié)果,使用ICD碼替代非結(jié)構(gòu)化的疾病描述文本[18,20]。
2) 數(shù)值歸一化。指將數(shù)據(jù)按一定規(guī)則映射到特定的規(guī)范區(qū)間,例如使用Z分數(shù)法處理數(shù)值型的實驗室檢查檢驗[35],進而可以統(tǒng)一計算各個檢驗值所構(gòu)成的空間距離。
3) 利用概念層次關(guān)系的知識映射數(shù)據(jù)到特定概念分層。例如,Li等使用Clinical Classifications Software 將最底層的ICD-9-CM歸類至更廣泛的身體系統(tǒng)或疾病類別,“循環(huán)系統(tǒng)的疾病”、“精神障礙”使用最高最廣的ICD層級進行數(shù)據(jù)分析[18]。
4) 計算獲得新特征。指對數(shù)據(jù)進行計算、匯總或聚集,Dey等使用一位主治醫(yī)師負責的全部患者的體征/癥狀的平均出現(xiàn)次數(shù)作為特征項[42]。
5) 數(shù)值的定型化和離散化。指用區(qū)間標簽或概念標簽替換原始數(shù)值,Lowsky等將連續(xù)型的群體反應性抗體峰值劃分為6個區(qū)間段[33]。
使用越多的維度來評價患者相似性越有可能獲得越精確的評估,但是過于高的數(shù)據(jù)維度對于計算來說卻是災難。
高維的臨床數(shù)據(jù)中,并非所有特征都很重要,其中包含的干擾信息可能降低患者相似性分析過程的性能。大量的弱相關(guān)特征和冗余特征是難以處理的,根源是非相關(guān)特征降低了信噪比。為控制、平衡時間復雜度和空間復雜度,需利用維度歸約技術(shù)得到數(shù)據(jù)集的歸約表示,稱之為降維[1]。通俗地講,降維就是將初始臨床概念數(shù)據(jù)投射到一個新的低維空間。
3.3.1基于特征選擇的降維
特征選擇是指從d個維度中利用領(lǐng)域知識找出蘊含最多信息的k個維并丟棄其他k-d維。Saraiva等引入醫(yī)學領(lǐng)域?qū)<抑R,從人口統(tǒng)計學信息、體征、癥狀這3個類別中挑選出26種臨床概念,用于區(qū)分肛周癌、結(jié)直腸癌、食管癌和胃癌[37]。Labellapansa等基于案例和領(lǐng)域知識,賦予篩選出的臨床概念不同的權(quán)重[39]。
在缺乏清晰的領(lǐng)域知識的情況下,通常利用數(shù)據(jù)統(tǒng)計的方式來評估不同維度的信息量。例如,廣泛使用的TF-IDF[17,31,47],TF意思是詞頻(term frequency),IDF意思是逆向文件頻率(inverse document frequency),其乘積可以用于評估一個臨床概念在數(shù)據(jù)集中的一份病歷中的重要程度。該概念的重要性隨著它在患者病歷中出現(xiàn)的次數(shù)成正比增加,但同時會隨著它在其他患者的病歷中出現(xiàn)的頻率成反比下降。TF-IDF可用來為特征項賦予權(quán)重,權(quán)重越大,信息量越高,低信息量的特征可以被省略。Roque等利用TF-IDF,為診斷結(jié)果的疾病編碼ICD-10賦予權(quán)重,越普遍常見的疾病,其信息量越低[20]。Saeed等使用TF-IDF,為小波系數(shù)賦權(quán)重來分析時序臨床特征[47]。其他一些研究中還使用Tree-Lasso[48]、l1-norm[49]方法選擇臨床概念特征。
3.3.2基于特征映射的降維
特征映射是指找到一種方法將原來d個維度的組合映射到k個維(k 1) 線性判別分析(linear discriminant analysis, LDA)[50]是一種用于分類問題的有監(jiān)督的降維方法。Ling等利用LDA,從含有13個臨床概念的空間中得到7個臨床概念的線性組合,以此作為川崎病和其他發(fā)熱疾病的判別依據(jù)[51]。 2) 主成分分析(principal components analysis,PCA)[52]利用降維的思想把多指標轉(zhuǎn)化為少數(shù)幾個綜合指標(即主成分),其中每個主成分都能夠反映原始變量的大部分信息,且所含信息互不重復。這種方法在引進多方面變量的同時,將復雜因素歸結(jié)為幾個主成分,使問題簡單化。Wang等使用PCA來處理一個包含20萬患者共計約400萬份索賠報告、400萬份實驗室檢驗記錄、500萬份用藥記錄的大數(shù)據(jù)集,利用歐式距離判斷患者間的相似程度[17]。Miotto等也推薦在深度學習之前利用PCA方法來去除不相關(guān)的因素,以達到更好的患者預測效果[53]。 3) 非負矩陣分解(non-negative matrix facto-rization,NMF)[54]將原始高維矩陣分解為兩個相乘的低維矩陣。左矩陣稱為基矩陣,右矩陣稱為系數(shù)矩陣。用系數(shù)矩陣代替原始矩陣,就可以實現(xiàn)對原始矩陣的降維,得到數(shù)據(jù)特征的降維矩陣。例如,在Ling的研究中,利用使用非負矩陣分解的方法,將患者-特征矩陣An×m分解為Wn×k×Hk×m,對于矩陣W,k個組成部分代表了風險因子特征中的潛在模式,當分析未知患者的風險因子時,使用相對應的一部分特征項即可進行評估[55]。 4) 離散小波變換(discrete wavelet transform,DWT)[56]是一種線性信號處理技術(shù),將時序數(shù)據(jù)向量變換為不同的數(shù)值小波系數(shù)向量,截斷小波變換后的數(shù)據(jù),僅保留一小部分最強的小波系數(shù)來實現(xiàn)降維。Saeed等使用DWT處理ICU患者隨時間變化的生理測量記錄,挖掘多參數(shù)時序模型,用于預測生理不穩(wěn)定[47]。 5) 局部樣條回歸(local spline regression,LSR)[57],也可以用于非線性維度降低。Wang等利用該方法處理由人口統(tǒng)計學信息、藥品NDC碼、治療步驟CPT碼、疾病診斷ICD碼、HCC碼等組成的龐大的臨床概念集合,得到臨床概念的特征空間,再利用歐式距離判斷患者間的相似程度[17,31]。 除以上提到的降維方法外,其他的一些線性降維方法,如多維尺度(multidimensional scaling,MDS)[58]、因子分析(factor analysis,F(xiàn)A)[59]和非線性降維方法(如拉普拉斯特征映射(Laplacian eigen maps,LE)[17]、局部線性嵌入(locally linear embedding,LLE)[17]、等距特征映射(isometric feature mapping,Isomap)[60]等,已應用于醫(yī)學信息學領(lǐng)域的數(shù)據(jù)降維。還有一些方法,如鄰域保持嵌入(neighborhood preserving embedding,NPE)、線形局部切空間排列(linear locally target space alignment,LLTSA)、局部二值模型(locally binary patterns,LBP)等,具有很好的降維效果,但尚未見應用于醫(yī)療領(lǐng)域。 臨床決策過程中涉及的臨床概念包括了診斷、癥狀、檢驗/檢查、家族史、既往史、環(huán)境、藥物、手術(shù)等。患者的相似性分析本質(zhì)上需要在各個概念層面上均具備相似性分析的能力,針對臨床決策中主要的概念空間,使用針對性的相似性計算方法和相應的評估方法,最終融合成一個系統(tǒng)性的患者相似性分析方法體系。 3.4.1臨床概念間的距離 每一類臨床概念具有不同的語義空間特征,比如兩個診斷之間的距離如果僅通過是否一致來判斷,就無法有效區(qū)分風濕性心肌炎(I09.000)、類風濕性關(guān)節(jié)炎(M06.900)、風濕性關(guān)節(jié)炎(I00.x01)、痛風性關(guān)節(jié)炎(M10.002)等這類相關(guān)診斷之間的距離遠近,因此需要針對性地研究各個概念的語義空間,并針對性地設計和驗證距離計算方法,最終才能夠服務于全面的患者相似性計算。 根據(jù)概念取值屬性,存在如下的概念類型: 1) 數(shù)值型。一般的實驗室檢查檢驗項目是數(shù)值型,如血壓、白細胞計數(shù)、尿量、體溫,通常采用兩個數(shù)值之差的絕對值來表示兩個數(shù)據(jù)的距離。 然而,計算臨床概念間的距離不能忽視實際的臨床意義。例如,血常規(guī)中平均血紅蛋白含量的正常范圍是27.0~34.0,3位患者的測量值分別是25.8、27.2、33.5。按照一般計算方法,前兩位患者更相近,然而按照臨床意義,前一位是異常的,后兩位是正常的,因此后兩位更相近。Z分數(shù)[36]也叫標準分數(shù),能夠有效解決這個問題。數(shù)值型臨床指標總體上服從正態(tài)分布,臨床上參考范圍也通常采用正態(tài)分布的百分位數(shù)法來確定。Z分數(shù)是從原始分數(shù)中減去群體的平均值,再依照群體的標準差分割成不同的差距。結(jié)合臨床意義的Z分數(shù)是分段函數(shù),對于正常范圍的數(shù)值,定義為0,低于下限或高于上限,則處理為該值與下/上限的差值與群體標準差的比值,比值越大,說明該指標的異常程度越高。需注意臨床上有些指標僅在單側(cè)方向上的異常才具有臨床意義,比如門冬氨酸氨基轉(zhuǎn)移酶等異常升高。 2) 布爾型。陰陽定性的檢驗、臨床癥狀是否出現(xiàn)等數(shù)據(jù)屬于布爾型數(shù)據(jù),一般使用異或值表示相同或不同,也有研究為了統(tǒng)一計算,將布爾型映射為0和1,然后按數(shù)值型來計算。 3) 編碼型。臨床存在大量編碼數(shù)據(jù),如疾病分類與編碼(ICD-10)、手術(shù)操作分類與代碼(ICD-9-CM-3)、解剖學治療學及化學分類(ATC)、醫(yī)學系統(tǒng)臨床術(shù)語(SNOMED CT)等。編碼體系是專家知識的一種體現(xiàn),其中蘊含了大量的語義關(guān)系,提供了多種可能來評估概念編碼之間的距離,比如基于信息論或基于層級的方法評估距離。以ICD-10為例,它是樹形結(jié)構(gòu),虛擬頂點之下共有4級,22個一級節(jié)點(即疾病分類),12 000余個四級節(jié)點(即疾病名稱)。比較兩個編碼的距離時,基于層級的方法考慮編碼的深度及兩個編碼間的最短路徑,深度越深說明該編碼的概括性越強,最短路徑越短說明二者的臨床意義越近。Girardi在研究中對比了基于概率的和基于層級的距離度量方法,結(jié)果表明前者的可視化往往使患有多發(fā)診斷的患者更接近患有單一診斷的患者,后者的可視化在它們之間形成了清晰的邊界,基于層級的方法表現(xiàn)更佳[40]。 4) 分類型。如銀屑性皮損面積和嚴重指數(shù)(PASI)[61],腋下體溫分為正常、低燒、中度發(fā)燒、高燒、超高燒5個等級,這是序數(shù)型數(shù)據(jù)。由于每個序數(shù)型數(shù)據(jù)都可以有不同的狀態(tài)數(shù),所以通常需要將每個數(shù)據(jù)的值域映射到[0.0,1.0]上,以便每個數(shù)據(jù)都有相同的權(quán)重,再使用數(shù)值型數(shù)據(jù)的距離度量計算方法。對于不具有按層級遞進關(guān)系的分類型數(shù)據(jù),使用一位有效編碼(one hot encoding)進行轉(zhuǎn)換。 5) 序列型。時間序列(如連續(xù)記錄的臨床事件)、符號序列(如時間跨度為5年的ICD-10編碼)、生物學序列(如DNA)是3種序列型數(shù)據(jù),其計算方法有Edit距離、Damerau Levenshtein距離、Hamming距離、Smith Waterman相似性、Needleman Wunsch相似性等,計算公式見文獻[62]。Chiu等將異常的指標按照頻次排序,使用Hamming距離計算兩個向量中值不一致的元素個數(shù)[34]。 在不同研究中,對于同一種臨床概念可能需要不同的相似性度量方法。以疾病診斷結(jié)果為例,Gottlieb等將其視為布爾型,即一位患者或患有、或未患某種疾病[63];Lin根據(jù)該疾病在患者群體中出現(xiàn)的概率判斷相似性[64];Girardi等則利用ICD編碼天然的層級屬性計算患者相似性[40]。 3.4.2患者間的距離 經(jīng)過數(shù)據(jù)預處理,患者表達為由處理過的臨床概念的值組成的向量。比較兩位患者,就是逐一比較向量中每個相同數(shù)據(jù)類型、相同臨床意義的特征值的相似程度,再綜合在一起,分析兩位患者的整體相似程度。 綜合分析的方法,一類是基于規(guī)則的計算,這些規(guī)則一般由資深的臨床醫(yī)生提供,利用計算機編程實現(xiàn)這些規(guī)則來計算出患者相似性。 Saraiva等在研究中參考醫(yī)學書籍、National Cancer Institute(NCI)網(wǎng)站和全科醫(yī)師的建議,針對癌癥分類問題制定了9條規(guī)則來為挑選出的特征賦權(quán)重,最后使用加權(quán)的平均距離作為患者間的相似性[37]。 為解決特定問題制定的基于規(guī)則的方法,其最大優(yōu)點是可解釋性強。Gehrmann等研究對比了基于規(guī)則、卷積神經(jīng)網(wǎng)絡、n-gram模型3種方式在從臨床記錄中提取預先定義的醫(yī)學概念,并預測患者表型這一任務中的表現(xiàn),證實基于規(guī)則的方式并不一定是最佳的方式[65]。 另一類是多維距離計算方法,是把各個概念距離作為新的距離計算的輸入,常見多維距離計算方法如表2所示,布爾型數(shù)據(jù)組成的特征向量是數(shù)值型數(shù)據(jù)組成的特征向量的一種特殊類型。 Jaccard距離、Dice距離是應用廣泛、簡單易懂的經(jīng)典方法,可用于根據(jù)兩位患者具有的癥狀、測量的指標、診斷的疾病等度量相似性。 Joshi等將ICU患者的高維度臨床概念聚類得到低維度的特征表達,以特征的平方和度量患者的病情危重程度[35]。然而,兩位患者達到同一危重程度可能是經(jīng)由不同的“路徑”,因此使用特征向量的余弦值來進一步修正患者的相似性。 利用表2中距離和相似性度量方法,獲得按照與索引患者的相似程度高低排序的已知患者序列,最相似的一組患者可用于下一階段的病情分析,這個患者組被稱為患者相似組。 表2 距離和相似性度量方法Tab.2 Distance and similarity measurements 注:計算公式詳見Wolfram距離和相似性度量[62]。 Note: For more details please refer to Wolfram Distance and Similarity Measures[62]. 類似于基因組、蛋白組用來描述某個層次上的全部信息,患者相似組(similarome)[11]用來描述一個大規(guī)?;颊呷后w中具有相似特征的患者群體。這個相似組中蘊含了臨床實踐的各種知識,為計算機獲取醫(yī)學知識提供了保障?;颊呦嗨平M分析指的是與索引患者相似的患者的識別。如果將感興趣的或與索引患者相關(guān)的特征項(如某種并發(fā)癥、藥品)賦予更高的權(quán)重,相似組內(nèi)部可進一步劃分為多個不同的子群體,稱為子相似組(subsimilarome)[11]。利用基于距離的聚類方法,可以將患者劃分為若干個子集,每個子集是一個簇(cluster),在此稱為患者相似組。聚類方法可分為劃分方法(partitioning method)、層次方法(hierarchical method)等。 3.5.1基于距離的劃分方法 基于距離的劃分方法指給定含有n個患者的集合,構(gòu)建患者群體的k個相似組,并且k≤n。典型的劃分方法采取互斥的簇劃分,即針對一種相似性度量方案,每個患者僅屬于一個相似組。給定要構(gòu)建的分區(qū)數(shù)k,劃分方法是首先創(chuàng)建一個初始劃分,采用迭代的重定位技術(shù),通過把患者從一個組移動到另一個組來改進劃分。 為了達到全局最優(yōu),基于劃分的聚類可能需要窮舉所有可能的組合,計算量極大。實際應用大多采用啟發(fā)式方法,如k均值(k-means)和k中心點(k-medoids),逐漸提高聚類質(zhì)量,逼近局部最優(yōu)解。 Panahiazar等根據(jù)醫(yī)學知識,選取了4種實驗室檢驗、4種藥物、4種人口統(tǒng)計學信息、26種共病狀況、1種心電測量值、2種體征,利用k均值聚類法,將患者分為若干個相似組,將每個相似組中最常使用的治療方案作為該組的標簽,使用廣義Mahalanobis距離判斷新入患者與相似組的距離,得到排序的相似性,將新入患者歸入最相似的簇中,并將該相似組的治療方案推薦給醫(yī)生[27]。 k均值等傳統(tǒng)的劃分方法是一種硬劃分,是把每個待處理的患者嚴格地劃分到某個相似組中。模糊聚類是對傳統(tǒng)技術(shù)的改進,每一個數(shù)據(jù)點按照一定的模糊隸屬度隸屬于某一聚類中心。模糊聚類屬于無監(jiān)督學習,不需要訓練樣本,可以直接通過機器學習達到自動分類的目的,在Matlab工具箱中提供了兩種聚類方法的支持:模糊C均值聚類和模糊減法聚類。 k均值、k中心點這類啟發(fā)式聚類方法適用于發(fā)現(xiàn)中小規(guī)模數(shù)據(jù)集中的球狀簇[68]。為了發(fā)現(xiàn)具有更復雜形狀的簇,對超大型數(shù)據(jù)集進行聚類,需要進一步擴展基于劃分的方法,如子空間聚類(subspace cluster)和雙聚類(bicluster)等。 3.5.2基于距離的層次方法 基于距離的層次方法創(chuàng)建給定患者集合的層次分解,其形成方式分為凝聚的或分裂的。在每次相繼迭代中,一個簇被劃分成更小的簇,直到最終每位患者在單獨的一個簇中,或者滿足某個終止條件。 Panahiazar等將新入患者的真實治療方案作為標準,評估推薦方案的準確度和召回率,結(jié)果表明k均值聚類和層次聚類的表現(xiàn)優(yōu)劣相當[27]。Roque等使用由ICD-10組成的向量來表達患者個體,利用TF-IDF方法為ICD-10賦權(quán)值,利用余弦值計算患者間的距離,利用平均連接層次聚類法將患者分為307個子類,探討各子類所包含的疾病種類及數(shù)量[20]。Joshi等以幅值表示總病危程度,以角度表示病情的異常方向,利用層次聚類法將患者分為10個子類,討論各子類的死亡率[35]。 傳統(tǒng)層次方法的缺陷:一是不能撤銷先前步驟,簇之間不能進行對象交換;二是可伸縮性差,每次分裂或合并都需要考察和評估許多簇或?qū)ο蟆R环N提高層次方法聚類質(zhì)量的方向是多階段距離,如BIRCH(balanced iterative reducing and clustering using hierarchies)和變色龍法(Chameleon)。 患者相似性分析提供了一種通用的計算機輔助臨床決策支持的理論框架,在醫(yī)療大數(shù)據(jù)不斷積累的背景下其潛力將會逐步被認識、發(fā)現(xiàn)和利用,而患者相似性分析技術(shù)也是今后醫(yī)療大數(shù)據(jù)產(chǎn)業(yè)的一項關(guān)鍵基礎技術(shù)。目前的這些研究僅僅是患者相似性分析利用的冰山一角,還留有大量的工作等待研究者去探索。 病歷文本中蘊含了細致的醫(yī)療事實、臨床的決策依據(jù)以及采用的臨床干預手段,但是計算機目前僅能從中獲取一些片段性的信息,還處于“斷章取義”的階段。人工智能在醫(yī)學中的一個重要挑戰(zhàn)就是讓計算機能夠理解病歷文本,雖然近年來在深度學習方面取得了很好的進展,如神經(jīng)網(wǎng)絡概率語言模型(neural network language model,NNLM)[69]成功應用于語音識別和機器翻譯任務中,Word2Vec是Google發(fā)布的基于多層感知機的語言模型開源工具[70],已有一些成功應用的案例。盡管如此,距離計算機“讀懂”病歷仍是任重道遠。 患者是一個生物動態(tài)系統(tǒng),其生命體征是隨時間變化的,這些時序特征是一種重要的臨床模式特征,目前大多數(shù)研究僅利用靜態(tài)時間點的各種數(shù)據(jù)進行相似性分析,不能完整地反映患者之間動態(tài)的相似性[6]。一些研究者認識到這樣的缺陷,開始把時間信息納入到患者相似性分析中。臨床時間序列數(shù)據(jù)的相似性搜索要求子序列匹配[71]、趨勢分析[72],這個過程通常需要對時間序列數(shù)據(jù)進行數(shù)據(jù)變換和維度歸約,形成特征空間。在統(tǒng)計學和信號處理中,時間序列的分析已有大量研究。但是,在臨床概念中,各個概念對于時間尺度的依賴是不同的(從秒、小時到年),如何在一個多分辨率的情況下比較動態(tài)模型依然是一個挑戰(zhàn)。 基于時序模型來查詢與索引患者相似的已知患者,該搜索技術(shù)包括規(guī)范化變化(normalization transformation)[73]、原子匹配(atomic matching)[74]、窗口壓合(window stitching)[75]以及子序列排序(subsequence ordering)[76]。最近,研究人員提出,可將時間序列數(shù)據(jù)變換成逐段聚集相似,識別基本模式(motif)[5](即頻繁出現(xiàn)的序列模式),構(gòu)建索引和散列機制。 在統(tǒng)計學和信號處理領(lǐng)域,時間序列數(shù)據(jù)的回歸已有大量研究。然而,對于醫(yī)療領(lǐng)域的實際應用而言,需要超越純粹的回歸,進行趨勢分析,具體方法包括有限狀態(tài)機(finite-state machine)[77]、馬爾科夫模型(Markov model)[78]、自動回歸集成的移動平均(auto-regressive integrated moving average,ARIMA)[79]、長記憶時間序列建模(long memory time series modeling,LMTS)[80]和自回歸(autoregression)[81],可用于預測患者未來的病情。 Ng等的研究結(jié)果表明,盡管一組相似的患者使用相似的特征做病情分析,但特征的重要性是因人而異的[10]。傳統(tǒng)的利用患者相似性預測病情,是利用統(tǒng)計學的方法推測出可能的情況,并沒有考慮因人而異的特征權(quán)重。而傳統(tǒng)的預測模型則是訓練一個全局模型,預測所有新入患者的病情均采用同一個模型,并不是個性化的預測。一些研究提出了利用患者相似性的個性化預測模型[10,82],將患者相似性與預測模型結(jié)合起來,篩選出新入患者的相似組作為訓練集,利用深度學習為每一個患者訓練出個性化的預測模型,進而服務于臨床決策。 此外,引入領(lǐng)域?qū)<抑R能夠提高患者相似性分析的準確度。Wang等根據(jù)矩陣攝動(matrix perturbation)理論將大量無標簽的患者與少量由領(lǐng)域?qū)<覙擞涍^的患者結(jié)合起來,進行患者相似性分析[17]。這開啟了一個新的研究方向,將半監(jiān)督的機器學習和強化學習應用于醫(yī)療領(lǐng)域。 對于醫(yī)療問題,模型的性能和可解釋性同等重要。醫(yī)生往往不會采納他們無法理解的臨床決策支持工具給出的建議,醫(yī)生希望結(jié)果是可解釋的、可理解的和可用的。盡管機器學習模型因性能優(yōu)越而廣受歡迎,但如何解釋這些結(jié)果、如何使其更容易被理解,制約著其轉(zhuǎn)化為臨床決策支持工具?;颊呦嗨菩苑治鱿啾群诤械念A測模型具有更好的可解釋性,但是在復雜多維的環(huán)境中,這種相似性表現(xiàn)得也非常抽象,通常需要借助于數(shù)據(jù)可視化(data visualization)工具,將聚類、分布、排列、比較、關(guān)聯(lián)等信息以可視化的方式呈現(xiàn)給醫(yī)生,這能直接提升對信息認知的效率,并引導醫(yī)生從可視化的結(jié)果中分析和推理出有效信息。這種直觀的信息感知機制,極大地降低了數(shù)據(jù)理解的復雜度,突破了常規(guī)統(tǒng)計分析方法的局限性。 本文是對患者相似性的綜述,首先對比了預測模型與患者相似性分析的異同點,之后介紹了患者相似性的計算體系,具體步驟如下:利用醫(yī)學語言處理工具,從電子病歷中提取臨床概念;對醫(yī)療數(shù)據(jù)做預處理,包括數(shù)據(jù)篩選、缺失值處理和數(shù)據(jù)變化;將高維的臨床概念降至低維的特征空間,可采用特征選擇或特征提取方法;結(jié)合臨床意義,計算臨床概念間的距離和患者間的距離;利用聚類分析獲得患者相似組,可使用基于距離的劃分方法或?qū)哟畏椒ā?/p> 在本文的最后,介紹了患者相似性分析尚存在哪些挑戰(zhàn)和機遇。 對于我國的醫(yī)療衛(wèi)生事業(yè)而言,在需求不斷增長和現(xiàn)有的資源配置下,迫切需要醫(yī)療人工智能技術(shù)能夠為國家提供醫(yī)療改革戰(zhàn)略性的支撐。患者相似性分析技術(shù)是醫(yī)學人工智能綜合展現(xiàn)的一個核心技術(shù),全面掌握該技術(shù)能夠破解很多長期困擾醫(yī)療體系的問題,比如醫(yī)療服務同質(zhì)化的問題。而我國的醫(yī)療改革、醫(yī)療科技戰(zhàn)略,也為今后開展這樣的工作、發(fā)展這樣的產(chǎn)業(yè)提供了非常好的機遇。 (致謝:感謝康奈爾大學王飛教授審閱了全文并給予了寶貴的指導)3.4 距離度量
3.5 患者相似組
4 挑戰(zhàn)與機遇
4.1 深度利用病歷文本
4.2 動態(tài)的度量相似性
4.3 個性化的度量相似性
4.4 預測結(jié)果的可解釋性
5 總結(jié)