本文研究了 Relief 特征選擇方法在光電容積脈搏波(PPG)中的應用,分析尋找區分心血管疾病的指標,提出了一種輔助心血管疾病診斷的方法。通過收集 40 位志愿者的生理病理信息,并實時采集血壓與指尖 PPG 波形數據,形成樣本數據集。基于 PPG 波形,定義并提取了 52 個特征參數,通過特征選擇 Relief 算法篩選出 10 個核心特征參數,形成最優特征子集,并分析它們對心血管疾病的影響。最后使用分類算法建模,對心血管疾病做出了輔助診斷,k 鄰近算法(kNN)模型對心血管疾病的預測正確率達到 66.67%,支持向量機(SVM)模型對心血管疾病的預測正確率達到 83.33%。結果表明:① 年齡對心血管疾病輔助診斷最為重要;② 最優特征子集元素特征為心血管健康狀況評價與預測提供了重要依據。本研究表明,經 Relief 算法選擇得到的最優特征子集為心血管疾病輔助診斷提供了更高的準確性。
引用本文: 周譚琪, 梁永波, 劉桂勇, 譚少珍, 陳真誠. 基于 Relief 算法的心血管疾病輔助診斷研究. 生物醫學工程學雜志, 2017, 34(4): 535-542. doi: 10.7507/1001-5515.201609070 復制
版權信息: ?四川大學華西醫院華西期刊社《生物醫學工程學雜志》版權所有,未經授權不得轉載、改編
引言
脈搏作為醫學上的四大生命體征之一,由心臟周期搏動引起中央動脈及外周動脈波動而形成。大量臨床試驗研究已證實,脈搏所反映出的形態(波的形狀)、強度(波的幅值)、速率(波的速度)與節律(波的周期)等方面的信息變化能夠作為評價人體心血管系統健康或疾病狀態的關鍵依據[1]。
目前,大多研究都應用光電容積脈搏波(photo-plethysmography,PPG)技術來檢測脈搏波波形,這是一種利用光電的方法在活體組織中無創檢測血管血液容積變化的技術,通過描記檢測部位[2-3](指端、耳垂、下肢等)的光吸量得到血管血液容積隨心臟脈動的周期性變化[4]。PPG 技術已被優化應用于血氧飽和度、血壓、心率和每搏輸出量等生理參數的檢測上,以評估心血管功能和診斷心血管疾病。
就波形而言,Sherebrin 等[5]發現健康青年個體的 PPG 波形呈現陡峭的上升沿,下降沿的潮波及重搏波切跡明顯,而病患衰老個體由于血管壁彈性變差、血管外周阻力增高,上升支出現折角且重搏波趨于消失。Allen 等[6-7]提出了 PPG 形態指標(shape index,SI),研究表明,PPG 波形上的時域參數和形態參數與年齡關聯后,對血管疾病的輔助診斷意義重大。就波形微分情況而言,Takazawa 等[8]對 PPG 波形進行二階微分來研究周圍動脈壓,檢測動脈硬化性疾病,有效評價了心血管系統老化情況。在頻域方面,Elgendi 等[9-10]對 PPG 波形及其一次、二次微分波形的研究表明,PPG 信號中的頻域信息可以作為人體熱應激的評價指標,并以此預測心血管疾病。
但現今研究均屬于間接評估,即以 PPG 上個別特征參數作為紐帶評估其與心血管生理病理上的關聯[11-14],在此基礎上,研究者提出一種由 PPG 波形直接預測心血管系統健康或病患分類的方法。通過收集測試者生理病理信息,經特征選擇方法得到對心血管疾病識別貢獻較大的特征參數,依據血流動力學原理分析各特征參數的產生機制及變化因素,意在實現心血管疾病的輔助診斷。
1 方法
1.1 PPG 技術與 PPG 采集系統
PPG 技術檢測的信息是人體心血管和血液的相互作用在體表的反映。在心臟周期性搏動的作用下,使用光電接收器接收照射到皮膚檢測部位后經透射或反射的光,可得到血管血液容積周期性變化的光強信號,光強信號轉換成的電信號即為 PPG 信號[15-16]。
自行研制的 PPG 采集系統由智能指端感知器和移動設備處理中心 APP 兩大部分組成,智能指端采用透射式光電脈搏傳感器,光發射電路光源選擇 904 nm 波長的紅外發光二極管,光接收電路則選用了低噪聲光敏器件。采集到的 PPG 信號通過數據流輸出控制電路,實現了從指端傳感器到移動設備之間的藍牙通信,實時顯示于移動設備屏幕并存至移動設備 SD 卡,實現了采集、顯示和存儲 PPG 信號數據的功能。圖 1 為智能指端感知器結構圖與實物圖。
 圖1
				智能指端感知器結構圖與實物圖
			
												
				Figure1.
				The perspective structure diagram and actual picture of smart fingertip sensor
						
				圖1
				智能指端感知器結構圖與實物圖
			
												
				Figure1.
				The perspective structure diagram and actual picture of smart fingertip sensor
			
								1.2 實驗和數據采集
