重症感染症候群(又名敗血症,Sepsis)預後研究
根據其較早期的檢查指標,我們使用DarwinML為重症監護室(ICU)患者預警感染重症感染症候群(又名敗血症,Sepsis)的可能性,以及是哪些指標以何種方式導向這一結果。從而讓醫療研究者可以儘早地根據患者的各項檢查指標來判斷Sepsis病症的預後。醫療研究者通過模型預警提前介入,用藥治療挽救生命。
步驟一:數據抽取
根據研究需要,我們的特徵抽取目標是,從620萬條檢查記錄中,涉及約20,000名患者的70項檢查,抽取出進入ICU之後符合一定條件的記錄,生成特徵值用於模型。
DarwinML數據抽取平臺在這一過程中,可以幫助研究者完成三件事情:
1. 數值化指標值:由於醫療設備各有差異,同一項指標的結果記錄不一致。比如:白蛋白(Albumin)指標,在部分檢查結果中記錄為數值0.5, 1.9, 2.9等,但有些檢查結果使用分段記錄「LESS THAN 0.3」,「LESS THAN 1.0」等,需要統一化處理為數值,用於模型訓練;
2. 截取數據:研究者可以通過色設置參數,來對關注的部分進行數據截取。比如在本次案例中,研究者希望探究是否有可能在患者進入ICU72小時內給出感染Sepsis的預判,則研究者設定如下參數值來實現。
3. 生成模型特徵:由於患者的各項檢查時間不連續,檢查間隔不穩定,導致70項指標的缺失值平均高達86.88%,具有高稀疏性特點。平臺可以對620萬條檢查記錄進行特徵生成,轉換為被模型直接使用的20,000條患者記錄,也就是每位患者一條特徵數據。
上述步驟將在DarwinML Data Fusion,以數據流形式在1小時內處理結束。數據流的運行進展可以通過頁面日誌實時查看,也可以在數據流實時顯示。
步驟二:數據清洗
DarwinML自動建模平臺會在數據導入後給出當前數據每一列的具體清洗建議。比如:是否需要填充缺失值,填充值取多少合適;這一列的數據是否有嚴重偏移,是否需要消除異常值;這一列是否是字符串列,模型無法直接使用,如何做數值化處理,是映射為0,1,2...,還是做ICA編碼提取語義等。當然,研究者可以選擇信任推薦的清洗方案,也可以自定義清洗方案。
下圖給出了darwinML對不平衡數據分布自動做均衡化之後的結果,原本7:1的嚴重偏移分布(左圖), 轉換為可以更好被模型擬合的2:1分布比例(右圖)。
「Hours0-72_Alkaline phosphate_min」數據由於含有異常值,數據分布呈現嚴重正偏態,如下左圖,DarwinML自動推薦等距分箱,清洗後,如下右圖,消除了偏態分布。
在數據清洗完成後,DarwinML會給出最終的數據寬表(如下圖)供反查。如果有不符合預期的處理,可以選擇「再次清洗」實現。
步驟三:模型設計、超參調優、模型訓練
DarwinML自動完成。
步驟四:模型評估
在DarwinML完成自動建模後,研究者可以查看模型評估結果來進行分析。比如:當我們完成了一個模型,看到ROC曲線如下,AUC約等於0.9249,模型整體準確率較高。
但當我們進一步查看模型重要列分析,發現模型給出重要性較高的指標是Diastolic blood pressure(舒張壓)等體徵指標,而研究者更為關注的是各項病理檢查指標。
為了排除影響,我們選擇再次清洗數據,把體徵指標從數據中剔除掉,再次自動建模。
剔除體徵指標後,得到一個新的模型,AUC約等於0.9094,略有降低,但模型的實際功能更符合研究需要。
接下來,我們可以查看評分卡結果,並對來患病機率選擇一個門限,比如0.3,這時查準率大約為0.94。在實際使用中,當模型給出的患病機率超過門限0.3,我們就可以初步判斷這位患者易感,需要重點關注。
結語
本文主要以重症感染症候群(又名敗血症,Sepsis)的一次預後研究為例,對DarwinML自動建模平臺展開介紹。DarwinML同時支持時間序列、圖像分類、圖像目標識別、OCR等任務,兼容研究者自定義的模型應用。
為了幫助研究者專注於領域內積累,考慮到醫療研究者同時面臨臨床醫療和病理研究等多方壓力,在使用DarwinML過程中,我們全程支持點擊拖拽,中間結果可視可下載,研究者只需重點關注原始數據輸入和評估結果輸出。
免責聲明:市場有風險,選擇需謹慎!此文僅供參考,不作買賣依據。