基于光电容积脉搏波和机器学习方法的血压预测系统研究
2020-07-03谭志坚许煜聪
谭志坚,许煜聪
广州医科大学附属第一医院设备科 (广东广州 510120)
血压是心脏一次收缩搏动所产生的压力,是推动血液在人体心血管系统中传输的动力[1],不仅可用于表征人体的健康程度,而且可作为临床医师对病情判断的重要参数[2]。目前,许多疾病的发病(如心血管、肥胖等)与血压的变化有关[3],且死亡患者中有超过1/2的人群直接或间接与高血压和心血管疾病有关。我国高血压相关疾病的发病率较高,且呈不断增长的趋势[4]。
对于血压异常引起的疾病,预防是最有效的干预手段。以往用途较广的袖带式血压计需要专业的医护人员操作,存在一定的局限性,因此,研究新的血压预测方法非常必要。近年来,通过光电容积脉搏波(photo plethysmo graphy,PPG)[5]提取并预测血压数值的研究越来越多,我们可以从中提取某些特定的信息并建立血压测量模型,从而提高血压的监测精度和相关疾病的预防力度,现基于光电容积脉搏波和机器学习方法研究血压预测系统。
1 计算方法的原理
1.1 数据的获取及处理
本研究主要介绍训练离线模型时所用的昆士兰大学生命科学开源数据库[5]、数据提取方法、缺失值甄别和信号去噪手段。研究所使用的数据库主要来源于32名志愿者的PPG、心电信号和呼吸等生命体征信号,所有数据的采样率均为100 Hz,并以CSV 尾缀保存,在获得原始数据后,立即进行预处理,通常预处理主要包括补偿数据测量的缺失及消除自身的噪声。如图1,数据库中的原始数据在实际测量中因受环境、志愿者体位等因素影响造成部分片段缺失,而缺失的部分造成PPG 波形的严重失真,CSV 文件中该时间点的数据将自动标注为空值,在提取该文件时,标注的空值将为零,因此,在后续的分析中,我们将删除此部分数据,若出现PPG 数据缺失的情况,我们亦会删除该部分数据,保证数据的质量。
图1 从原始数据库提取的血压(上)和PPG 波形(下)
PPG 信号包含工频干扰、基线漂移等各种噪声[6]。信号在实际获取的过程中可能受不同因素的干扰,频率为0.5~4.0 Hz,而噪声信号的频率主要为>0.5 Hz 的范围[7]。文献[8]从多个参数(如运算时长、信噪比和变异程度)比较了多种方法,本研究将采用形态学滤波方法,该方法运算快,拥有较好的信噪比和稳定性,且无需使用乘法器,可节省资源。
1.2 血压预测的特征工程
我们在去除原始信号的噪声后,需提取PPG 信号的特征。PPG 信号包含许多特征,但这些特征的有效性仍需被证实[9-11],本研究选取提取的57个特征,其中有些已被验证有效,有些则是根据物理性质来获取。
理论上,所有的特征都可被用于训练模型,但会导致系统负担过重,信息冗余,且会出现拟合过度的情况;在特征选择上,通常可以采用嵌入式法、过滤法和封装法,由于本研究采用最小二乘支持向量机(least squares support vector machine,LSSVM)建立模型,所以在特征选择上将采用过滤法。
不同的特征具有不同的量纲,导致其需要被归一化才可进一步操作。归一化分为标准差归一化、线性归一化和非线性归一化,其中,标准差归一化对平均值和标准差较为敏感,容易引起偏差;线性归一化对特征序列的离群点比较敏感,因此归一化后整成点所在范围会被压缩;非线性归一化虽增加了系统负担,但本研究提出一种四分位值的归一化方法(图2),这种算法来源于文献[12]中提出的去除方法。
图2 基于四分位值的箱线图离群点去除方法
如图2,该方法首先对特征值序列f 排序,然后找到其1/4与3/4位值Q1和Q2,规定该特征序列的正常值范围是[Q1-a(Q2-Q1),Q2+b(Q2-Q1)],a 和b 可以根据数据分布情况自行设定。本研究中,公式1 LB(f)和UB(f)分布设定为Q1-2(Q2-Q1)和Q1+2(Q2-Q1),式中f 为特征序列,UB 为归一化上限,LB 为归一化下限:
1.3 血压预测的模型离线训练
目前,较为常用的支持向量机有多种,本研究使用LSSVM[13],从PPG波形中获取特征[x1,x2,……,xp],在第i个PPG 波形周期内相应的血压数值为yi,假设yi和xi=[xi1,xi2,……,xip]呈现线性关系,如公式2:
其中,b 为常数项,ei是预测值和实际值的误差,由于本研究共收集了n 个PPG 波形,所以可得出n 个相似方程,并以矩阵方式表达[14],如公式3:
其中y =[y1,y2,……,yn],x=[x1,x2,……,xn],e=[e1,e2,……,en]。本研究的目标之一在于获得一个超平面使得e 的方差最小,如下模型可被建立[14],如公式4:
其中,θθT,正则化选项,防止出现过拟合现象;γ,即γ ≥0为正则化惩罚因子。
拉格朗日乘子,有公式5:
求解拉格朗日对偶问题,得公式6:
继续推导,求出a,b:
其中,1v,全1列矩阵[11,12,……,1n]T;a,支持向量权重列矩阵[a1,a2,……,an]T;M,n 阶Mercer 矩阵;Mk1, k(xk,x1),k(x)为所选核函数。
从公式6和公式7可得出解(a,b),并可作出拟合方程:
如上所述,LSSVM 的求解过程只需一系列的线性方程组,更加高效[14],所以本研究选择LSSVM 拟合模型。
2 样机的设计
本研究所开发的样机采用的是德州仪器公司的超低耗DSP 平台TMS320C5517,在该平台上可集成并实现PPG 信号的采集、滤波和特征提取等功能。TMS320C5517是一款采用哈佛结构的DSP 芯片,由于其供电电压最高仅为1.35 V,所以功耗低,非常适用于可穿戴医疗设备;光电传感器采用的是NELLCOR 指套式探头,该探头密闭性较好,可最大限度地避免外部光照的干扰,且穿戴舒适,适合长时间采样实验,对应的驱动电路用于发射和接收红光和红外光;滤波电路选用二阶巴特沃兹低通滤波器,并将中心频率设置为≤3.5 Hz。
图3是样机的系统设计结构图,PPG 传感器采集到手指端的PPG信号后,将模拟信号输入DSP的ADC 转化模块中,并完成对数字信号的采样量化、滤波和特征提取、决策计算等处理,然后将计算出的血压信号和PPG 波形发送至后台工作站进行下一步处理,即在ADC 中设定合适的采样频率后,PPG 传感器随即开始采集信号,然后提取PPG 信号的相应特征。
考虑到节约计算资源,本研究采用计算负责度较低的特征选择方法,筛选出特征后,再按照四分位点的方式进行特征归一化操作,利用特征对LSSVM 预测模型进行训练,最后将PPG 波形和得到的血压值发送到工作站中,并显示。
图3 血压测量样机的框架
3 结果
本研究提取的特征点分布如图4,较容易得出,收缩压(systolic blood pressure,SBP)、舒张压(diastolic blood pressure,DBP)和平均血压(mean blood pressure,MBP)的范围分别为70~180、20~105、30~120 mmHg(1 mmHg=0.133 kPa)。
图4 SBP、DBP 和MBP 的分布图
我们将每5个特征点归为一帧,前4个放入训练集,第5个放入测试集。PPG 和血压信号的特征点在时间上区别较小,因此,训练集和测试集的标签变量有同样的概率分布。本研究为选取的11个特征集合建立起训练模型,其中SBP对应的特征集合为[f1,f3,f6~f11,f13,f14,f17],DBP对应的特征集合为 [f2,f4,f5,f9~f14,f16,f18],MBP对应的特征集合为[f4~f6,f9~f15,f17]。此外,本研究设立了另外两组对照实验进一步验证特征选择的有效性,第1组对照实验使用18个特征分别为SBP、DBP 和MBP 训练预测模型,然后获得测试结果;第2组对照实验则使用了所有(57个)被提取的特征建立模型。3组的实验结果见表1,其中MAE表示测试误差的平均绝对误差(mean absolute error),STD 表示测试误差的标准差(standard deviation)。
表1 不同特征组合下测试集预测误差的表现(mmHg,MAE±STD)
图5为在模型的测试集上的Bland-Altman 图,横坐标为预测值和标准测量值的平均值,纵坐标为两者之差,且图中拟合出了2条直线,说明本研究计算的结果与实际测量结果较接近,且体现出了误差分布情况。
图5 SBP、DBP 和MBP 预测残差的Bland-Altman 图
4 小结
本研究基于PPG 提出了血压的计算方法并研发了样机,结果表明,得到的血压值与常规的袖带血压计检测出的血压值具有很好的一致性,计算准确,且样机操作简单,无烦琐步骤,提升了开发和检测的效率。但是,系统在后续的使用中发现了不足:(1)测量过程中呼吸和体动带来的干扰,将直接增大误差;(2)样本量不足,限制了模型计算的准确度及适用范围。