為研究 PPG 波形的特征參數,實現通過對 PPG 的分析直接得知人們心血管系統健康與否,本研究設置健康組與病患組作為兩個類別。取 20~89 歲的人群共 60 例,其中健康人群 30 例從居民社區隨機抽取,另心血管病患者 30 例從桂林市人民醫院住院部獲取;其中健康組為近一年體檢結果未發現心血管相關疾病者,病患組為確診高血壓、高血脂、腦梗死等疾病者。由培訓合格的專業人員記錄被測者生理信息、病理信息,并實時采集血壓和 PPG 波。PPG 波形采集使用 2.1 節中自行研制的智能指端感知器,被測者保持 5 min 安靜狀態后,臥姿連續采集三次左手食指指端 PPG 波形,同一測試者的三個樣本數據存儲于移動設備 SD 卡;血壓和心率的測量使用歐姆龍 HEM-7201 上臂式電子血壓計,臥姿測量左上肢血壓值,通過移動設備記錄并保存至 SD 卡中,確保記錄信息與采集數據的一致性。
2 結果
2.1 特征參數獲取以及系統圖形用戶界面
PPG 監測及數據采集系統軟件設計采用功能強大便捷的 MATLAB 8.1 作為開發平臺,設計了人體 PPG 波形可視化解析系統,如圖 2 所示,實現原始 PPG 信號的濾波去噪處理與特征參數的提取、存儲,具有很強的直觀性。
 圖2
				系統圖形用戶界面
			
												
				Figure2.
				Graphic user interface
						
				圖2
				系統圖形用戶界面
			
												
				Figure2.
				Graphic user interface
			
								GUI 界面分為三個部分:右側的功能區,可將保存在 SD 卡中的 PPG 波形數據輸入該解析系統,對 PPG 波形進行顯示、有限脈沖響應(finite impulse response,FIR)濾波去噪、波形微分處理、特征提取以及繪制頻域譜、功率譜、對數譜等操作。中間區域是圖形顯示區,在執行功能區的任一操作后,經處理后的波形在圖形顯示區顯示,上圖為 PPG 的時域圖像,下圖為頻域圖像。左側為特征參數顯示區,上下分別對應 PPG 波形時域和頻域的特征參數,這些特征參數在由功能區參數計算操作后得到,并在參數保存操作后存儲在 PC 機中。參數計算操作以一個周期 PPG 波形為對象,采用數據分割與區間搜索提取算法,定義并選擇其原波形及一、二階波形特征信息,提取了 52 個具代表性的特征參數,如表 1 和圖 3 所示。其中 t、h、r、S、hz 分別表示時間、幅值、比值、面積、頻率參數,O、A、B、C、D、E、M1、M2、P、V、Z 為 PPG 波形上特征點,后綴 pw、one、two 分別表示原波形、一次和二次微分波形,SOB、SOC、SCOnext 為圖 3 中面積 S1、S2、S3。如 hM2_one 表示點 M2 在其一次微分波形上的幅值,r_SOB_Sall 則表示 S1 與 S1、S2、S3 之和的比值。
 表1
                特征參數列表
		 	
		 			 				Table1.
    			List of the 52 features
			
						表1
                特征參數列表
		 	
		 			 				Table1.
    			List of the 52 features
       		
       				 圖3
				PPG 波形上特征參數標注
			
												
				Figure3.
				Illustration of the features on PPG waveform
						
				圖3
				PPG 波形上特征參數標注
			
												
				Figure3.
				Illustration of the features on PPG waveform
			
								2.2 數據預處理
