王延年申艳蕊张 旭李全忠贾晓灿方明旺孙长青△
自适应血糖预测模型在低血糖预警中的应用*
王延年1申艳蕊1张 旭1李全忠2贾晓灿3方明旺3孙长青3△
目的基于CGMS提出了一种血糖预测模型和低血糖预警技术。方法利用CGMS采集糖尿病患者的血糖数据,使用卡尔曼滤波对采集的数据进行滤波,减少噪声干扰;然后依据血糖信号的非平稳性特征,运用自回归模型(AR)建立血糖预测模型,模型参数由自适应遗忘因子最小二乘法确定,以适应患者的个体差异及自身状态的变化。结果通过50例血糖数据的临床验证,预测模型能动态捕捉血糖变化,预测未来30分钟的血糖值;且能够利用建立的自适应血糖预测模型进行低血糖预警,均方根误差(RMSE)、血糖预测误差的平方和(SSGPE)分别为6.423、4.409。结论自适应血糖预测模型能有效预测低血糖,具有较好的推广应用价值。
血糖预测 低血糖警报 非平稳性特征 平滑处理 自适应系统
糖尿病已成为当今社会危害人类健康的重要疾病之一。控制血糖虽然能够预防或延缓并发症的发生,但发生低血糖的风险也随之增加。低血糖会引起脑细胞损伤,甚至昏迷和死亡,因此,及时预测低血糖,尤其是无症状性低血糖,在糖尿病治疗中十分重要[1]。
CGMS是一种通过葡萄糖感应器监测皮下组织间液的葡萄糖浓度而反映血糖水平的监测技术,借助于埋在脐周皮下的探头监测葡萄糖浓度,24小时储存288个葡萄糖值,可持续监测72小时,能揭示常规血糖测定方法所未能显示的血糖变化及波动趋势,更为全面、详细地显示人体内血糖波动的特征。国内外学者基于动态血糖监测系统(continous glucose monitoring system,CGMS)进行了血糖预测的研究,提出了低血糖预警模型。如:基于神经网络的预测模型[2]和基于自回归模型(AR)的血糖预测。
本文拟通过对CGMS采集的血糖数据的时间序列进行分析,根据血糖数据的非平稳特征,采用自适应遗忘因子最小二乘AR模型建立血糖预测模型及低血糖预警技术,为拟定治疗方案提供准确依据。
1.资料来源
本文的实验数据来自河南省人民医院,使用CGMS采集了964例糖尿病患者的血糖数据,获取其血糖的波动曲线;实验过程中,详细记录饮食、睡眠、运动、药物的时间。对采集的血糖数据进行了筛选,原则是:血糖波动曲线连续;有低血糖现象。去除出现断点的血糖数据105例和未发生低血糖现象的809例,获取有效实验数据50例。
2.研究方法
为建立血糖预测模型及低血糖预警技术,本文拟进行以下三方面工作:(1)血糖数据预处理,利用卡尔曼滤波对CGMS的血糖数据序列进行平滑处理,减少噪声干扰;(2)基于血糖数据的非平稳特征,利用AR算法建立血糖预测模型,参数根据自适应遗忘因子最小二乘法确定;(3)在自适应预测模型基础上进行低血糖预警。
(1)系统建模
血糖信号具有非平稳性和个体差异性特征。Giurcaneanu CD等[6]针对非平稳信号,研究了遗忘因子最小二乘AR模型的阶数选择、参数估计,为本文进行非平稳血糖信号的预测提供了理论依据。
AR模型通过时间序列变量的自身历史观测值反映相关因素对预测的影响,不受模型变量相互独立的假设条件约束。本文拟采用一种基于自适应遗忘因子最小二乘AR模型预测未来血糖的变化趋势。其模型可表示为:
式中α1,t…αk,t为模型参数,k为阶数,εt是均值为零、方差为σ2的高斯白噪声。模型的关键是获得阶数k和参数序列α1,t…αk,t。
k可以根据改进的AIC准则(最小信息准则)来确定,即寻求模型在不同阶数下改进AIC的最小值。此时改进的AIC对应的阶数即为建模的阶数;参数序列α1,t…αk,t利用遗忘因子λ最小二乘法准则得到[6]。
预测模型应能反映各种因素对患者血糖代谢的影响,本文拟在每个采样步递归调整模型的参数α。此外,为能适应血糖变化的情况,模型中的遗忘因子拟采用开关变量即自适应遗忘因子。
血糖代谢机制处于稳态条件时,常量遗忘因子(λ)最小二乘法能够提供精确的模型跟踪;然而,吃饭、运动等因素会引起血糖浓度大幅度波动,此时需要快速的模型跟踪,因而采取较小的λ值以减少历史数据对血糖预测值的影响。另一方面,当代谢机制回到稳态时,较小λ值又会导致目前观测值尤其是其中的误差影响血糖值的预测,因此本文开关量λ在空腹时采用较大值;在吃饭、运动时采用较小值(变化检测)。拟采用的自适应算法如方程(2)所示。
血糖预测首先AIC准则确定模型即公式(1)的阶数,然后利用自适应遗忘因子最小二乘法确定每个时间步的模型参数α1,t…αk,t,最后用模型预测血糖。
(2)低血糖警报算法
临床经验表明,低血糖大多发生在睡眠期间或运动后,前者是由于碳水化合物的摄入不足,后者是由于消耗过多能量。预警系统必须在这些时候能敏感地预测潜在的低血糖。
本文拟在血糖预测模型基础上建立低血糖早期预警算法,流程图如图1所示。算法首先检查当前的血糖浓度数据,如果低于低血糖阈值(70mg/dl),立即触发低血糖警报;本研究详细记录患者睡眠、运动的时间点,依据患者是否处于睡眠或运动的状态,设定不同的阈值(100mg/dl、80mg/dl和90mg/dl、70mg/dl)。其中阈值100mg/dl和90mg/dl是为了检测CGMS设备工作是否正常。如果是睡眠或运动状态,增加阈值(因为这些状态下血糖浓度可能会突然大幅度减少),为处理潜在的低血糖事件提供更多的时间。如果血糖值高于设定的阈值,模型预测未来m步的血糖值,当m步的预测值低于阈值时,生成低血糖预警[5]。
(3)数据预处理
由于受设备稳定性和外部因素的影响,CGMS采集的数据会存在干扰,需要进行平滑滤波处理。卡尔曼滤波具有计算量小、实时性高、效果好等优点。Facchinetti等[6]的研究表明,卡尔曼滤波器可以较好地去除CGMS数据信号中的噪声。本文拟采用卡尔曼滤波对血糖数据进行平滑处理。卡尔曼滤波器的调谐参数Q和R可以改善平滑性,但是平滑的数据与实际值相比会出现一个滞后。Q/R值越大,数据平滑性越小;Q/R值越小,数据越平滑,但滞后越严重。这种反比关系解释了虽然SSGPE、RMSE比较小,但是导致一些漏报从而减少警报系统的灵敏度。为了取得一个满意的效果,本文Q/R为10-5[5]。
图1 低血糖早期警报系统流程图
(4)模型评价
血糖预测模型的性能用以下两个指标来衡量:
均方根误差(RMSE)表示预测误差:
血糖预测误差的平方和(SSGPE):
一个低血糖事件定义为连续的血糖浓度低于设定的阈值,而不是数据序列的单独数据点。如果超过两个连续时间步的血糖浓度低于70mg/dl,则属于两个不同的低血糖事件。利用血糖预测模型,在采样步t预测之后m步的血糖水平是否低于设定的低血糖阈值,如果低于则触发早期低血糖警报,表示患者在t+m时将出现低血糖。如果t+m时的实测值高于阈值,则认为低血糖警报是误警,即假阳性(FP);如果低于该阈值,则是真阳性(TP)。如果t时间步没有发出警报(即没有预测到低血糖),但在t+m时间步时实际血糖值却低于阈值,这种情况下称为假阴性(FN)。
采用Epidata 3.1软件对50例糖尿病血糖数据进行整理分析;通过Matlab7.0软件构建自适应血糖预测模型及低血糖预测算法。本文经比较分析,血糖预测模型阶数k=3不仅有较高的建模精度,而且能取得较好的预测效果。然后通过自适应遗忘因子最小二乘法确定每个时间步的模型参数。最后用模型即公式(1)预测未来m步的血糖值。
本文利用某2型糖尿病患者的临床实测数据对预测模型进行了验证。采集患者72小时(12∶10 am开始)共864个血糖数据,验证结果如图2所示,提前6步(30m in)进行血糖预测和低血糖预警;并对预测精准性及警报系统的性能相对于原始数据进行评估。结果显示,触发了3个(呈现真阳性(TP))早期低血糖警报,起始时间点为:21∶40、2∶35、5∶45,实际上分别在之后的22∶10、3∶05、6∶15之后出现低血糖症状。触发了一个错误警报,时间为20∶05,但是之后的一段时间并没有低血糖症状出现。
为验证模型的普适性,本文利用筛选的50例患者的数据进行验证。表1列出了50例患者数据时预测算法的性能。提前6步预测(30min),Nw=4(20min)λ=0.8。遗忘因子在变化检测的情况下减到0.6。
图2 一患者提前30分钟血糖预测及早期低血糖警报性能
表1 50例患者在整个研究算法的预测性能
患者 实际低血糖次数566 28 3 3 0 0 3.829 5.643 29 4 4 0 0 3.843 5.760 30 3 3 0 0 4.947 7.421 31 3 3 0 0 4.536 6.800 32 1 1 0 0 3.450 5.172 33 2 2 0 0 4.232 6.337 34 5 5 0 0 3.934 5.921 35 5 4 0 1 6.675 9.583 36 3 3 0 0 3.519 5.378 37 1 1 0 0 4.335 6.702 38 1 1 0 0 3.617 5.441 39 6 6 0 0 4.525 6.795 40 2 2 0 0 3.203 4.747 41 3 3 0 0 5.087 7.775 42 3 3 0 0 4.142 6.325 43 3 3 0 0 3.519 5.378 44 1 1 0 0 4.983 7.574 45 2 2 0 0 4.412 6.817 46 3 2 0 1 5.371 8.024 47 4 4 0 0 4.247 6.370 48 5 5 0 0 3.448 5.172 49 3 3 0 0 5.040 7.506 50 3 3 0 0 2.997 4.495总和142 136 6 6--平均----4.409 6.TP FP FN SSGPE RMSE 24 1 1 0 0 3.713 5.423
如图3、4所示,本模型的RMSE、血糖预测误差的平方和(SSGPE)均小于传统的AR预测模型[6],预测精度较高,可以用于预测患者血糖浓度。通过50例实验数据验证,该模型比传统的AR预测模型较稳定。
图3 自适应AR模型与传统AR模型SSGPE指标对比
图4 自适应AR模型与传统AR模型RMSE指标对比
糖尿病患者经常存在过度治疗而导致低血糖症的情况。自适应血糖预测模型可以有效检测低血糖事件,对糖尿病的管理是非常有用的。早期的低血糖警报可以提前预测低血糖,为医生及患者采取行动提供足够的时间。因此,我们建立的预测模型和低血糖报警方法具有较好的应用价值。
由于设备和外部因素的影响,CGMS采集的数据中存在噪声影响预测的精准性,所以数据应先进行平滑处理;AR模型算法便捷,且具有较高的预测精度。预测时间范围和低血糖的阈值是影响低血糖预警算法性能的主要因素。通过降低预测时间范围可以提高低血糖警报的灵敏度,但为了确保有足够的时间,以采取预防措施(如食物摄入量等)避免低血糖,预测时间范围应尽可能的长。此外,低血糖阈值的选取也影响着警报的性能。如果增加阈值,将有利于提高灵敏度,但会降低特异性,所以对预测时间范围和低血糖阈值的设置应全面考虑。本文提出该模型提前30分钟进行血糖预测和低血糖阈值设置为70mg/dl[7]。我们使用一患者的数据进行验证,触发了3个早期低血糖警报、1个错误警报表明自适应模型可以有效预警低血糖,并且可以准确地预测血糖浓度的趋势。此外,通过50例患者的数据进行验证,与传统的AR预测模型相比,均方根误差和SSGPE相比均较小,表明所提出的模型更准确。
综上所述,本研究提出的模型和报警方法能成功地预测未来血糖值,并提供足够的时间为患者采取行动,以避免低血糖,具有较好的推广应用价值。在实际工作中,可以把影响血糖的其它因素如运动,饮食等添加到模型参数中,以进一步提高预测的准确性。
1.刘群英.3068例糖尿病住院病人统计分析.中国卫生统计,2013,30(2):310.
2.Zecchin C,Facchinetti A,Sparacino G,et al.A new neural network approach for short-term glucose prediction using continuous glucosemonitoring time-series and meal information.Engineering in Medicine and Biology Society,EMBC,2011 Annual International Conference of the IEEE,2011,5653-5656.
3.Giurcaneanu CD,Razavi SA.AR order selection in the case when the model parameters are estimated by forgetting factor least-squares algorithms Signal Processing,2010,90(2):451-466.
4.Eren-Oruklu M,Cinar A,Rollins DK,et al.Adaptive system identification for estimating future glucose concentrations and hypoglycem ia alarms.Automatica,2012,48(8):1892-1897.
5.Turksoy K,Bayrak E S,Quinn L,etal.Hypoglycem ia Early Alarm Systems Based on Multivariable Models.Industrial&engineering chem istry research,2013,52(35):12329-12336.
6.Facchinetti A,Sparacino G,CobelliC.An online self-tunablemethod to denoise CGM sensor data.Biomedical Engineering,IEEE Transactions on,2010,57(3):634-641.
7.中国2型糖尿病防治指南(2010年版).中国糖尿病杂志,2012,20(1):S18-S19.
(责任编辑:丁海龙)
河南省科技攻关计划项目(132102310191);郑州市科技攻关项目(131PPTGG409-8)
1.郑州大学信息工程学院(450001)
2.河南省人民医院(450003)
3.郑州大学公共卫生学院(450001)
△通信作者:孙长青,E-mail:suncq@zzu.edu.cn