吳曉姣,吳禮發(fā)
(南京郵電大學(xué) 計(jì)算機(jī)學(xué)院,江蘇 南京 210023)
高血壓一直是一種較為普遍的疾病,它意味著一個人有更高的健康風(fēng)險(xiǎn)問題[1]。因?yàn)榛加懈哐獕旱幕颊咄ǔJ菦]有顯著的癥狀和信息,所以大多數(shù)人不能夠及時(shí)意識到自己已患病。因此,它又被人們稱為“沉默殺手”??偠灾?,血壓問題在日常生活中是不可忽視的,即血壓的實(shí)時(shí)檢測是必不可少的。血壓是指從心臟向全身輸送血液時(shí)對動脈壁的壓力,這些動脈在心臟收縮時(shí)擴(kuò)張,在心臟擴(kuò)張時(shí)收縮,則血壓被分為收縮壓(systolic blood pressure,SBP)和舒張壓(diastolic blood pressure,DBP)。
伴隨著科技技術(shù)迅猛發(fā)展的趨勢,傳感器設(shè)備在醫(yī)療領(lǐng)域中的應(yīng)用受到了廣泛關(guān)注[2],并且使用其檢測人體的生理參數(shù)也越來越得到大家的認(rèn)可,其中生理參數(shù)包括心率、脈搏、血壓等[3]。與此同時(shí),使用傳感器檢測到的人的生理信號進(jìn)行預(yù)測血壓的研究也隨之興起[4]。
目前,針對預(yù)測血壓的相關(guān)研究有很多[5]。Teng等人[6]首先獲取人的光電容積脈搏波生理信號(photoplethysmography,PPG)并分析其某些特征與動脈血壓(ABP)之間的關(guān)系,然后采用線性回歸算法(LR)構(gòu)建預(yù)測血壓的模型,實(shí)驗(yàn)結(jié)果表明通過人的生理信號預(yù)測血壓這一方法是可行的。Zhang等人[7]從32個人中獲取7 000個生理信號的實(shí)例,并使用支持向量機(jī)算法構(gòu)建預(yù)測血壓的模型。實(shí)驗(yàn)在均值誤差(MAE)方面的值分別為11.64和7.62,結(jié)果表明該模型的預(yù)測精度較低。Kachuee等人[8]則從MIMIC II數(shù)據(jù)庫中提取1 000個人的心電圖(ECG)和PPG信號,然后從這兩個信號中提取實(shí)驗(yàn)所需特征,并使用機(jī)器學(xué)習(xí)算法構(gòu)建預(yù)測血壓的模型。實(shí)驗(yàn)預(yù)測SBP和DBP的MAE分別為11.17和5.35,實(shí)驗(yàn)結(jié)果表明增加了ECG信號之后預(yù)測精度有一點(diǎn)提高,但是該模型預(yù)測SBP的精度仍然較低。Su等人[9]從ECG和PPG信號提取實(shí)驗(yàn)所需特征,然后使用長短期記憶網(wǎng)絡(luò)LSTM構(gòu)建預(yù)測血壓的模型。實(shí)驗(yàn)在均方根誤差(RMSE)方面的值分別為3.73和2.43,結(jié)果表明該模型的預(yù)測精度良好。但是,該模型需要同時(shí)從ECG和PPG兩個信號中提取特征,即實(shí)驗(yàn)需要對這兩個信號進(jìn)行同步性處理操作,則在信號處理之前就需要付出很多的努力,從而增加實(shí)驗(yàn)的任務(wù)量。Zadi等人[10]是從15個人中獲取PPG信號,然后使用ARMA模型構(gòu)建預(yù)測血壓的模型。實(shí)驗(yàn)預(yù)測SBP和DBP的RMSE分別為6.49和4.33,實(shí)驗(yàn)結(jié)果表明該模型的預(yù)測精度良好,即僅使用PPG信號預(yù)測血壓是可行的。Kurylyak等人[11]首先通過MIMIC II數(shù)據(jù)庫的一部分?jǐn)?shù)據(jù)來提取PPG信號的波形特征,然后研究分析這些特征與ABP之間的關(guān)系,最后使用人工神經(jīng)網(wǎng)絡(luò)(ANN)構(gòu)建預(yù)測血壓的模型。實(shí)驗(yàn)預(yù)測的SBP和DBP的MAE分別為3.80和2.21,實(shí)驗(yàn)結(jié)果表明該模型預(yù)測血壓的精度較好。但是,該實(shí)驗(yàn)只從原始的PPG信號中提取相關(guān)特征。Yang等人[12]對原始的PPG信號、PPG信號的二階導(dǎo)數(shù)提取相應(yīng)的特征,然后使用SVR構(gòu)建預(yù)測血壓的模型。實(shí)驗(yàn)預(yù)測的SBP和DBP的MAE分別為13.40和6.90,RMSE分別為8.54和4.34。Slapnicar等人[13]首先從MIMIC III數(shù)據(jù)庫中獲取了510個人的PPG信號,然后從原始的PPG信號、PPG信號的一階導(dǎo)數(shù)、PPG信號的二階導(dǎo)數(shù)中提取相關(guān)特征,最后使用深度學(xué)習(xí)算法構(gòu)建預(yù)測血壓的模型。實(shí)驗(yàn)預(yù)測的SBP和DBP的RMSE值分別為9.43和6.88,實(shí)驗(yàn)結(jié)果表明該模型預(yù)測血壓的精度一般,但是實(shí)驗(yàn)對于PPG信號提取特征較為全面。
針對上述預(yù)測血壓研究存在的問題,該文提出一種基于支持向量回歸模型(SVR)的血壓預(yù)測方法。該方法僅考慮人的PPG信號,通過對PPG信號的處理分析并提取相關(guān)特征,然后再使用SVR構(gòu)建預(yù)測血壓的模型。
通過傳感器設(shè)備獲取某人在一段時(shí)間內(nèi)的生理信號數(shù)據(jù),預(yù)測血壓的一般過程為:首先獲取某人一段時(shí)間內(nèi)的PPG和ABP信號,然后對PPG信號進(jìn)行處理并提取特征Xt,同時(shí)對ABP信號處理獲取SBP和DBP值,即標(biāo)簽Y,最后結(jié)合特征Xt和標(biāo)簽Y分別構(gòu)建預(yù)測SBP和DBP值的模型,如圖1所示。
圖1 血壓預(yù)測的一般過程
支持向量機(jī)(SVM)是一種在分類與回歸分析中對數(shù)據(jù)進(jìn)行處理的監(jiān)督式機(jī)器學(xué)習(xí)模型,包括線性SVM和非線性SVM[14]。當(dāng)數(shù)據(jù)是線性時(shí),線性SVM可以通過尋找超平面來對數(shù)據(jù)樣本進(jìn)行處理操作[15]。然而,當(dāng)數(shù)據(jù)是非線性時(shí),線性SVM則不適用,此時(shí)非線性SVM將會被使用。非線性SVM主要是通過核函數(shù)將低維空間中的非線性問題轉(zhuǎn)換為高維空間中的線性問題,從而再使用解決線性問題的方式來解決非線性問題。根據(jù)PPG和ABP信號之間的關(guān)系實(shí)現(xiàn)血壓的預(yù)測,以及PPG信號屬于人的生理信號是非線性數(shù)據(jù),因此該文采用非線性SVM,即支持向量回歸算法(SVR)來構(gòu)建預(yù)測SBP和DBP值的模型。
給定某人一段時(shí)間內(nèi)的PPG信號和SBP(或DBP)值組成的訓(xùn)練數(shù)據(jù)集T={(x1,y1),(x2,y2),…,(xN,yN)},其中xi表示PPG信號,yi表示對應(yīng)的SBP(或DBP)值,i=1,2,…,N,則預(yù)測血壓的SVR模型的公式為:
f(x)=wTx+b
(1)
SVR采用ε-不敏感損失(ε-insensitive loss)函數(shù),該損失函數(shù)的公式為:
(2)
因此,預(yù)測血壓的SVR模型可形式化為:
(3)
其中,z是模型輸出f(x)與真實(shí)值y之間的差值,C是懲罰因子。同時(shí),通過引入松弛變量ξi和ζi,式(3)可重寫為:
(4)
引入拉格朗日乘子α、β、γ、σ可以將最優(yōu)化問題轉(zhuǎn)化為對偶問題,由拉格朗日乘子法得到拉格朗日函數(shù)為:
(5)
將式(1)代入上式中,再使用L分別對w、b、ξ、ζ求偏導(dǎo),同時(shí)將每個偏導(dǎo)數(shù)置為0,計(jì)算得到:
(6)
(7)
C=γi+αi
(8)
C=σi+βi
(9)
再將式(6)到式(9)代入式(5)中就實(shí)現(xiàn)了將最優(yōu)化問題轉(zhuǎn)化為對偶問題。此時(shí),SVR模型的對偶問題為:
(10)
將核函數(shù)κ(xi,xj)代入上式中,SVR模型的對偶問題變?yōu)椋?/p>
(11)
同時(shí)令上式的值為0,則可以得到SVR模型的回歸方程為:
(12)
其中b為:
(13)
κ(xi,xj)為:
κ(xi,xj)=φ(xi)Tφ(xj)
(14)
實(shí)驗(yàn)中使用的核函數(shù)是高斯核函數(shù)(RBF),它的公式為:
(15)
其中,σ>0表示高斯核的帶寬,xi、xj表示特征向量。
基于上述討論,該文提出一種基于SVR的血壓預(yù)測方法,如圖2所示。
圖2 基于SVR的血壓預(yù)測流程
該方法的操作步驟如下:
(1)信號數(shù)據(jù)讀取。讀取某人一段時(shí)間內(nèi)的PPG和ABP信號;
(2)PPG信號的數(shù)據(jù)過濾。通過數(shù)據(jù)過濾來消除PPG信號的噪聲污染;
(3)信號的周期劃分。ABP和PPG信號屬于周期性數(shù)據(jù),則需要對兩個信號進(jìn)行周期劃分;
(4)PPG信號的特征。對已消除噪聲污染的單個周期的原始的PPG信號、PPG信號的一階導(dǎo)數(shù)、PPG信號的二階導(dǎo)數(shù)提取相關(guān)特征;
(5)獲取SBP和DBP值。從單個周期的ABP信號中獲取對應(yīng)的SBP和DBP值;
(6)訓(xùn)練模型。將已提取的PPG信號的特征結(jié)合SBP(或DBP)值,然后使用SVR構(gòu)建預(yù)測SBP(或DBP)值的模型;
(7)測試模型。對于預(yù)測SBP和DBP值的兩個模型進(jìn)行準(zhǔn)確率測試。
下面介紹圖2中PPG信號的數(shù)據(jù)濾波處理。由于PPG信號是通過傳感器設(shè)備獲取,則在測量的過程中該信號容易受到外界的因素干擾而造成噪聲污染[16]。主要影響測量PPG信號的因素有:(1)環(huán)境光的影響;(2)工頻以及其他電磁的影響;(3)運(yùn)動影響。這些都是測量PPG信號過程中會出現(xiàn)的問題,因此在使用PPG信號構(gòu)建預(yù)測血壓的模型之前需要對該信號進(jìn)行數(shù)據(jù)濾波以消除噪聲污染。Chowdhur等人[17]使用25 Hz的六階巴特沃斯無限脈沖響應(yīng)零相位濾波器消除PPG信號的噪聲污染。師榮堃等人[18]則是先使用0.7 Hz~4 Hz帶通濾波器對PPG信號進(jìn)行初步濾波,然后再使用優(yōu)化的全零直線型形態(tài)學(xué)濾波器消除該信號的基線漂移,最后再使用4 Hz的FIR低通濾波器消除前面操作帶來的高頻噪聲。
巴特沃斯濾波器主要是由butter和filtfilt兩個函數(shù)組成,其Python代碼為:
b,a=scipy.signal.butter(N,Wn,btype,analog,output,fs)
datafiltter=scipy.signal.filtfilt(b,a,x,axis,padtype,
padlen,method,irlen)
其中,實(shí)驗(yàn)需要設(shè)置的重要參數(shù)為:
(1)N表示實(shí)驗(yàn)中采用的巴特沃斯濾波器階數(shù);
(2)Wn表示截止頻率的歸一化,0 Wn=2*cutoff/sample (16) 其中,cutoff表示巴特沃斯濾波器的截止頻率,sample表示信號的采樣頻率。 (3)btype表示濾波的類型,分為高通(highpass)、低通(lowpass)、帶通(bandpass)和帶阻(bandstop); (4)b,a表示巴特沃斯濾波器的分子和分母的多項(xiàng)式,同時(shí)也是filtfilt函數(shù)的重要參數(shù); (5)x表示要過濾的信號數(shù)據(jù),要求以數(shù)組的形式。 針對消除PPG信號噪聲污染的處理問題,該文提出一種僅使用巴特沃斯濾波器對PPG信號消除噪聲污染的方法。該方法將消除PPG信號噪聲污染分為消除信號的基線漂移和高頻干擾兩個步驟,其中對于消除基線漂移使用巴特沃斯低通濾波器,對于消除高頻干擾使用巴特沃斯高頻濾波器。 MIMIC III數(shù)據(jù)庫(https://mimic.mit.edu/about/mimic/),其全稱為Medical Information Mart for Intensive Care III(重癥監(jiān)護(hù)醫(yī)學(xué)信息集市III),是由MIT麻省理工學(xué)院下屬管理的一個公共臨床數(shù)據(jù)庫。它包含2001年至2012年在貝斯以色列女執(zhí)事醫(yī)療中心(Beth Israel Deaconess Medical Center)重癥監(jiān)護(hù)病房住院的4萬多名病人的生理信息數(shù)據(jù),例如床旁生命體征(每小時(shí)記錄1次)、檢查結(jié)果、手術(shù)、用藥、監(jiān)護(hù)記錄、影像報(bào)告和死亡情況(包括院內(nèi)和院外)等等。由于它是從傳感器中直接讀取的生理信號數(shù)據(jù),因此在實(shí)驗(yàn)過程中不方便查看和操作,則對于下載的信號數(shù)據(jù)需要通過WFDB工具箱[19-20]進(jìn)行相應(yīng)的處理操作。 2.2.1 均值誤差和均方根誤差 均值誤差(MAE)是指觀測值和預(yù)測值的誤差絕對值和占總樣本數(shù)的平均值,因此MAE可被用來評估觀測值和預(yù)測值之間的平均誤差,并且MAE越小表示該模型的性能越好。MAE的公式為: (17) 其中,N表示血壓樣本的數(shù)量,yi表示血壓的觀測值(SBP或DBP),ypred,i表示血壓的預(yù)測值(SBP或DBP)。 均方根誤差(RMSE)是觀測值與預(yù)測值的誤差平方和比上總樣本數(shù)再取平方根,因此RMSE可被用來評估觀測值與預(yù)測值之間誤差的波動性,并且RMSE值越小表示該模型的性能越好。RMSE的公式為: (18) 其中,N表示血壓樣本的數(shù)量,yi表示血壓的觀測值(SBP或DBP),ypred,i表示血壓的預(yù)測值(SBP或DBP)。 2.2.2 Bland-Altman圖 Bland-Altman圖是通過計(jì)算出兩種測量結(jié)果的一致性界限的一種性能評估方法,同時(shí)可以使用圖形直觀展示這個一致性界限。因此,實(shí)驗(yàn)中可以采用Bland-Altman圖可視化預(yù)測值和觀測值的一致性狀況。 實(shí)驗(yàn)選擇數(shù)據(jù)集的80%作為訓(xùn)練集,20%作為測試集,以及使用網(wǎng)格搜索方法尋找SVR模型的最優(yōu)超參數(shù)組合。表1給出了文中預(yù)測血壓的方法與其他相關(guān)文獻(xiàn)的方法在MAE和RMSE值上的比較結(jié)果。 從表1中可以看出: 表1 文中方法與其他相關(guān)文獻(xiàn)的方法的比較結(jié)果 (1)文中SVR模型的MAE小于文獻(xiàn)[11]的ANN模型的MAE。由于在文獻(xiàn)[11]中,實(shí)驗(yàn)只提取了原始的PPG信號的波形特征。而文中SVR模型除了對于原始的PPG信號提取特征外,還對于PPG信號的一階導(dǎo)數(shù)和二階導(dǎo)數(shù)提取了相應(yīng)的特征。因此SVR模型對于PPG信號提取特征較全面一些,則該模型在預(yù)測血壓的性能上較優(yōu)于ANN模型。 (2)文中SVR模型的MAE和RMSE均小于文獻(xiàn)[12]的SVR模型的MAE和RMSE。在文獻(xiàn)[12]中,實(shí)驗(yàn)只是對原始的PPG信號以及其二階導(dǎo)數(shù)提取特征,然后使用SVR構(gòu)建預(yù)測血壓的模型。而文中還對該信號的一階導(dǎo)數(shù)也提取了特征,因此該模型在性能上較優(yōu)于文獻(xiàn)[12]中的SVR模型。 (3)文獻(xiàn)[17]中GPR模型的MAE比文中SVR模型的MAE小一點(diǎn),其RMSE值則大得多。在文獻(xiàn)[17]中,實(shí)驗(yàn)是采用25 Hz的六階巴特沃斯無限脈沖響應(yīng)零相位濾波器消除PPG信號的噪聲污染。而文中將消除PPG信號噪聲污染分為消除基線漂移和高頻干擾兩個步驟,首先使用巴特沃斯低通濾波器消除該信號的基線漂移,然后使用巴特沃斯高通濾波器消除該信號的高頻干擾。后面消除高頻干擾的操作不僅消除PPG信號本身的高頻噪聲,而且還消除由于前面操作帶來的高頻噪聲,比文獻(xiàn)[17]中消除PPG信號噪聲污染的操作較徹底一點(diǎn)。因此文中SVR模型在性能上較優(yōu)于GPR模型。 圖3 SBP的Bland-Altman圖 圖4 DBP的Bland-Altman圖 綜上所述,從與其他相關(guān)文獻(xiàn)的MAE或RMSE值的對比以及Bland-Altman圖可知,文中SVR模型具有一定的可行性,同時(shí)能夠有效地預(yù)測出人的血壓的SBP和DBP值。因此,該模型能幫助人們及時(shí)了解自身的血壓情況,一旦血壓出現(xiàn)異常情況能夠盡早知曉。 針對血壓預(yù)測問題,該文提出了一種基于SVR的血壓預(yù)測方法,并使用MIMIC III數(shù)據(jù)庫中的PPG和ABP信號數(shù)據(jù)實(shí)驗(yàn)驗(yàn)證了該方法的有效性。實(shí)驗(yàn)結(jié)果表明,基于SVR的血壓預(yù)測方法的MAE和RMSE較小于其他相關(guān)文獻(xiàn)的方法的MAE和RMSE,預(yù)測效果較好。但是,由于數(shù)據(jù)庫數(shù)據(jù)的局限性和設(shè)備有限等因素,該文沒有綜合考慮個人的體征信息(如年齡、性別等),未來將考慮這一方面信息并構(gòu)建更加精確的血壓預(yù)測模型。2 實(shí)驗(yàn)結(jié)果與分析
2.1 數(shù)據(jù)庫介紹
2.2 評價(jià)指標(biāo)
2.3 結(jié)果與分析
3 結(jié)束語