由于 PPG 波形采集和血壓測量的誤差,以及取樣過程的隨機,樣本數據可能會對研究結果產生干擾,造成誤判而影響最終 PPG 波形與心血管系統情況相關性的準確度。對此,本研究采用箱形圖(box plot)判斷 PPG 波形特征參數樣本中的異常值存在情況。
箱形圖提供了一種識別異常值的方法,無論樣本數據服從正態分布與否均適用。考慮到 PPG 波形數據樣本量小,本研究中異常值的處理原則為:剔除極端異常值,保留溫和異常值。使用 MATLAB 8.1 繪制從 PPG 波形中提取的 60 個樣本、52 個特征參數的箱形圖。由于健康人群和心血管病患人群特征參數差異可能較大,因此分為 兩組分別進行剔除。健康組中,原波形幅值參數的異常值現象明顯,根據樣本確定第 1、3 號樣本屬于異常數據,經剔除后,健康組樣本中無異常值。心血管病患組中,頻率參數的異常值現象明顯,根據樣本確定第 19、21 號樣本屬于異常數據,經剔除后,心血管病患組樣本中無異常值,如圖 4 所示。
 圖4
				健康組幅值參數與病患組頻率參數剔除處理前后箱形圖
			
												
				Figure4.
				Boxplot of healthy group’s amplitude features and risky group’s frequency features before and after exclusion
						
				圖4
				健康組幅值參數與病患組頻率參數剔除處理前后箱形圖
			
												
				Figure4.
				Boxplot of healthy group’s amplitude features and risky group’s frequency features before and after exclusion
			
								經篩選后,健康組與心血管病患組的樣本總量都為 28。表 2 為篩選后樣本年齡、血壓、心率的統計信息。另外,在已有數據集的基礎上,本實驗的數據新增工作已形成規范完善的數據選擇標準,對于健康狀況未知來源的新數據,采用算數平均值平滑處理。平滑處理在科學研究中廣泛使用,可從一定程度上減小統計誤差帶來的影響,對于某樣本某特征參數上的“噪聲值”,將其他所有非異常樣本該特征參數值求平均,稱為“平滑均值”,替代“噪聲值”;對于某樣本多特征參數(5 個以上)上的“噪聲值”,認為其屬于誤差值,采取剔除的方式,統一記錄為后續研究備用。
 表2
                被測試者基本信息統計
		 	
		 			 				Table2.
    			Basic statistical information of the volunteers
			
						表2
                被測試者基本信息統計
		 	
		 			 				Table2.
    			Basic statistical information of the volunteers
       		
       				2.3 Relief 特征選擇
為進一步找出區分健康測試者和心血管疾病測試者更有用的特征參數、降低冗余信息干擾、提高輔助診斷準確性,本研究采用 Relief 算法對特征進行選擇。Relief 算法由 Kira 提出,是目前最為有效的過濾式特征選擇方法之一。該算法的要點依據特征和類別的相關性賦給特征不同的權重,同時剔除權重小于某個閾值的特征[17]。本研究將 52 個特征參數和年齡參數按照權重由大到小排序,找到區分健康測試者和心血管疾病測試者最重要的前 10 個特征參數。Relief 算法流程如圖 5 所示。
 圖5
				Relief 算法流程圖
			
												
				Figure5.
				Flow chart of Relief algorithm
						
				圖5
				Relief 算法流程圖
			
												
				Figure5.
				Flow chart of Relief algorithm
			
								本文 Relief 算法使用 MATLAB 實現,隨機選取樣本 50 個,最近鄰樣本個數取 10,不設置閾值。因年齡和血管疾病的關系密切,年齡越大發生血管疾病的概率越大,故在 PPG 波形 52 個特征參數的基礎上,加上年齡參數,構成了含 53 個特征參數的樣本集,按照特征權重由大到小,取對心血管疾病分類最有利的前 10 個特征參數,即最優特征子集。另外,在程序執行過程中,由于 50 個樣本是從 56 個總樣本中隨機選取,會導致每次運行得到的特征權重計算略有偏差,因此將程序運行 20 次,計算特征權重的平均值而作為最終結果。MATLAB 運行 20 次 Relief 算法,得到 53 個特征參數的平均權重柱形圖如圖 6 所示,橫坐標表示 53 個特征參數,縱坐標表示該特征參數的權重,垂直矩形越高表示特征權重越大,對應該特征參數對判斷心血管健康或疾病的類別越為重要,特征權重為負值則表示該特征參數對判斷心血管健康或疾病是無益的。可見特征參數 age(年齡)的特征權重超過 0.1,是所有特征參數中的權重最大值,特征權重前 10 的特征參數統計見表 3。
 圖6
				Relief 算法計算年齡和 PPG 波形特征參數權重
			
												
				Figure6.
				The feature weight of age and the other 52 features calculated by Relief algorithm on PPG waveform
						
				圖6
				Relief 算法計算年齡和 PPG 波形特征參數權重
			
												
				Figure6.
				The feature weight of age and the other 52 features calculated by Relief algorithm on PPG waveform
			
								 表3
                特征權重平均值排名表
		 	
		 			 				Table3.
    			Ranking of the average feature weight
			
						表3
                特征權重平均值排名表
		 	
		 			 				Table3.
    			Ranking of the average feature weight
       		
       				2.4 分類結果
