陈剑虹, 任军怡, 杨 佳, 郭亚亚, 乔卫东
西安理工大学机械与精密仪器工程学院, 陕西 西安 710048
自1969年Tom Clemens发明出第一台血糖仪以来, 血糖检测技术已历经多次改革发展, 目前普及的血糖检测手段采用微创式自我血糖监测(self-monitoring of blood glucose, SMBG), 这种检测手段无法实现血糖连续监测, 且会给受测者带来疼痛, 操作不当甚至会引发感染[1-2]。 随着科学技术的发展, 无创血糖检测技术作为一种不损伤人体组织间接测量血液中葡萄糖含量的方法, 其安全、 快捷、 无痛苦的特点, 吸引了大量国内外学者对其进行研究[3]。 目前该技术主要分为光学技术和非光学技术两种, 其中基于光学技术的光谱分析对无创血糖检测具有优异的解释性[4-5]。 相较于其他光谱学方法, 近红外光谱学在无创血糖检测研究中局限性小, 已取得了广泛进展[6]。 因此使用基于近红外的光学传感器来确定血糖含量的非侵入性解决方案是本研究的主要关注点。
光电容积脉搏波描记法[7]是一种通过光电检测的方式无创测量生物组织中血液容积变化的方法, 脉搏波由心脏搏动沿血管向外传播形成, 其中包含许多心血管等微循环信息[8]。 Hina等基于一种256快速傅里叶变换(fast Fourier transform, FFT)的二维结构, 利用高斯过程回归模型(Gaussian process regression, GPR)在现场可编程门阵列(field programmable gate array, FPGA)上对光电容积脉搏波信号(photoplethysmography, PPG)特征进行提取, 预测了血糖水平, 该系统成为第一个实现单波长近红外光波谱用于血糖水平监测的FPGA系统[9]。 刘光达等利用近红外双波系统采集光电容积脉搏波信号以最小二乘方法建立了单人血糖回归模型[10]。 Zhang等结合PPG信号中提取出的生理特征与环境参数利用支持向量机建立了无创血糖回归模型[11]。 陈剑虹等通过将光电容积脉搏波信号进行频谱分解, 筛选出与葡萄糖分子基团振动吸收相关联的频率信号的光谱分量, 以此建模, 有效地估计了血糖水平值[12]。 上述研究证明了光电容积脉搏波信号确实存在对血糖进行理论估计的特征量, 但均是在单一时间域或者频率域寻找特定参量进行建模, 并未考虑信号的综合分析。
本文结合光电容积脉搏波描记法和近红外光检测手段, 提出一种基于时频域综合分析的无创血糖检测新方法。 该方法不仅弥补了PPG时域信号与血糖相关性较弱的不足, 还对采集信号的时域与频域进行了综合考量。 分别提取时间域、 频率域的特征参量研究其与血糖浓度的变化关系, 提取各个域与血糖相关程度较高的特征参数进行机器学习建模, 将有创采集的血糖浓度作为评估标准。 口服葡萄糖耐量试验(oral glucose tolerance test, OGTT)结合Parkers CEG分析结果表明了该无创血糖检测技术测定血糖值的可行性。
提取多周期PPG信号特征参数时, 通常利用常规方法求取全部周期特征参数均值。 该方法一方面增加了数据运算量, 另一方面容易误选PPG信号的失真波形导致提取特征点的误差增大。 如图1所示即为包含“失真”波形的PPG信号。
图1 包含“失真”波形的PPG信号
聚类分析是一种无监督的分类方法, 将数据划分为多个不相交的集合, 每个集合称为一个簇[13]。 划分之后, 每个簇可能有一定特征或属性, 使得簇内相似性高、 簇间相似性低[14]。 本文使用经典的K_means算法, 根据轮廓系数确定分类簇数k, 以DB指数评估分类结果。 对PPG信号进行聚类运算, 选取脉搏波代表波形。 具体流程框图如图2所示。
图2 K-Means算法流程图
分析脉搏波走势及波形特征, 选择以hb、hf、S3作为提取代表脉搏波的性能参数, 如图3所示。 其中hb与hf分别表示主波峰值[15]、 重搏波峰值,S3则表示脉搏波起始点到重搏波起始点面积Stabftf与单周期脉搏波总面积Stabfta′的比值。
图3 PPG时域分析的特征参数图
原脉搏波特征值、 人工去除“失真”波形特征值及聚类之后的特征值如表1所示。
表1 原始PPG、 去除“失真”PPG、 聚类PPG的特征值
常规方法受失真波形影响, 性能参数hb的计算均值结果为80.71mV。 人工去除失真波形消除其引起的偶然误差后,hb均值为84.29 mV。 通过聚类运算选取第6个周期的波形为代表波形, 该波形的hb值为83.74 mV、hf为44.38 mV、S3为0.54。 对比常规方法, 聚类分析结果更接近人为剔除失真波形后的数值, 有效减小了采集过程中由失真波形造成的特征点提取偏差。
通过聚类分析, 提取到脉搏波序列代表周期, 从代表周期中选取特征值点。 计算血糖值与各参数的相关程度如表2所示。
表2 血糖值与特征参数相关性分析结果
表2中, 时间参数相关性总体高于其他类型参数, 因此选择相关性较高的特征参数ta′,hb,t2作为提取的时域特征参数。
傅里叶变换能直观反应时域信号频率特性, 将信号分解成基频倍频等各频率分量的简谐振动[16]。 在已知人体血糖值变化趋势的前提下, 从快速傅里叶变换后的频谱图中获取与其变化相关的频率分量信息。 通过分析13组样本(OGTT实验)的脉搏波信号与血糖值, 得到频率分量的幅值与血糖相关性如表3所示。
表3 血糖值与频域特征参数相关性分析结果
表3反映出不同个体的频率分量与血糖相关性在一定范围内波动, 所以选取1.17与2.15 Hz处对应幅值作为特征参数的一部分, 分别用Af1,Af2表示。
由于频谱谱峰对应不同器官的能量[17], 因此从频谱图中提取前六个波峰的频率及其对应幅值, 分析谱峰与血糖值的变化关系。 在这一过程中发现各谱峰之间显著相关, 若选择全部峰值作为特征参数, 会使后续分析中携带重复信息, 为此采用主成分分析法降维使得较少的变量携带大部分的谱峰信息。 通过对23组数据6个谱峰信息进行主成分分析, 得前两个主成分的累计可信度已达90.12%, 如表4所示, 由此选择两个主成分PC1, PC2作为另一部分的频域特征参数来表示谱峰的主要信息。
表4 主成分累计可信度
频域分析采取快速傅里叶变换, 通过相关性分析和主成分分析, 最终选取Af1,Af2, PC1, PC2作为频域特征参数。
血糖预测模型的建立: 神经网络是具有相互连接节点的计算系统, 通过模仿生物大脑中神经元传递信号的方式进行运算, 其学习过程是一个对超参数、 权值和阈值不断调整的过程。 对于BP神经网络, 调整权值阈值的方法是将网络输出误差反向传播, 根据梯度下降原则对参数进行调整。 通过对光电容积脉搏波信号进行时频域综合分析, 本文选取7个特征参数作为BP神经网络的输入实现对于血糖浓度值的预测, 将真实血糖浓度值作为标准, 建立脉搏波特征参数与血糖值的函数映射关系, 构建出初级血糖检测模型。
遗传算法通过模拟自然遗传原理, 种群中的个体进行基因重组、 突变, 经历数次迭代不断靠近问题最优解[18], 其无需外在信息, 适用于优化连续、 离散以及多目标问题, 具备高速、 高效、 扩展性好的优点[19]。 而BP神经网络收敛速度慢, 易造成过拟合现象, 为了改进网络的综合能力, 通过遗传算法优化网络的权值和阈值, 使得神经网络能够更好地预测结果[20]。 其算法流程如图4所示。
图4 基于遗传算法优化的BP神经网络模型流程图
通过10折交叉验证确定BP神经网络的结构及参数, 网络输入层个数为7、 隐含层节点数为9、 输出层为1; 学习速率为0.007, 迭代次数为5 000次, 根据实际预测需求设置模型误差为0.01; 72个权值, 10个阈值, 因此遗传算法个体编码长度为82。 从实测数据中随机将样本划分为3∶1∶1, 获取213组训练集训练模型, 71组验证集来选择最优模型, 最终将71组测试集用来评估模型误差。 为更好地减小预测误差, 将模型输出误差之和作为个体的适应度值。
具体算法步骤如下所示:
(1) 种群初始化; 主要包括需要进行调整优化的权值、 阈值以及编码方式, 为了便于计算采用实数进行编码。 种群规模为10; 进化次数选择20次; 交叉概率为0.3; 变异概率为0.2。
(2) 确定适应度函数; 将模型预测的绝对误差E和作为适应度值F, 具体公式如式(1), 由此式可以计算每个个体的适应度值。
F=kE
(1)
式(1)中,k为系数。
(3) 选择操作; 使用比例选择方法, 适应度越好的个体被选择的几率越大, 最终适应度较优的个体组成新的种群。
(4) 采用实数交叉法, 将第k个染色体ak和第l个染色体al在j位的交叉, 得到新的个体。
(5) 选取第i个个体的第j个基因进行变异, 得到新的个体。
(6) 判断结果是否满足约束条件, 进化是否结束, 否返回步骤2, 是则记录最优个体适应度值。
(7) 将进化产生的最优个体作为神经网络的初始权值、 阈值。
(8) 神经网络预测最终血糖值。
对BP神经网络模型与GA-BP神经网络模型的训练集、 验证集和测试集进行误差分析, 从平均绝对误差和均方根误差两个指标评估各模型误差如表5所示。 对比结果可以看到遗传算法优化之后的BP神经网络更加稳定, 预测结果的平均绝对误差与均方根误差均有减小, 提升了模型的预测效果。
表5 BP神经网络模型误差与GA-BP神经网络模型误差
口服葡萄糖耐量试验(OGTT)基于人体的生理化学反应, 检测人体对葡萄糖的负载能力。 实验时配制250 mL含有75 g葡萄糖的溶液, 5 min内饮尽, 检测葡萄糖直接进入血液的血糖浓度变化情况。 整个实验过程持续2 h, 每隔5 min采集被测者的血糖数据与脉搏波数据, 脉搏波数据是由指夹式脉搏波传感器采集到的光电容积脉搏波, 血糖数据采用德国罗氏血糖仪测得。 整个实验期间要求实验者不准进食、 如厕, 尽可能避免血液中其他成分变化产生干扰。
本次实验征集了85名年龄介于20~55岁之间的志愿者, 包含25名女性、 60名男性, 对志愿者进行OGTT实验与PPG信号检测, 采集PPG信号的长度定为30s, 设备的采样频率为 200 Hz。 采集PPG信号前被试者静坐5 min, 采集过程中被试者保持平静。 采集完PPG信号后立刻测定被试者血糖, 保证采集数据的时间对应性, 实验共采集数据355组, 其中以血糖仪同步采集的血糖值分布范围如图5所示。
图5 血糖样本分布图
将血糖值作为真值, 通过分析无创检测系统采集的PPG信号获得血糖预测值。 GA-BP神经网络输出的实际血糖值与模型预测血糖值如图6所示。
图6 血糖浓度预测值和实际值的拟合程度
目前Parkers CEG已成为自我血糖检测的行业标准, 它不仅可以评价测试结果且可分析该方法的临床风险。
由图7可以看出, 血糖浓度值预测结果80.3%均在网格的A区域临床准确区, 19.7%在网格的B区域临床可接受区。 说明本文所建立的血糖模型预测的血糖浓度值均在可接受范围内, 未出现误检现象。 因为采集样本个体差异性较大, 本结果证实基于近红外检测技术及光电容积脉搏波信号检测血糖的可行性, 通过时频域综合分析及特征参数提取, 使得该普适性较高的无创检测系统具有较为理想的测量精度和稳定性。
图7 血糖模型的Parkers CEG网格误差图
提出一种基于光电容积脉搏波时频域综合分析的无创血糖检测新方法。 对信号进行时频域综合分析, 通过聚类算法提取脉搏波的代表波形。 提取23个特征参数进行分析, 选取其中与血糖值相关性较高的三个特征参数ta′,hb,t2作为时域特征参数。 频域分析采取快速傅里叶变换, 通过相关性分析和主成分分析, 选取四个特征参数Af1,Af2, PC1, PC2作为频域特征参数, 综合时频域特征参数构建BP神经网络血糖检测模型, 使用遗传算法优化模型。 实验结果表明血糖预测模型的平均绝对误差MAE为1.13 mmol·L-1, 均方根误差RMSE为1.42 mmol·L-1。 弥补了时域信号与血糖相关性较弱的不足, 结合共识网络栅格误差分析, 该无创血糖检测系统完全满足日常自我监测血糖需求。 后续将尝试利用此模型对临床采集的糖尿病患者数据进行监测。