基于电子病历的临床医疗大数据挖掘流程与方法
基于電子病歷的臨床醫療大數據挖掘流程與方法
阮彤1, 高炬2, 馮東雷3, 錢夕元1, 王婷1, 孫程琳1
1. 華東理工大學,上海 200237
2. 上海曙光醫院,上海 200025
3. 萬達信息股份有限公司,上海 200233
摘要:以醫院電子病歷為核心的臨床數據記錄了病人的疾病、診斷和治療信息。挖掘此類數據,可以輔助醫生進行臨床科研與臨床診療。首先提出了臨床大數據挖掘過程中碰到的各項難題,總結了臨床醫療大數據挖掘的核心流程,流程包括以臨床數據集成、基于知識圖譜的臨床專病庫的構建過程、電子病歷數據質量的評估方法以及以臨床療效分析與疾病預測為核心的臨床醫療大數據應用等任務,進而對流程中的每個任務提出了解決方案,給出了實驗結果。最后,展望了未來臨床電子病歷挖掘應用和技術的發展。
關鍵詞:醫療知識圖譜;臨床專病庫;數據質量評估;電子病歷;疾病預測;療效對比
doi:10.11959/j.issn.2096-0271.2017054
論文引用格式:阮彤, 高炬, 馮東雷, 等. 基于電子病歷的臨床醫療大數據挖掘流程與方法[J]. 大數據, 2017, 3(5): 83-98.
RUAN T, GAO J, FENG D L, et al. Process and methods of clinical big data mining based on electronic medical records[J]. Big Data Research, 2017, 3(5): 83-98.1? 引言
醫療健康大數據研究對輔助醫生給病人選擇更好的治療方案,進而提升醫療服務質量,降低醫療成本有積極的作用,得到了各國政府的大力支持。從2013年起,美國、英國在醫療大數據應用方面投入了大量資金[1,2]。2015年3月,我國在國家衛生計劃生育委員會網絡安全和信息化工作組全體會議上提出“推進健康醫療大數據應用,制定促進健康醫療大數據應用的相關方案,推動健康醫療大數據有序發展”的意見。2016年6月,國務院辦公廳頒發了《關于促進和規范健康醫療大數據應用發展的指導意見》,明確指出健康醫療大數據是國家重要的基礎性戰略資源,要通過其應用,激發深化醫藥衛生體制改革的動力和活力,提升健康醫療服務效率和質量。
醫療健康大數據包含來自于移動終端的個人健康數據、醫院臨床數據、基因數據以及疾病預防控制的流調數據。從長遠來說,上述多個來源的數據的融合,能為個人的健康規劃、疾病防治以及國家衛生策略提供更好的數據基礎。但高質量的數據采集和融合不是一蹴而就的,鮮有機構能夠采集到大規模的關聯的包含個人健康、基因以及臨床信息的病人數據。
相比而言,過去十余年中,隨著醫療信息化的不斷推進,醫療機構經過長期的歷史積累已擁有大量的電子病歷(electronic medical record,EMR)數據。對于臨床科研而言,與臨床實驗獲得的數據或是人工構造的專病隊列數據相比,EMR數據具有采集成本低和數據實時等優勢。當前已有越來越多的研究[3]將EMR數據用于療效分析與轉歸分析等臨床科研中。因此,以醫院電子病歷為基礎的臨床大數據挖掘工作具有較好的數據基礎。
筆者項目團隊3年前依托于國家“863”計劃項目,建立了包括醫院臨床醫生、醫院臨床信息化、計算機工程師、數據分析師以及衛生管理的跨學科團隊,以心衰和大腸癌兩個慢性疾病為核心,展開了臨床大數據研究。在研究過程中,碰到了下列問題。
整體挖掘流程問題。挖掘過程是由應用驅動、方法驅動,還是由數據驅動?換而言之,是先整理數據,根據數據找問題,還是基于問題采集數據,尋找合適的挖掘方法。是否存在一個理想的數據挖掘方法,在數據有噪音的情況下,無需數據清洗,也會有比較好的數據結果。
病歷文本問題。在臨床中,大量的醫療文書以文本形式存在。電子病歷的文本包含了病人病史、家族史、癥狀以及醫生根據癥狀、理化指標等基礎數據做出的診斷等描述。更重要的是,臨床文本中記錄了醫生的判斷依據以及對各種診療行為的效果跟蹤。如果說各種明細記錄是結果跟蹤,那么文本數據就是過程跟蹤的基礎。而這些重要的信息保存在非結構化信息中,不能被計算機理解和處理。
數據質量(可用性)問題。由于EMR數據來源于多個不同的信息系統,經歷了多次版本變化,數據的統一表示、關聯和集成存在各種問題。同時,醫生錄入缺乏語義規范,同一診斷與治療方案,不同醫生的錄入結果會不同。另外,EMR數據產生于病人真實的診療情況記錄,目的并不直接面向科學研究。一個診療質量良好的病人記錄,未必可以產生滿足科研需求的數據記錄。
分析與挖掘方法問題。傳統醫學使用隨機臨床實驗證明療效,是傳統醫學研究的基礎方法。在大數據場景下,不存在臨床對照組,如何證明醫學事件之間的因果關系,是目前醫學界真實事件研究的話題之一[4]。與此同時,以深度學習為核心的機器學習方法,在疾病的預測、診療方法方面會有比較好的效果,然而,這些學習方法可解釋性比較差,難以被醫學領域的科研工作者認同。
本文針對上述問題進行了研究,介紹了醫療大數據挖掘的整體流程、基于知識圖譜的臨床文本結構化過程、電子病歷數據質量的評估方法及部分挖掘應用的成果。
2 ?基于電子病歷的臨床大數據挖掘整體流程
圖1展示了基于電子病歷的臨床醫療大數據的整體流程。第一步,對來自不同醫院信息系統的病人數據進行數據集成,形成臨床數據中心(clinical data repository,CDR)。數據來源包括醫院信息系統(hospital information system,HIS)、臨床信息系統(clinical information system,CIS)、實驗室信息系統(laboratory information system, LIS)、放射信息管理系統(radioiogy information system,RIS)、影像歸檔和通信系統(picture archiving and communication system,PACS)和病案系統等信息系統。第二步,基于CDR構造面向特殊疾病的專病庫,如大腸癌病例庫、心衰病例庫等。在構建臨床專病庫時,要確定符合疾病特征的病例;確定需要的病例字段,對于結構化的字段,需要從原始的電子病歷庫中抽取,例如年齡與性別,對于半結構化或非結構化字段,需要使用文本抽取等技術,結合知識庫對其進行結構化。在這個過程中,需要建立知識圖譜,以方便自動化的病例數據抽取。第三步,需要對病例庫進行數據質量評估,評估其是否適用于挖掘。評估指標包括數據完整性、一致性、醫療實體及其編碼的一致性、數據精確性等。若病歷庫達到評估要求,即可進行第四步的數據挖掘,如果不能,則需要回到前面步驟,重新抽取和整理數據。第四步,確定挖掘目標,選擇合適的模型,設計并實施實驗。如果實驗發生問題,可能需要改進算法,也有可能是數據質量緣故,需要回到前面步驟,重新抽取和整理數據。
圖1 ?基于電子病歷的臨床醫療大數據挖掘整體流程
3 ?基于中文醫療健康知識圖譜構建臨床專病庫
挖掘與預測算法通常處理的是結構化數據。然而,在臨床中,大量的醫療文書是以文本形式存在的。電子病歷的文本包含了病人病史、家族史、癥狀以及醫生根據癥狀、理化指標等基礎數據做出的診斷等描述,更重要的是,臨床文本中記錄了醫生的判斷依據以及對各種診療行為的效果跟蹤。因此,需要將文本結構化。
然而,僅僅結構化也是不夠的,因為醫療術語存在大量的同義詞或上下位詞,比如,同一癥狀具有多種多樣的文本表達形式,如“期前收縮”“過早搏動”與“早搏”是同義詞。再比如,一個癥狀常常被不同的詞語修飾,以表達略有不同的語義含義,如“急性背痛”“慢性背痛”都可以是“背痛”的下位詞。
再以疾病為例,目前醫學診斷大量采用了國際疾病分類(international classification of diseases,ICD)編碼,但ICD編碼結構并不包含完整的上下位關系。以中文ICD編碼[5]中的“特指急性風濕性心臟病”為例,它的上位詞有“特指風濕性心臟病”和“急性風濕性心臟病”,這兩種疾病擁有共同的上位詞“風濕性心臟病”,“風濕性心臟病”又有上位詞“心臟病”。而這幾種疾病之間的關系和層次結構并沒有在ICD 10中通過編碼結構表示出來,只是通過編碼的首字母“I”將它們劃分到了循環系統類疾病中。如果希望找到某一類患者,無法通過一個ICD編碼獲得,而是需要人工地選擇多個ICD編碼。同時,醫生在編寫一個疾病的ICD編碼時,可粗可細,也會給病歷的自動處理帶來困難。
為此,需要建立一個標準化的、包含疾病、癥狀等在內的醫療健康知識圖譜,然后通過文本挖掘與實體鏈接手段,將結構化的文本與知識庫相關聯,如圖2所示。一段醫療文本中,可能包含具體的家族史、時間事件、癥狀、檢查、診斷與用藥等信息,這些信息依賴于知識圖譜抽取出來后,變成結構化的信息,如癥狀部位、癥狀的有無、診斷編碼、檢查結果與病理分期等。這樣結構化的病例,可以更方便后續數據的挖掘。
圖2 ?基于知識圖譜/知識庫的結構化病例庫的構建
3.1 ?中文醫療健康知識圖譜構建
近年來,生物醫療領域的海量數據迅速形成。然而,目前醫療行業數據存在封閉、分散且表示方式不一致的問題。生物醫療領域缺乏公開的中文基礎數據與公共的數據服務,不同來源的數據缺乏關聯與融合,制約了整個行業的發展。
與此形成鮮明對比的是,國外的生物醫療數據涉及領域內的方方面面。一方面,國外構建了豐富的生物醫療分類體系和本體,如一體化醫學語言系統(unified medical language system, UMLS) [6]、醫學主題詞表(medical subject headings,MeSH)、臨床醫療術語集(systematized nomenclature of medicine-clinical terms,SNOMEDCT)等通用的分類系統,還有面向藥物的命名系統RxNorm、針對觀測指標的編碼系統LOINC、基因本體(gene ontology)和被廣泛應用的疾病分類系統ICD9、ICD10等細分的本體和系統。此外,國外還發布了臨床病人數據集,例如,由美國國家癌癥研究所領導的項目癌癥和腫瘤基因圖譜(the cancer genome atlas,TCGA)[7]收集并發布了癌癥病人的臨床數據以及美國國立衛生研究院發布的面向全球人類受試者的臨床研究數據庫ClinicalTrail.gov。
基于這些分類體系和標準,國外的研究工作者構建了多個生物醫藥數據集平臺,發布了大量的鏈接數據集,較為知名的數據集平臺有Linked Open Drug Data[8]、Liked Life Data和Bio2RDF[9]。其中, Linked Open Drug Data整合了14個數據集,包含超過800萬的RDF三元組和超過37萬的RDF鏈接。Liked Life Data提供了25個公共生物醫療數據集的統一訪問點,覆蓋了基因、蛋白質、分子反應、信號通路、靶點、藥物、疾病和臨床試驗相關的信息。Bio2RDF利用語義網絡技術建立并提供生命科學領域最大的鏈接數據網絡,其最新版本包含了35個數據集,共110億條三元組。這些開放鏈接數據集的發布大大促進了國外生物醫藥領域研究工作的發展。
目前為止,中文缺乏比較好的知識圖譜,而英文知識圖譜的漢化也存在版權問題。因此,為方便后續的電子病歷結構化以及大數據挖掘工作,筆者項目組利用互聯網數據與百科數據,構造了自己的知識圖譜。從醫學角度來說,可能存在不精準之處,但用于數據的預處理過程確是有效的。筆者團隊的知識圖譜的構建過程如下。
(1)模式圖定義
在領域專家的幫助下,根據醫療知識手工創建醫療知識圖譜的模式圖,包含概念、概念的屬性以及概念之間的層次關系。圖3展示了筆者定義的醫療知識圖譜的模式。筆者定義了5個頂層概念:癥狀、疾病、藥品、科室和檢查。“癥狀”概念又細分為“中醫癥狀”和“西醫癥狀”兩個子概念,“藥品”細分為“中藥”和“西藥”兩個子概念。概念之間通過“癥狀相關疾病”“疾病相關科室”等屬性進行關聯。每個概念都給出了實例,這些實例形成了臨床實踐中一個場景:一位“頭部”患有“頭痛”的患者同時患有“打噴嚏”“惡寒”等癥狀,則該患者需要去“內科”就診,并進行“血檢”和“測溫”等相關檢查。該患者最終被診斷為“夏季感冒”,并伴有“扁桃體發炎”,建議服用西藥“阿司匹林”和中藥“小柴胡”。
圖3? 醫療知識圖譜的模式
(2)醫療知識抽取
基于上文定義的模式圖,抽取實體(癥狀、疾病與檢查等)、屬性和屬性值,用來構建醫療知識圖譜。知識抽取分為醫療健康網站的知識抽取和中文百科站點的知識抽取兩部分。
筆者收集了多個醫療健康網站作為知識抽取的數據源,醫療健康網站包含癥狀、疾病、藥品、檢查和科室5種類型的實體,每一類實體都有兩種類型的頁面:實體列表頁面和實體詳情頁面。其中,實體列表頁面列舉了該網站上所有屬于該類型的實體,實體詳情頁面則展示了某個實體的詳細信息。
醫療健康網站的知識抽取過程為:從實體列表頁面出發,爬取所有實體的詳情頁面,這一過程抽取了實體的類型。對于相同類型的實體,它們的詳情頁面具有相同的頁面結構,因此基于統一的超文本標記語言(hypertext markup language, HTML)封裝器抽取頁面中的“信息框”。“信息框”是一種半結構化的數據,包含了實體的屬性信息。最后,基于人工總結的Hearst模板[10]從詳情頁面的摘要中抽取實體的同義詞。
接著,選取了3個最大的中文百科站點(百度百科、互動百科和中文維基百科)進行知識抽取,包括抽取和分類兩個階段。首先將醫療健康網站抽取得到的實體作為種子集,獲取它們在百科頁面中的分類。然后抽取分類中包含的所有實體,形成一個實體集合。這些集合中包含了和目標無關的噪聲實體,因此訓練一個分類器對抽取階段得到的結果進行分類。訓練數據的正例來自醫療健康網站不同類型的實體,負例則由醫療健康網站中“美容”“養生”和“心理”列表頁面下的實體組成。分類器的特征來自百科實體頁面的“實體名”“摘要”“目錄”“正文”和“分類”5個字段。筆者基于啟發式規則將百科實體頁面的5個字段轉化成一系列二值型特征。
(3)醫療知識融合
知識融合階段對抽取結果進行實體對齊、實體類型對齊和實體屬性對齊。實體對齊主要是建立實體之間的同義關系。為保證數據的可靠性,將醫療健康網站和中文百科站點抽取的同義關系加入醫療知識圖譜中,并不通過算法計算實體間新的同義關系。
實體類型對齊解決了一個實體對應多個互斥類型的數據沖突問題。筆者采用基于投票和數據源優先級的方法確定實體類型。整體思路是:票數最高的結果作為實體的最終類型;當出現多個類型獲得最高票數時,根據最高票數中權重最大的數據源確定最終結果。
實體屬性對齊主要建立抽取的實體屬性三元組的謂詞到模式圖中屬性的映射關系。對于醫療健康網站,由于同一網站下相同類型實體的“信息框”包含了相同的實體屬性,筆者手工制定“信息框”到模式圖的映射規則。例如,從“信息框”中抽取的“關節疼痛”的3個屬性為癥狀部位、相關科室和相關疾病,分別映射到模式圖中的癥狀相關部位、癥狀相關科室和癥狀相關疾病。
3.2 ?臨床專病庫的構建
為了對特定疾病進行挖掘分析,常用的方法是構建專病病例庫。專病病例庫的構建有3個步驟:專病病例確定、專病病例庫所需字段確定與提取以及專病病歷文本結構化。
(1)專病病例確定
專病病例主要根據疾病的ICD編碼和疾病名稱從醫院信息系統中抽取。考慮到醫院信息系統在時間上經歷了多次版本變化,在抽取專病病歷時,使用ICD 9以及ICD 10編碼中涉及該疾病的所有編碼集合抽取相關病歷。ICD中疾病編碼和名稱有完整的規范,考慮到很多醫護人員不了解ICD體系,難以分辨ICD中疾病名稱之間的細微差別,因此系統中常出現ICD編碼與疾病名稱不對應的情況,單使用ICD編碼難以抽全該疾病的所有病歷,還需使用該疾病名稱及其同義詞從疾病名稱字段進行抽取。這個過程目前是手動完成的,未來會對現有的ICD編碼庫補充部分層次結構,并自動對疾病名稱進行編碼,進而尋找某一類疾病的所有病例。
(2)專病病例庫所需字段確定與提取
本文中,專病庫的字段使用Delphi過程[11]向專家收集。根據臨床醫生定義、疾病的診療指南、挖掘需求、相關文獻等多個來源的需求,明確用戶使用數據的目的和重點關注的數據。Delphi過程通過多輪咨詢問卷向領域專家開展問卷調查,可以比較好地找到共性需求,已被用在醫療電子病歷實施的關鍵因素分析、診療方案的調查等多個場合。
在使用Delphi過程向專家收集專病庫字段時,選擇了3類專家:第一類是從事臨床科研的臨床醫生;第二類是從事醫療大數據挖掘的科研人員;第三類是醫院信息科的數據管理人員以及負責系統構建與數據集成的IT工程師。由臨床專家和數據挖掘專家填寫需求字段,醫院信息科工作人員根據需求字段填寫字段來源。然后進行多輪調查,確定對臨床癥—治—效分析及醫療大數據挖掘所需的字段。采用電子郵件形式發放和回收調查表,調查一共進行3輪。每一輪的調查結果會以匿名的方式將報告提供給下一輪的參與者。調查過程中參與者在任何時間都可以退出。
(3)專病病歷文本結構化
醫療病歷中很大一部分都是由醫生用自然語言書寫而成,內容繁復,形式多樣,無法直接對其進行處理,因而需要將其轉化為結構化數據,抽取出其中的癥狀、疾病、檢查等信息,或與知識庫中的實體進行鏈接,或對檢查指標進行統一轉換(包括書寫格式的統一與計量單位的統一等),從而實現病歷文本的結構化與病歷信息的標準化。
下面以病歷文本中癥狀的結構化為例進行說明。首先需要識別出文本中的癥狀,其識別方法參見上文醫療實體抽取方法的相關介紹。然后需要對識別出的癥狀進行構成成分分析。中文癥狀可以拆分為以下16種組成成分:原子癥狀、連詞、否定詞、存在詞、程度詞、發展詞、能夠詞、不能詞、動作詞、情景限定詞、方位詞、部位詞、中心詞、感覺詞、特征詞、修飾詞,見表1。
表1 ?癥狀構成元素
其中,原子癥狀是最基本的癥狀描述;連詞可以連接多個構成元素;否定詞、存在詞、程度詞是一類構成元素,用于對原子癥狀或中心詞的多寡有無進行度量;發展詞用于描述癥狀的發展狀況,好轉或惡化;能夠詞與不能詞是一類構成元素,用于描述是否具有某種能力;動作詞用來表示特定的動作;情景限定詞對癥狀發生的情景進行限定;方位詞用來表示方位,一般是對部位詞的進一步描述;部位詞用來表示身體部位;中心詞是癥狀所要描述的除身體部位外的客觀實體;感覺詞則是癥狀所要描述的主觀感受;特征詞用于描述事物的特征,是對癥狀描述主體的進一步刻畫;剩下的均為修飾詞。
對中文癥狀進行構成分析,類似于中文分詞與詞性標注,可以把它看成序列標注任務,運用條件隨機場(conditional random field,CRF)或雙向長短期記憶(long short-term memory,LSTM)網絡+CRF等方法進行實現。在得到每個癥狀的構成成分之后,便可以對其進行歸一化處理,如對于原子癥狀“疼”“痛”“疼痛”,統一為“疼痛”;對于程度詞及否定詞,“無”可以量化成0,“輕微”可以量化成0.2,“有點”可以量化成0.4,“明顯”可以量化成0.6,“廣泛”可以量化成0.8,“極度”可以量化成1。此外,還可以根據切分出的癥狀構成成分,將抽取出的癥狀與知識庫中的癥狀實體進行軟鏈接,從而實現癥狀的標準化。
4 ?電子病歷數據質量評估
電子病歷數據來源于醫院實際業務系統,醫療系統主要由醫療工作人員人工錄入,難免存在一些數據質量問題,而質量問題是影響醫療挖掘結果準確性的重要因素。因此,評估電子病歷數據能否或多大程度上能用于以癥—治—效分析為核心的臨床科研,對于目前的醫療挖掘以及未來電子病歷數據質量的提升,都具有重要的意義。
數據質量評估過程分為6個步驟。
步驟1 使用Delphi過程收集評估需求。根據臨床醫生定義、疾病的診療指南、相關文獻等多個來源的需求,明確用戶使用數據的目的和重點關注的數據。
步驟2 確定和采集評估數據。根據評估需求,明確評估的數據范圍,抽取出待評估數據集。電子病歷主要有兩類,即門診病歷和住院病歷。門診病歷通常較短,包含信息較少,也缺乏對患者治療情況的跟蹤,因而,電子病歷信息抽取和文本挖掘研究大多關注于住院病歷。
步驟3 建立評估需求與評估數據之間的映射關系。根據臨床科研人員、大數據挖掘人員的需求,補充需求字段來源與字段類型,其中需求字段來源用于說明字段來源于哪幾個系統的哪幾個字段,字段類型用于說明是文本、結構化還是影像類型。
步驟4 提出質量評估指標。根據用戶使用數據的目的選擇評估度量或自定義評估度量。針對研究人員的心血管療效分析需求,提出心血管療效分析評估度量指標,具體對數據整體質量、患者基礎數據質量、診斷數據質量、治療數據質量以及療效數據質量建立評估度量指標,得到的指標體系見表2。
表2 ?心血管疾病質量評估指標體系
步驟5 執行數據質量評估,針對每個評估度量進行數據質量評估,根據評分標準得到評估,該過程可以自動執行或者人工評估。
步驟6 分析評估結果。根據評估結果分析數據集的質量問題,判定是否適合于研究目的。
通過對項目中電子病歷數據的分析可知,電子病歷數據用于療效分析研究具有一定的可用性,但現有數據質量在很多方面還存在一些問題。考慮以下幾方面的改進措施。
首先,需要集成更多的醫院系統。例如,心電圖和心臟彩超的數據影響著心血管疾病的診療,也是療效評估的依據。而HIS和LIS中缺乏此類檢查數據,系統需要集成醫院的RIS和PACS,確保用于療效分析研究數據的可用性。其次,改進與規范數據錄入規程,加強各環節的管理,例如,一些家族史或是癥狀信息可由患者自助錄入。最后,引入更多的元數據規范,現有癥狀與檢查名稱缺乏規范,需要大量的數據后處理工作,可以引入更為完整的元數據規范,如SNOMED以及LOINC。
5 ?臨床醫療大數據挖掘應用
5.1 ?基于深度學習的疾病預測
目前,大多數醫療領域相關工作都集中于疾病風險預測和療效預測[12-18],診療模式預測的相關工作較少,而且診療模式預測的工作目前使用的方法大多數還是基于規則和傳統機器學習算法[19,20]。深度學習在醫療領域涉及還不深,典型的工作見參考文獻[21],該文獻通過對病人的電子病歷進行時間維度上的建模,然后使用卷積神經網絡(convolutional neural network,CNN)模型進行疾病風險的預測。循環神經網絡(recurrent neural network,RNN)模型目前還主要集中于疾病風險預測和療效預測的范圍[22,23]。
一個病人可能有多次住院的電子病歷信息,在對其進行疾病預測的時候,需要考慮多次住院的電子病歷序列,而不是某次住院的電子病歷,使用傳統的特征抽取方法難以捕捉到歷次住院之間的變化信息。RNN模型可以用來處理序列數據,但是如果RNN的循環序列過長,它的性能就會有所下降。LSTM模型是對RNN的一種改進,它能夠選擇性地記憶前面節點的信息,因而可以獲得更長的最大穩定序列長度。這也更加符合病人的時間關系特點,即一個病人的前一次住院情況總是部分地影響下一次住院時的情況。因此,使用LSTM模型對病人歷次住院病歷進行建模較為合理,具體建模使用參考文獻[24]中提出的序列到序列(sequence to sequence,Seq2Seq)思想構造住院病人向量特征。
(1)住院病人的向量表示
對于如何生成病人的向量表示,采用了Seq2Seq模型的思想。如圖4所示,將模型編碼出的中間編碼C向量作為病人的特征。與原來模型不同的是,Seq2Seq的模型通常被用在機器翻譯中,所以輸出層選擇的是softmax +交叉熵。而這里由于是自動編碼器的思路,所以輸出層和輸入層的數據是一致的。
圖4 ?Seq2Seq模型
使用深度學習的自動編碼器,將病人的每一次住院記錄編碼成一個低維稠密的向量,用于病人的特征表示。然而,病人的住院記錄通常不止一次,那么對于編碼出來的向量就需要用來表示其歷次住院時的一個信息的總和。即對于一個病人,其就診記錄為x1,x2,…,xn,那么就需要生成對應的一組向量V={v1,v2,…,vn},對于一個向量vn,需要能夠表示從x1一直到xn中所有記錄的信息。
通過對出院次數分布進行統計,發現超過10次住院的病人僅占很少的比例,因此考慮到訓練性能以及信息損失的問題,將Seq2Seq模型中的最大步長設置為10。對于超過10次和不滿10次住院的病人采取如下的方法進行預處理。
● 首先,將一個病人多次住院的記錄進行拆分,即將x1,x2,…,xn拆分成n條訓練數據:{x1},{x1,x2},…,{x1,x2,…,xn}。
● 對于超過10次住院的病人,由于最大步長為10,故需要進行裁剪,筆者選擇保留最后10次的數據,將剩余的數據進行裁剪。即當n>10時,僅保留{xn-9,xn-8,…, xn}這10次記錄。
(2)疾病預測
對比Seq2Seq模型構造的特征與其他方法在預測病人疾病上的優劣,實驗結果以及部分設置見表3。本實驗預測的對象是10種常見的心衰患者的伴隨疾病,具體見表3第一列。對比使用Seq2Seq產生的特征向量與使用主成分分析(principal component analysis,PCA)、K均值(K-means)、高斯混合模型(gaussian mixture model,GMM)等方法生成的特征向量預測疾病的效果。通過實驗對比發現,使用支持向量機(support vector machine,SVM)進行疾病預測的效果比使用K最近鄰(K-nearest neighbor, KNN)、樸素貝葉斯(naive Bayes)、隨機森林(random forest)、梯度提升決策樹(gradient boosting decision tree,GBDT)、邏輯回歸(logistic regression)好,以下直接使用SVM進行實驗。對于一些疾病,由于其出現在實驗數據中的樣本較少,筆者采用了NearMiss[25]進行采樣(當百分率低于30%時進行采樣),進行采樣的疾病由sample列(sample為表3最后一列列名)標識。其中NearMiss是通過與TomekLinks[26]、簇中心、oneside selection(OSS)[27]、edited nearest neighbour rule[28]、neighbourhood clearning rule(NCR)[29]、synthetic minority over-sampling technique(SMOTE)[30]、隨機欠采樣(random under-sampling,RUS)對比得到效果最好的采樣模型。
表3 ?疾病預測對比實驗
表3對比實驗結果為各個方法在各個疾病預測上的曲線下面積(area under curve,AUC)值。第一列是需要預測的疾病名稱,第二列是本文的方法,第三列到第五列是PCA、K-means、GMM對比方法,第六列hand表示未對原始特征做預處理,第七列count是患者中有并發疾病的數目,第八列percent是患者中有并發疾病的百分比,第九列sample表示是否用了NearMIss進行采樣。從實驗結果可知,使用Seq2Seq模型構造的特征在6項疾病預測中排第一,一項疾病排第二,明顯優于其他特征生成方法。然而該方法并不是在所有疾病預測中占優。該方法優勢在于不需要手工進行特征選擇,而且在實踐中發現,傳統特征構造方法經常受限于窗口大小的選擇(即在窗口范圍內是否有再住院),不同的窗口大小會影響分類效果,不如基于Seq2Seq模型構造特征的方法簡單方便。因此,本文方法是疾病預測任務的最佳選擇。
5.2? 基于傾向值匹配的療效對比
傾向值(propensity score)這一概念在1983年由Rosenbaum P R[31]提出,傾向值指被研究的個體在控制可觀測到的混淆變量的情況下,受到某種自變量影響的條件概率。
傾向值匹配后的結果不僅僅指出了變量之間有關系,還進一步確定了二者之間的因果性,可以從科技哲學[32]和統計學[33]兩個方面闡述。
考慮到醫院信息系統中關于死亡的數據不完整,筆者使用180天內是否再入院替代療效。因此,因變量是再入院,筆者關注的自變量是心衰患者的十大伴隨疾病,即高血壓、糖尿病、冠心病、房顫、慢性腎功能不全、心臟瓣膜疾病、擴張性心肌病、肥厚性心肌病、慢性阻塞性肺疾病和腦梗塞或一過性腦缺血。需要控制的混淆變量包括患者的年齡、性別、用藥、脈搏、檢查等信息。
表4是傾向值匹配后,進行邏輯回歸后的結果,其中高血壓、糖尿病、冠心病、房顫、慢性腎功能不全、擴張性心肌病、腦梗塞或一過性腦缺血對心衰患者180天再入院有顯著影響(其中,P值<0.05時,變量具有顯著性影響)。
表4 ?伴隨疾病顯著性影響
6 ?結束語
醫院信息系統數據優點在于獲取代價低,缺點在于數據質量低,為此,本文給出了如何基于醫院電子病歷數據進行大數據挖掘的流程與應用示例。對于未來的工作,從數據角度,需要融合更多數據字段的病人數據;從方法角度,需要找到能夠支撐真實世界研究更細致、更有說服力的統計學的方法,并且需要讓現有的方法更有可解釋性;從信息技術角度,可以進一步地將工作流程工具化,以便為醫療工作者提供更好的科研支撐。
點擊下方?閱讀原文?即可獲取全文
作 者 簡 介
阮彤(1973-),女,博士,華東理工大學計算機技術研究所教授、所長,自然語言處理與大數據挖掘實驗室主任,主要研究方向為文本抽取、知識圖譜、數據質量評估等。
?
高炬(1966-),男,上海曙光醫院副院長、主任醫師,主要研究方向為醫院行政管理及中西醫結合肝膽病研究。
?
馮東雷(1972-),男,博士,萬達信息股份有限公司教授級高級工程師,主要研究方向為健康醫療大數據+人工智能、健康醫療+互聯網、區域人口健康信息化、衛生信息標準化等。
?
錢夕元(1968-),男,博士,華東理工大學教授,主要研究方向為統計計算、數值軟件等。
?
王婷(1993-),女,華東理工大學碩士生,主要研究方向為知識圖譜、信息抽取。
?
孫程琳(1993-)女,華東理工大學碩士生,主要研究方向為知識圖譜、問答系統。
?
《大數據》期刊
《大數據(Big?Data?Research,BDR)》雙月刊是由中華人民共和國工業和信息化部主管,人民郵電出版社主辦,中國計算機學會大數據專家委員會學術指導,北京信通傳媒有限責任公司出版的科技期刊。
關注《大數據》期刊微信公眾號,獲取更多內容
總結
以上是生活随笔為你收集整理的基于电子病历的临床医疗大数据挖掘流程与方法的全部內容,希望文章能夠幫你解決所遇到的問題。
 
                            
                        - 上一篇: c++编写断点续传和多线程下载模块【转】
- 下一篇: break 和continue 区别以及