上述分析通過 Relief 算法得到了 PPG 波上特征參數和年齡的特征權重,并得出了最有利于將樣本按心血管健康或心血管病患分類的最優特征子集。通過 k 鄰近算法(k-nearest neighbor,kNN)和支持向量機(support vector machine,SVM)兩種算法對心血管健康或病患進行分類識別,對具有所有特征參數(53 個)和最優特征(10 個)的數據樣本進行訓練和測試,并比較二者的優劣之處。
kNN 算法是一種常用的監督學習方法,其核心思想是,若樣本在特征空間中最相鄰的 k 個樣本大多數屬于某一個類別,則將該樣本劃分到這個類別。k 值取 10,距離選擇歐氏距離;MATLAB 平臺使用 kNN 分類時,訓練樣本量均為 38,測試樣本量均為 18。SVM 是近年機器學習的主流技術,其本質是構造超平面將測試樣本分類。SVM 能夠將向量映射到更高維的空間,使超平面在高維空間中實現最大間隔,更有效地將在低維空間無法區分的數據區分開來[18-19]。本研究 SVM 類型選擇 C_SVC,核函數選擇 RBF 核,使用 LIBSVM 實現;同樣地,訓練樣本量均為 38,測試樣本量均為 18。
上述兩個分類模型的預測正確率如表 4 所示。再選用 ROC 曲線為金標準作為參考,更直觀地評價 kNN 和 SVM 算法泛化性能的好壞。ROC 曲線是廣泛應用于評價診斷效能的統計方法,以分類算法結果的假陽性率為橫軸、真陽性率為縱軸,曲線越凸越靠近點(0,1)表示分類算法的診斷準確性越高[20]。圖 7 中,藍綠紅分別表示在 52 個特征參數(除年齡)、53 個特征參數、最優特征子集情況下的 ROC 曲線,實線、虛線分別表示 SVM、kNN 分類器的結果。可見,紅實線比紅虛線更接近點(0,1),表示選用最優特征子集進行分類時,分類器 SVM 比分類器 kNN 的性能更優。
 表4
                分類模型正確率預測
		 	
		 			 				Table4.
    			The prediction accuracy of classification model
			
						表4
                分類模型正確率預測
		 	
		 			 				Table4.
    			The prediction accuracy of classification model
       		
       				 圖7
				分類模型 kNN 與 SVM 的 ROC 曲線
			
												
				Figure7.
				The ROC curves of classification model kNN and SVM
						
				圖7
				分類模型 kNN 與 SVM 的 ROC 曲線
			
												
				Figure7.
				The ROC curves of classification model kNN and SVM
			
								3 討論
