藉由慣性感測器和機器學習評估老年人跌倒風險
每一年當中,幾乎每三位65歲以上的成人就有一位曾經跌倒,使得跌倒成為這一個年齡族群致命以及非致命損傷的關鍵因素。光是在美國,因為老年人因為跌倒造成傷害所衍生的醫療成本即高達500億美元[1]。
如何降低跌倒造成的相關的傷害? 評估病患的跌倒風險、以及風險被辨識到有威脅性時採取適當行動是相當重要的。許多傳統評估跌倒風險的方法,然而,這些方法仰賴於主觀的評判,或者需要特定領域的臨床醫學專家。
我們在Kinesis Health Technologies的工程團隊開發了一個客觀、量化的方法來對跌倒風險、脆弱性(frailty)、活動性損耗(mobility impairment)進行篩檢,這種方法的精確程度比起傳統方法高出了15%至27%。我們的QTUG™ (定量計時起走Quantitative Timed Up and Go)系統(圖1),所使用的資料是從裝在病患腿上的無線慣性感測器收集來的。然後,我們利用MATLAB®開發出的訊號處理演算法和以機器學習為基礎的分類器,會依據從感測器收集到的資料以及病患對於常見跌倒風險因素設計的問卷答覆,來計算該病人的跌倒風險評估(fall risk estimate,FRE)和脆弱指數(frailty index,FI)。
透過MATLAB開發QTUG軟體,使QTUG的實現速度比原本完全使用Java®的開發時間至少快了兩到三倍。這讓我們縮短了QTUG的上市時程,以及在美國食品藥品監督管理局(FDA)、加拿大衛生部(Health Canada)、歐盟(EU)取得第一級(Class I)醫療裝置註冊的時間。
傳統跌倒風險方法與QTUG比較
評估跌倒風險及活動性最常見的兩種方法是計時起走(timed up and go,TUG)測試和柏格氏平衡量表(Berg Balance Scale,BBS)。在TUG測試,臨床醫師使用碼表來測量病患從坐在椅子上到站起來,行走三公尺,轉身,走回椅子,再重新坐回椅子上所花費的時間。BBS測試則牽涉更多,需要病患完成一系列和平衡有關的任務;由臨床醫師為病患完成每一項子任務的能力進行0到4的評分。研究顯示TUG和BBS測試在識別病患跌倒風險的精確度大約為50-60%。此外,BBS測試也需要臨床醫師主觀地判斷病患每一項任務的完成度。
而Kinesis QTUG則提供了比這兩種方法更詳細、客觀、精確的選擇。進行QTUG測試時,會裝置兩個無線慣性感測器,分別裝在病患雙腿膝蓋的下方,每一個感測器包含一個加速儀與一個陀螺儀;這位病患接著執行標準的TUG測試運動,包含站立、行走、轉身、回到椅子,這時感測器會透過藍牙(Bluetooth®)傳送資料到QTUG軟體(圖2)。
加速儀與陀螺儀訊號的過濾和校正
穿戴在腿上的感測器單元包含了一個三軸加速儀和一個三軸陀螺儀。每一個加速儀產生三組訊號,反映沿著x、y、z三軸方向的運動;而每個陀螺儀也會產生三組訊號,反映三個維度的旋轉運動。所有感測器共12組訊號的取樣頻率皆設在102.4 Hz。為了移除資料中的高頻雜訊,我們利用數位處理工具箱(Signal Processing Toolbox™)提供的Filter Designer設計了一個數位濾波器來使用。在一開始的開發當中,我們評估了切比雪夫(Chebyshev)和巴特沃斯(Butterworth)兩種濾波器,發現零相位、二階的巴特沃斯濾波器在截止頻率(corner frequency)為20 Hz時的效果最好。
設計濾波器的時候,我們也開發了一個MATLAB演算法來校正感測器,這些實地的校正演算法在從感測器訊號移除偏差以及要從不同感測器取得相應的訊號資料時有其必要性。校正演算法也負責將感測器產生的原始32-bit訊號值轉換為有意義的數值,像是m/s2(公尺/秒平方)。
擷取特徵與訓練分類器
我們是利用MATLAB來探索過濾的訊號資料,以辨別特徵與和脆弱性以及和跌倒風險有關的特性。舉例來說,我們繪製各個時間的角速度(angular velocity)並且偵測對應到病患行走時的擺盪中期(mid-swing)、腳跟著地(heel strike)、腳趾離地(toe-off)等幾個點的峰值(圖3)。
我們找到了超過70個量化的TUG參數,這些參數可以跟病患的預期或歷史跌倒資料互相搭配使用來訓練一個監督分類器;這些特徵包含平均步速和步輻、起立與坐下花費的時間、轉身需要的步數、步行時花在一腳及兩腳上的時間(圖4)。
接著我們使用MATLAB產品家族中的統計與機器學習工具箱(Statistics and Machine Learning Toolbox™)的交叉驗證和序列特徵選擇函式來選擇具備最高預測值的特徵子集,並且也透過MATLAB來檢驗及實現該經過規則化的判別分類器模型。我們在從病患問卷取得的資料上訓練一個分離的羅吉斯回歸(logistic regression)分類器,資料包含了臨床的風險因子,像是性別、身高、體重、年齡、視覺損傷、以及多種藥物(polypharmacy,處方藥物服用的數量)等等。我們把以感測器為基礎的模型和以問卷為基礎的兩個模型結果進行加權平均,而得到了整體跌倒風險估計(圖5)。我們使用類似的方法來產生病患脆弱程度的統計估計值。
驗證結果並佈署生產至硬體
我們以從幾千位病患收集來的臨床試驗資料來訓練模型,並且評估了由混合分類器所產生的結果。作為分析的一部分,我們繪製脆弱性與跌倒風險的柱狀圖和散布圖,確認了我們對於這兩個量測值有高度相關的假設(圖6)。
我們也以傳統的TUG測試和柏格氏平衡量表(Berg Balance Scale)針對特定病患群體的評估結果來比對QTUG的準確度。舉例來說,最近有一個著重於帕金森氏症的研究,顯示QTUG的精確度比TUG測試高了將近30%。在每一種方法,我們會衡量靈敏性(跌倒者被正確辨識的百分比)和精確性(未跌倒者被正確辨識的百分比)。我們接著繪製所有方法的ROC曲線圖,顯示使用QTUG時的曲線下面積最大。
為了在有觸控螢幕的Android™裝置上實現QTUG分類器,我們重新把分類器以Java改寫。若要依據新的參考資料集來更新分類器的係數,我們只需要把這些係數從MATLAB匯出到會在接下來被合併到Android建置的Android資源檔案。完整的QTUG Android應用程式會為臨床醫師提供指南,包含測試、接收透過藍牙傳送的感測器資料、以分類器模型處理資料、呈現跌倒風險和脆弱性分數等,且一併提供病患結果與其同儕結果的比較做為參考。
到目前為止,已有八個國家的臨床醫師使用QTUG來評估超過20,000名病患。隨著新的結果出現,我們持續改進參考資料集,我們也開發了可以讓個人透過手機評估自己跌倒風險的MATLAB演算法,這個新的演算法可以處理從手機加速儀和陀螺儀取得的資料,然後產生簡化版的跌倒風險估計,不需要親自到醫生的辦公室,還可以每天追蹤跌倒風險是否升高。
參考資料
- https://onlinelibrary.wiley.com/doi/full/10.1111/jgs.15304