劉強,郭瑞,王勤,孫凱
北京醫院 a. 器材處;b. 呼吸與危重癥科;c. 醫務處,北京 100730
呼吸機是重要的危重急救和生命支持設備,國家衛健委發布的《呼吸機安全管理》要求運用管理和醫學工程技術手段,對影響治療使用安全的因素進行系統化管理,提高臨床保障能力[1]。目前呼吸機設備廠商不斷改進技術,提供更加敏感的算法,使呼吸機不漏掉患者報警,因此有效報警會伴隨更多的無效報警出現,而在急診或重癥監護病房,無效的誤報警會使醫護人員產生報警疲勞,出現響應遲緩現象,從而降低醫療質量[2]。當前呼吸機普遍使用單變量報警算法和數字閾值預警模式[3],不同廠商主要使用流量傳感器、壓力傳感器、氧傳感器(氧電池)、溫濕度傳感器等來監測患者端的通氣情況。當患者實際數值超過醫生預設閾值時,即觸發報警,因而不能分辨這一報警產生的原因是生理狀態改變、閾值設置范圍較大,還是外界醫療干預,且不同呼吸機品牌的報警項目可相差多項報警信息和視覺信息。本研究基于呼吸機環境和參數設置,便捷、高效地對單中心數據建立預測模型。由于患者病情變化從而導致呼吸機環境和參數設置變化較大,故無法用建立數學模型的方法建模。本研究應用機器學習中主流的隨機森林算法對呼吸機報警進行分析及對重要參數進行排序,通過建模識別每次報警是否為誤報警,并將報警提示對應發送給醫生、呼吸治療師和臨床工程師。利用臨床在用呼吸機的實時數據真實反饋呼吸機的臨床使用情況,基于臨床數據采用機器學習的方法分析判別主要因素,可提升呼吸機的有效報警能力,降低無效報警數量,在臨床上對呼吸機的使用方面具有重要意義[4]。
呼吸機數據平臺的建立[5-6]是整合呼吸機臨床數據并進一步進行統計分析、機器學習的基礎。平臺基于國際醫療信息系統集成(Integrating the Healthcare Enterprise,IHE)的規范流程和相關技術框架[7-8]實現數據整合。我院采用呼吸機中心集中管理的模式,對有創呼吸機建立了呼吸機數據監測拓撲圖(圖1)。呼吸機通信協議是系統平臺建立的核心問題,本研究采用IHE規范中的患者護理設備(Patient Care Device,PDC)框架,明確各廠家的數據流標準,確保各廠家設備與系統平臺聯通[9]。呼吸機硬件連接在RS232 口上[10],系統平臺為B/S 架構,醫護端以移動手機或平板App 的形式[11]實時監測所關注的呼吸機報警數據,服務器端支持對數據的統計分析。

圖1 呼吸機數據平臺建立拓撲圖
1.2.1 數據準備
接入數據平臺的呼吸機全部符合國際電工委員(IECEE)醫用設備及系統中警報的通用標準[12]。我院呼吸機中心有30 臺有創呼吸機接入呼吸機數據平臺,均為臨床常用的品牌,呼吸機型號及呼吸機數據平臺所記錄的報警數據量如表1 所示。

表1 接入呼吸機數據平臺設備列表
對呼吸機數據平臺單日的報警次數進行統計得出報警總量為3699 次,其中只有近2%的報警為設備報警,其余均為通氣類報警,見圖2。

圖2 呼吸機報警分類對比
基于呼吸機特點及報警定義級別,將呼吸機報警分為設備報警和通氣報警[13]。設備報警也稱故障報警,通常指呼吸機及配件發生問題。由于各呼吸機廠家設備的報警等級最高,且在臨床使用中,設備報警產生的次數極低,因而設備報警(故障報警)在本研究中全部默認為真實報警。臨床實際數據表明,通氣類報警數量最多且頻繁[14],與臨床使用操作等關系緊密,不確定因素較多,報警真實性有待提高。本研究基于呼吸機數據管理平臺,針對表1 中的4 款型號共5 臺呼吸機,選取呼吸科病房持續上機大于30 d、情況相對穩定的5 例患者,調閱30 d 的報警數據,報警數據按臨床通氣報警進行數據統計,見表2。

表2 呼吸機臨床常見報警真實率統計
1.2.2 數據標注
訓練數據集由呼吸科醫生、呼吸治療師對該科室的在用5 臺呼吸機、30 d 共計20327 次臨床通氣報警進行標注,每條報警需在獲得一致的判斷后才被標注為真或假,常見報警真實率統計如表2 所示。
1.3.1 算法架構分析
隨機森林算法目前已成為醫學數據分析中較常用的一種機器學習方法[15-16]。本研究使用隨機森林算法構建模型進行訓練和測試。隨機森林算法的優勢在于能夠處理數量龐大的高維度特征,且不需要進行降維,能評估各個特征在分類問題上的重要性,臨床訓練速度快,可平衡誤差、生成樹狀結構、判斷各個特征的重要性;缺點是在噪聲較大時容易出現過擬合現象,對異常值、缺失值不敏感。本文對影響真假報警的相關參數采用隨機森林算法研究的變量進行表征[17],變量名及賦值說明如表3 所示。