由表 3 和圖 6 可知,特征參數 age 的特征權重最大,說明在健康病患組的區分和心血管系統健康的判別上,年齡是最主要的影響因素。其次是 tP,點 P 位置對應 PPG 波形二次微分波形的最高點,可以理解為心臟射血加速度時間,該值能夠有效評價心臟泵血功能的速度和強度,對心血管系統健康狀況的判斷貢獻較大。S_OB 是 PPG 波形收縮期面積,是收縮期脈壓在時間上的積分,即收縮期血管容量,與心室每搏輸出量呈一定相關性,比如血管外周阻力較低、血管壁彈性較好的個體 PPG 波形上升支陡斜、光滑且無折角,重搏波明顯,S_OB 值偏大。綜觀 10 個最優特征子集元素,P 點對評價心血管系統的意義重大,點 B 和 M1M2 源于收縮期,也體現著心血管系統的狀況。最后的 PPG 波形周期 T 即心率,也是心血管系統在 PPG 上的反饋。其余特征參數的平均特征權重雖小于 0.02,但仍對判別心血管疾病有著影響,后續工作中值得研究。
由表 4 可知,對于年齡參數以及 PPG 波形上的 52 個特征參數,kNN 模型和 SVM 模型的識別正確率分別為 61.11% 和 72.22%,已能從一定程度上說明其對預測心血管是否健康具有可靠性。對比僅取 PPG 波形上的 52 個特征參數建模預測得到的正確率 55.56% 和 61.11%,說明年齡這一因素對心血管狀況的分類有著極重要的影響,這一結果與 Relief 算法得到的結果相一致,即年齡的特征權重對心血管狀況的分類最為有利。而經過 Relief 算法選擇特征參數之后的 kNN 和 SVM 模型識別正確率分別是 66.67% 和 83.33%,可見 Relief 算法成功剔除了對心血管健康或病患分類冗余或干擾的特征,提高了分類的準確性,提高了輔助診斷模型的穩定性。同時通過圖 7 可知,在本研究中 SVM 在 52 個特征參數(除年齡)、53 個特征參數、最優特征子集三種情況下均比 kNN 具有更高的分類性能。
4 結論
本文結合血流動力學與血液流變學提出了一種 PPG 波形特征定義與篩選以及輔助心血管疾病診斷的方法。運用 Relief 算法分析各個特征參數和年齡參數對心血管情況的識別可能存在的影響,進一步找到更能有效區分心血管健康或病患的特征參數,降低無關特征干擾,提高分類的準確性。值得注意的是,年齡、PPG 波的加速度最大值點對心血管疾病的判定有著重要的影響。本研究表明,經 Relief 算法選擇得到的最優特征子集為心血管疾病輔助診斷提供了更高的準確性。
盡管分類結果顯示了基于 PPG 波形的心血管疾病識別的可實現性,但本研究仍有可以改進的空間。在未來的工作中,研究會從樣本獲取的數量和精確度、特征參數的重構、分類模型的優化等方面做到進一步的完善,為準確評價心血管系統的健康狀況奠定基礎。
引言
脈搏作為醫學上的四大生命體征之一,由心臟周期搏動引起中央動脈及外周動脈波動而形成。大量臨床試驗研究已證實,脈搏所反映出的形態(波的形狀)、強度(波的幅值)、速率(波的速度)與節律(波的周期)等方面的信息變化能夠作為評價人體心血管系統健康或疾病狀態的關鍵依據[1]。
目前,大多研究都應用光電容積脈搏波(photo-plethysmography,PPG)技術來檢測脈搏波波形,這是一種利用光電的方法在活體組織中無創檢測血管血液容積變化的技術,通過描記檢測部位[2-3](指端、耳垂、下肢等)的光吸量得到血管血液容積隨心臟脈動的周期性變化[4]。PPG 技術已被優化應用于血氧飽和度、血壓、心率和每搏輸出量等生理參數的檢測上,以評估心血管功能和診斷心血管疾病。
就波形而言,Sherebrin 等[5]發現健康青年個體的 PPG 波形呈現陡峭的上升沿,下降沿的潮波及重搏波切跡明顯,而病患衰老個體由于血管壁彈性變差、血管外周阻力增高,上升支出現折角且重搏波趨于消失。Allen 等[6-7]提出了 PPG 形態指標(shape index,SI),研究表明,PPG 波形上的時域參數和形態參數與年齡關聯后,對血管疾病的輔助診斷意義重大。就波形微分情況而言,Takazawa 等[8]對 PPG 波形進行二階微分來研究周圍動脈壓,檢測動脈硬化性疾病,有效評價了心血管系統老化情況。在頻域方面,Elgendi 等[9-10]對 PPG 波形及其一次、二次微分波形的研究表明,PPG 信號中的頻域信息可以作為人體熱應激的評價指標,并以此預測心血管疾病。
但現今研究均屬于間接評估,即以 PPG 上個別特征參數作為紐帶評估其與心血管生理病理上的關聯[11-14],在此基礎上,研究者提出一種由 PPG 波形直接預測心血管系統健康或病患分類的方法。通過收集測試者生理病理信息,經特征選擇方法得到對心血管疾病識別貢獻較大的特征參數,依據血流動力學原理分析各特征參數的產生機制及變化因素,意在實現心血管疾病的輔助診斷。
1 方法
1.1 PPG 技術與 PPG 采集系統
PPG 技術檢測的信息是人體心血管和血液的相互作用在體表的反映。在心臟周期性搏動的作用下,使用光電接收器接收照射到皮膚檢測部位后經透射或反射的光,可得到血管血液容積周期性變化的光強信號,光強信號轉換成的電信號即為 PPG 信號[15-16]。
自行研制的 PPG 采集系統由智能指端感知器和移動設備處理中心 APP 兩大部分組成,智能指端采用透射式光電脈搏傳感器,光發射電路光源選擇 904 nm 波長的紅外發光二極管,光接收電路則選用了低噪聲光敏器件。采集到的 PPG 信號通過數據流輸出控制電路,實現了從指端傳感器到移動設備之間的藍牙通信,實時顯示于移動設備屏幕并存至移動設備 SD 卡,實現了采集、顯示和存儲 PPG 信號數據的功能。圖 1 為智能指端感知器結構圖與實物圖。
 圖1
				智能指端感知器結構圖與實物圖
			
												
				Figure1.
				The perspective structure diagram and actual picture of smart fingertip sensor
						
				圖1
				智能指端感知器結構圖與實物圖
			
												
				Figure1.
				The perspective structure diagram and actual picture of smart fingertip sensor
			
								1.2 實驗和數據采集
為研究 PPG 波形的特征參數,實現通過對 PPG 的分析直接得知人們心血管系統健康與否,本研究設置健康組與病患組作為兩個類別。取 20~89 歲的人群共 60 例,其中健康人群 30 例從居民社區隨機抽取,另心血管病患者 30 例從桂林市人民醫院住院部獲取;其中健康組為近一年體檢結果未發現心血管相關疾病者,病患組為確診高血壓、高血脂、腦梗死等疾病者。由培訓合格的專業人員記錄被測者生理信息、病理信息,并實時采集血壓和 PPG 波。PPG 波形采集使用 2.1 節中自行研制的智能指端感知器,被測者保持 5 min 安靜狀態后,臥姿連續采集三次左手食指指端 PPG 波形,同一測試者的三個樣本數據存儲于移動設備 SD 卡;血壓和心率的測量使用歐姆龍 HEM-7201 上臂式電子血壓計,臥姿測量左上肢血壓值,通過移動設備記錄并保存至 SD 卡中,確保記錄信息與采集數據的一致性。
2 結果
2.1 特征參數獲取以及系統圖形用戶界面
PPG 監測及數據采集系統軟件設計采用功能強大便捷的 MATLAB 8.1 作為開發平臺,設計了人體 PPG 波形可視化解析系統,如圖 2 所示,實現原始 PPG 信號的濾波去噪處理與特征參數的提取、存儲,具有很強的直觀性。
 圖2
				系統圖形用戶界面
			
												
				Figure2.
				Graphic user interface
						
				圖2
				系統圖形用戶界面
			
												
				Figure2.
				Graphic user interface
			
								GUI 界面分為三個部分:右側的功能區,可將保存在 SD 卡中的 PPG 波形數據輸入該解析系統,對 PPG 波形進行顯示、有限脈沖響應(finite impulse response,FIR)濾波去噪、波形微分處理、特征提取以及繪制頻域譜、功率譜、對數譜等操作。中間區域是圖形顯示區,在執行功能區的任一操作后,經處理后的波形在圖形顯示區顯示,上圖為 PPG 的時域圖像,下圖為頻域圖像。左側為特征參數顯示區,上下分別對應 PPG 波形時域和頻域的特征參數,這些特征參數在由功能區參數計算操作后得到,并在參數保存操作后存儲在 PC 機中。參數計算操作以一個周期 PPG 波形為對象,采用數據分割與區間搜索提取算法,定義并選擇其原波形及一、二階波形特征信息,提取了 52 個具代表性的特征參數,如表 1 和圖 3 所示。其中 t、h、r、S、hz 分別表示時間、幅值、比值、面積、頻率參數,O、A、B、C、D、E、M1、M2、P、V、Z 為 PPG 波形上特征點,后綴 pw、one、two 分別表示原波形、一次和二次微分波形,SOB、SOC、SCOnext 為圖 3 中面積 S1、S2、S3。如 hM2_one 表示點 M2 在其一次微分波形上的幅值,r_SOB_Sall 則表示 S1 與 S1、S2、S3 之和的比值。
 表1
                特征參數列表
		 	
		 			 				Table1.
    			List of the 52 features
			
						表1
                特征參數列表
		 	
		 			 				Table1.
    			List of the 52 features
       		
       				 圖3
				PPG 波形上特征參數標注
			
												
				Figure3.
				Illustration of the features on PPG waveform
						
				圖3
				PPG 波形上特征參數標注
			
												
				Figure3.
				Illustration of the features on PPG waveform
			
								2.2 數據預處理
由于 PPG 波形采集和血壓測量的誤差,以及取樣過程的隨機,樣本數據可能會對研究結果產生干擾,造成誤判而影響最終 PPG 波形與心血管系統情況相關性的準確度。對此,本研究采用箱形圖(box plot)判斷 PPG 波形特征參數樣本中的異常值存在情況。
箱形圖提供了一種識別異常值的方法,無論樣本數據服從正態分布與否均適用。考慮到 PPG 波形數據樣本量小,本研究中異常值的處理原則為:剔除極端異常值,保留溫和異常值。使用 MATLAB 8.1 繪制從 PPG 波形中提取的 60 個樣本、52 個特征參數的箱形圖。由于健康人群和心血管病患人群特征參數差異可能較大,因此分為 兩組分別進行剔除。健康組中,原波形幅值參數的異常值現象明顯,根據樣本確定第 1、3 號樣本屬于異常數據,經剔除后,健康組樣本中無異常值。心血管病患組中,頻率參數的異常值現象明顯,根據樣本確定第 19、21 號樣本屬于異常數據,經剔除后,心血管病患組樣本中無異常值,如圖 4 所示。
 圖4
				健康組幅值參數與病患組頻率參數剔除處理前后箱形圖
			
												
				Figure4.
				Boxplot of healthy group’s amplitude features and risky group’s frequency features before and after exclusion
						
				圖4
				健康組幅值參數與病患組頻率參數剔除處理前后箱形圖
			
												
				Figure4.
				Boxplot of healthy group’s amplitude features and risky group’s frequency features before and after exclusion
			
								經篩選后,健康組與心血管病患組的樣本總量都為 28。表 2 為篩選后樣本年齡、血壓、心率的統計信息。另外,在已有數據集的基礎上,本實驗的數據新增工作已形成規范完善的數據選擇標準,對于健康狀況未知來源的新數據,采用算數平均值平滑處理。平滑處理在科學研究中廣泛使用,可從一定程度上減小統計誤差帶來的影響,對于某樣本某特征參數上的“噪聲值”,將其他所有非異常樣本該特征參數值求平均,稱為“平滑均值”,替代“噪聲值”;對于某樣本多特征參數(5 個以上)上的“噪聲值”,認為其屬于誤差值,采取剔除的方式,統一記錄為后續研究備用。
 表2
                被測試者基本信息統計
		 	
		 			 				Table2.
    			Basic statistical information of the volunteers
			
						表2
                被測試者基本信息統計
		 	
		 			 				Table2.
    			Basic statistical information of the volunteers
       		
       				2.3 Relief 特征選擇