表3 變量參數表
由表2 可知,報警總量為20327 條,其中真報警2948 條。由于正負樣本嚴重不均衡,因此在無效報警中隨機抽取和真實報警數量相同的樣本數組成要研究的數據集。首先,將數據集按照分層抽樣法分成訓練集(14391 條)和測試集(5936 條),因變量為Y,其余13 個變量X 為自變量。先對數據進行訓練,再對測試集進行驗證完成預測。
1.3.2 建模過程
(1)導入所有必需的Python 庫并設置環境配置。使用Python 的“read_excel”方法從保存呼吸機數據平臺中加載數據并對數據進行預處理,具體包括檢查數據中是否有缺失值,并使用Python 函數“dropna”刪除包含任何空值的行,再將阻力、分鐘容量等列的值轉換為浮點數并用“NaN”替換空字符串。
(2)將數據集劃分訓練集和測試集,并在訓練集上進行模型訓練[18]。訓練模型前,使用scikit-learn 的“train_test_split”方法劃分數據集,確保模型不會過度擬合訓練數據,并在測試集上測試。模型的輸出為0 和1 之間的概率值,該值等同于無效報警或真實報警的估計值,可確定模型具有泛化能力。本研究定義了一個Pipeline來處理缺失值(使用SimpleImputer)和特征縮放(使用StandardScaler)以填充缺失數據和特征縮放,避免不同特征的規模相差過大。
(3)隨機森林模型的初始化和超參數調優。本研究執行網格搜索并根據最高精度找到模型的最佳超參數(“n_estimators”“max_depth”和“criterion”)。本文通過GridSearchCV 實現超參數調優,該方法執行交叉驗證,可有效避免過度擬合。隨機森林模型的最優超參數組合如表4 所示。其中,“gini”作為標準,意味著使用基尼系數來衡量模型的質量,也就是組成森林的決策樹的分裂;Max_depth 為4,表示森林中每棵決策樹的最大深度,據此可避免因樹生長得太深而導致的過度擬合;N_estimators 為150,說明森林由150 棵樹組成。

表4 最優參數模型
模型訓練完成后,提取特征重要性并在條形圖中進行可視化排序。特征重要性可清晰地顯示呼吸機的哪些特征對于判斷無效報警最為關鍵。特征重要性排序圖如圖3 所示。

圖3 特征重要性排序圖
根據此次單中心數據建模分析獲得的特征重要性結果為:分鐘漏氣量>吸氣峰壓>阻力>分鐘容量>PEEP(呼氣末正壓)>潮氣量>泄漏 %>呼吸頻率>平均氣道壓>氧濃度>吸氣流量。從結果來看,“分鐘漏氣量”和“吸氣峰壓”是最重要的特征,每個特征的重要性約為0.201。“阻力”的重要性比前兩個稍低,為0.195。其他特征的重要性較低,“氧濃度”和“吸氣流量”的重要性為零,說明“氧濃度”和“吸氣流量”可能對模型預測無效報警用處極小。
在測試集評估模型性能方面,本研究通過計算得出的混淆矩陣如圖4 所示。在測試集的1484 個樣本中,模型正確識別了1204 個無效報警(True Negatives),正確識別了196 個真實警報(True Positives)。該模型錯誤地將28 個無效警報分類為真實警報(假陽性),并將56 個真實報警錯誤分類為無效報警(假陰性)。從不同方面評估本文模型指標[19],可得模型準確度為0.94,精準度為0.78,召回率為0.88,F1 得分為0.82,受試者工作特征(Receiver Operating Characteristic,ROC)曲線下面積(Area Under Curve,AUC)為0.92(圖5),說明模型表現較好,正確區分真實或無效報警的能力較強。

圖4 混淆矩陣圖

圖5 ROC曲線圖
根據隨機森林模型得到的各因素重要性得分圖可知,分鐘通氣量、吸氣峰壓、阻力特征重要性值最高(>0.19);氧濃度和吸氣流量的重要性幾乎為零,說明這2 項報警均為設備報警而非通氣類報警,一旦報警即為真實報警,符合目前臨床操作。通過超參數調優建模可預測報警的真假,評估指標中召回率為0.88,即約88%的報警可提示臨床為無效報警。隨機森林建模不同于公式建模,本研究的呼吸機設備、參數發生變化,包括報警設置改變,均須重新建模再進行分析。同比其他數學模型訓練方法,本研究的建模方式更符合臨床科室的實際情況,對于醫院單中心的數據分析更加適用。呼吸機數據平臺的服務器在獲得分析報警的真假結果數據后[20],由呼吸機數據平臺將真實報警或可能為誤報警的信息分別發送給工程師[21]和臨床醫護App 端,其中共有5223 次通過App 對醫護端提示存在誤報警可能,包括16 次延遲。網絡延遲目前在院內測試中雖有20~30 s的延遲,但不會漏掉任何報警信息,且符合美國醫療器械促進協會(Association for the Advancement of Medical Instrumentation,AAMI)規定的報警響應時間。本研究的不足之處在于建模訓練前期的20327 次報警需由醫生標注,不可避免地會由于主觀判斷造成誤差以及產生標注疲勞。獲得大量的數據標注雖可提升算法的精度,但需要不斷克服臨床數據標注中的困難。后續機器學習數據的積累可為呼吸機設備保障的早期預警提供參考。
基于呼吸機數據平臺的真實臨床數據,用Python 語言建立超參數調優的隨機森林模型和重要參數排序,經測試集數據驗證可及時、高效地進行呼吸機報警數據分析和預測。在降低無效報警方面,設備報警及通氣類報警中真實報警被降低得較少。在不降低真實報警率的情況下,氧濃度和吸氣流量等真實報警很難被抑制,也客觀驗證了無效報警目前無法完全被抑制但可以被提示。下一步,隨著呼吸機平臺數據量的不斷積累,基于重要報警參數的軟件算法不斷更新,以及整合心電、血氧、心率等監護信息的多模態數據的導入,未來有望實現精準地評價呼吸機的每次報警,最終實現完全抑制呼吸機的無效報警。