為進一步找出區分健康測試者和心血管疾病測試者更有用的特征參數、降低冗余信息干擾、提高輔助診斷準確性,本研究采用 Relief 算法對特征進行選擇。Relief 算法由 Kira 提出,是目前最為有效的過濾式特征選擇方法之一。該算法的要點依據特征和類別的相關性賦給特征不同的權重,同時剔除權重小于某個閾值的特征[17]。本研究將 52 個特征參數和年齡參數按照權重由大到小排序,找到區分健康測試者和心血管疾病測試者最重要的前 10 個特征參數。Relief 算法流程如圖 5 所示。
 圖5
				Relief 算法流程圖
			
												
				Figure5.
				Flow chart of Relief algorithm
						
				圖5
				Relief 算法流程圖
			
												
				Figure5.
				Flow chart of Relief algorithm
			
								本文 Relief 算法使用 MATLAB 實現,隨機選取樣本 50 個,最近鄰樣本個數取 10,不設置閾值。因年齡和血管疾病的關系密切,年齡越大發生血管疾病的概率越大,故在 PPG 波形 52 個特征參數的基礎上,加上年齡參數,構成了含 53 個特征參數的樣本集,按照特征權重由大到小,取對心血管疾病分類最有利的前 10 個特征參數,即最優特征子集。另外,在程序執行過程中,由于 50 個樣本是從 56 個總樣本中隨機選取,會導致每次運行得到的特征權重計算略有偏差,因此將程序運行 20 次,計算特征權重的平均值而作為最終結果。MATLAB 運行 20 次 Relief 算法,得到 53 個特征參數的平均權重柱形圖如圖 6 所示,橫坐標表示 53 個特征參數,縱坐標表示該特征參數的權重,垂直矩形越高表示特征權重越大,對應該特征參數對判斷心血管健康或疾病的類別越為重要,特征權重為負值則表示該特征參數對判斷心血管健康或疾病是無益的。可見特征參數 age(年齡)的特征權重超過 0.1,是所有特征參數中的權重最大值,特征權重前 10 的特征參數統計見表 3。
 圖6
				Relief 算法計算年齡和 PPG 波形特征參數權重
			
												
				Figure6.
				The feature weight of age and the other 52 features calculated by Relief algorithm on PPG waveform
						
				圖6
				Relief 算法計算年齡和 PPG 波形特征參數權重
			
												
				Figure6.
				The feature weight of age and the other 52 features calculated by Relief algorithm on PPG waveform
			
								 表3
                特征權重平均值排名表
		 	
		 			 				Table3.
    			Ranking of the average feature weight
			
						表3
                特征權重平均值排名表
		 	
		 			 				Table3.
    			Ranking of the average feature weight
       		
       				2.4 分類結果
上述分析通過 Relief 算法得到了 PPG 波上特征參數和年齡的特征權重,并得出了最有利于將樣本按心血管健康或心血管病患分類的最優特征子集。通過 k 鄰近算法(k-nearest neighbor,kNN)和支持向量機(support vector machine,SVM)兩種算法對心血管健康或病患進行分類識別,對具有所有特征參數(53 個)和最優特征(10 個)的數據樣本進行訓練和測試,并比較二者的優劣之處。
kNN 算法是一種常用的監督學習方法,其核心思想是,若樣本在特征空間中最相鄰的 k 個樣本大多數屬于某一個類別,則將該樣本劃分到這個類別。k 值取 10,距離選擇歐氏距離;MATLAB 平臺使用 kNN 分類時,訓練樣本量均為 38,測試樣本量均為 18。SVM 是近年機器學習的主流技術,其本質是構造超平面將測試樣本分類。SVM 能夠將向量映射到更高維的空間,使超平面在高維空間中實現最大間隔,更有效地將在低維空間無法區分的數據區分開來[18-19]。本研究 SVM 類型選擇 C_SVC,核函數選擇 RBF 核,使用 LIBSVM 實現;同樣地,訓練樣本量均為 38,測試樣本量均為 18。
上述兩個分類模型的預測正確率如表 4 所示。再選用 ROC 曲線為金標準作為參考,更直觀地評價 kNN 和 SVM 算法泛化性能的好壞。ROC 曲線是廣泛應用于評價診斷效能的統計方法,以分類算法結果的假陽性率為橫軸、真陽性率為縱軸,曲線越凸越靠近點(0,1)表示分類算法的診斷準確性越高[20]。圖 7 中,藍綠紅分別表示在 52 個特征參數(除年齡)、53 個特征參數、最優特征子集情況下的 ROC 曲線,實線、虛線分別表示 SVM、kNN 分類器的結果。可見,紅實線比紅虛線更接近點(0,1),表示選用最優特征子集進行分類時,分類器 SVM 比分類器 kNN 的性能更優。
 表4
                分類模型正確率預測
		 	
		 			 				Table4.
    			The prediction accuracy of classification model
			
						表4
                分類模型正確率預測
		 	
		 			 				Table4.
    			The prediction accuracy of classification model
       		
       				 圖7
				分類模型 kNN 與 SVM 的 ROC 曲線
			
												
				Figure7.
				The ROC curves of classification model kNN and SVM
						
				圖7
				分類模型 kNN 與 SVM 的 ROC 曲線
			
												
				Figure7.
				The ROC curves of classification model kNN and SVM
			
								3 討論
由表 3 和圖 6 可知,特征參數 age 的特征權重最大,說明在健康病患組的區分和心血管系統健康的判別上,年齡是最主要的影響因素。其次是 tP,點 P 位置對應 PPG 波形二次微分波形的最高點,可以理解為心臟射血加速度時間,該值能夠有效評價心臟泵血功能的速度和強度,對心血管系統健康狀況的判斷貢獻較大。S_OB 是 PPG 波形收縮期面積,是收縮期脈壓在時間上的積分,即收縮期血管容量,與心室每搏輸出量呈一定相關性,比如血管外周阻力較低、血管壁彈性較好的個體 PPG 波形上升支陡斜、光滑且無折角,重搏波明顯,S_OB 值偏大。綜觀 10 個最優特征子集元素,P 點對評價心血管系統的意義重大,點 B 和 M1M2 源于收縮期,也體現著心血管系統的狀況。最后的 PPG 波形周期 T 即心率,也是心血管系統在 PPG 上的反饋。其余特征參數的平均特征權重雖小于 0.02,但仍對判別心血管疾病有著影響,后續工作中值得研究。
由表 4 可知,對于年齡參數以及 PPG 波形上的 52 個特征參數,kNN 模型和 SVM 模型的識別正確率分別為 61.11% 和 72.22%,已能從一定程度上說明其對預測心血管是否健康具有可靠性。對比僅取 PPG 波形上的 52 個特征參數建模預測得到的正確率 55.56% 和 61.11%,說明年齡這一因素對心血管狀況的分類有著極重要的影響,這一結果與 Relief 算法得到的結果相一致,即年齡的特征權重對心血管狀況的分類最為有利。而經過 Relief 算法選擇特征參數之后的 kNN 和 SVM 模型識別正確率分別是 66.67% 和 83.33%,可見 Relief 算法成功剔除了對心血管健康或病患分類冗余或干擾的特征,提高了分類的準確性,提高了輔助診斷模型的穩定性。同時通過圖 7 可知,在本研究中 SVM 在 52 個特征參數(除年齡)、53 個特征參數、最優特征子集三種情況下均比 kNN 具有更高的分類性能。
4 結論
本文結合血流動力學與血液流變學提出了一種 PPG 波形特征定義與篩選以及輔助心血管疾病診斷的方法。運用 Relief 算法分析各個特征參數和年齡參數對心血管情況的識別可能存在的影響,進一步找到更能有效區分心血管健康或病患的特征參數,降低無關特征干擾,提高分類的準確性。值得注意的是,年齡、PPG 波的加速度最大值點對心血管疾病的判定有著重要的影響。本研究表明,經 Relief 算法選擇得到的最優特征子集為心血管疾病輔助診斷提供了更高的準確性。
盡管分類結果顯示了基于 PPG 波形的心血管疾病識別的可實現性,但本研究仍有可以改進的空間。在未來的工作中,研究會從樣本獲取的數量和精確度、特征參數的重構、分類模型的優化等方面做到進一步的完善,為準確評價心血管系統的健康狀況奠定基礎。
 
        

 
                 
				 
																   	
                                                                    
                                                                    
																	 
																   	
                                                                    
                                                                    
																	 
                                                                    
                                                                        
                                                                        
                                                                         
																   	
                                                                    
                                                                    
																	 
																   	
                                                                    
                                                                    
																	 
																   	
                                                                    
                                                                    
																	 
																   	
                                                                    
                                                                    
																	