本发明属于血糖预测技术领域,尤其涉及一种基于VMD-PACF-BP模型的动态血糖在线预测方法。
背景技术:
目前,中国患有糖尿病人数已成为在世界上拥有糖尿病患者最多的国家。为了降低糖尿病患者长期处于高于正常血糖的波动范围的状态和高血糖并发症的发生率,对患者的血糖值进行更有效的血糖控制,就需要克服其时滞性。因此,建立血糖预测模型是血糖控制如今发展的趋势。
人体是个十分复杂的生理结构。血糖时间序列时滞性、非线性、不确定性。胰岛素从注射、吸收再到血糖被连续血糖监控仪(CGM)检测出数据都会出现时间的滞后性。人体激素的系统效应以及生化反应的复杂性,造成人体葡萄糖-胰岛素代谢动态过程是一个典型的非线性过程。因此,血糖没有人工智能的帮助,很难实现对血糖的预测。如今,血糖预测已经取得了一些成绩,能够应用在血糖控制中对高低血糖的预测和对CGM传感器的故障检测。因此,对血糖值如何进行准确的预测是如今成为一个世界性的难题。
目前,对于血糖的预测大体可以分成生理模型和数据驱动两种方式。对于生理模型而言,血糖控制涉及到人体的各项参数,如吃饭、睡觉、情绪变化等,有些参数很难通过实验得出,因此简单的线性模型控制无法准确描述整个生理过程,会造成较大的误差。而非线性模型的建立比较复杂,通过机理建模,很难准确得到各项参数的数值。对于数据驱动方式而言,一种是传统的统计建模方法,有自回归(AR)模型、差分整合移动平均自回归模型(ARIMA)、马尔可夫模型、贝叶斯方法等线性数学模型,这些基于统计学的数学模型虽然具有原理性简单,效率高等优点,但是其预测出的血糖值精度不高。另一类是机器学习技术,有人工神经网络、支持向量机、极限学习机等模型。上述方法中,BP神经网络是如今应用最广泛的神经网络模型之一,因此,BP神经网络可以被用于血糖的预测。
技术实现要素:
(一)要解决的技术问题
针对现有存在的技术问题,本发明提供一种基于VMD-PACF-BP模型的动态血糖在线预测方法,解决了现有技术中预测结果准确率低的问题。
(二)技术方案
为了达到上述目的,本发明采用的主要技术方案包括:
一种基于VMD-PACF-BP模型的动态血糖在线预测方法,包括如下步骤:
S1、获取原始血糖时间序列数据,并对获取的原始血糖时间序列数据进行数据预处理;
S2、采用VMD分解方法将经过数据预处理后的血糖时间序列数据分解成多个子模态;
S3、采用PACF方法分别选择每个子模态的输入变量;
S4、将选出的输入变量分别利用BP神经网络进行预测,获得每个子模态的预测值,最后,再将获得的所有子模态的预测值融合,获得血糖数据的预测结果。
优选地,在步骤S2中,将原始血糖时间序列分解成一系列的含有稀疏特性的子模态,即将原始序列分解成为多个不同频率的序列。
优选地,所述步骤S2还包括如下子步骤:
S201、针对每个子模态uk通过希尔伯特变换计算与之相关的解析信号得到单侧频谱,如下:
其中,H(t)为模态解析信号,δ(t)是狄拉克分布,t是采样时间点,{uk}={u1,...,uK};
S202、针对各个子模态,通过对其中心频率ωk进行指数项混叠,将每个子模态调制到对应的基频带,其公式如下:
式中为ωk复平面上的向量描述,{ωk}={ω1,...,ωK};
S203、估计各模态分量的带宽,计算其梯度的平方L2范数,对应求处的约束条件变分问题为:
S204、引入增广拉格朗日函数,用二次惩罚函数项和拉格朗日乘子得到一个非约束问题,最后求解该问题的公式为:
其中,是惩罚项,λ是拉格朗日乘数。
优选地,所述步骤S2还包括:
A1、通过交替更新和来寻找最优解,其收敛条件为:
其中ε代表收敛条件,代表傅立叶变换,n是迭代次数;
A2、得到uk和ωk函数:
其中,代表当前剩余量,代表当前模态函数功率谱的重心。
优选地,所述步骤S3中通过PACF方法找到判断血糖的时间序列间不同属性间的相关性,构建最优输入集合,获得每个子模态的输入变量。
优选地,所述步骤S3还包括:
时间序列为{w1,w2...wn},滞后k处的协方差为γk,其估计量为公式为:
其中为序列的平均值,M是最大滞后时间且取值为4/n;
ρk为自相关函数,其估计量为
的公式为:
基于协方差和相关函数ACF的结果,则αkk为滞后k时的PACF,其公式为:
其中k=1,2,...M;
根据PACF值衡量其偏自相关性,确定子模态的输入变量。
优选地,所述步骤S4中BP神经网络的中间神经元j的输出公式为:
其中w是权值,b是阈值;
输出层的计算公式为:
BP神经网络与实际输出的误差值为e,其公式为:
ek=Yk-Ok;
对权值进行调整的公式为:,其中η为学习效率。
wjk=wik+ηHjek;
(三)有益效果
本发明的有益效果是:本发明提供的一种基于VMD-PACF-BP模型的动态血糖在线预测方法,具有预测精度高的优点。
采用VMD-PACF-BP模型进行预测,其计算效率较传统的VMD方法有所提升,滤除噪声和随机扰动的性能更强。
附图说明
图1为本发明提供的一种基于VMD-PACF-BP模型的动态血糖在线预测方法的流程示意图;
图2为本发明提供的一种基于VMD-PACF-BP模型的动态血糖在线预测方法中算法模型的流程示意图;
图3为本发明提供的一种基于VMD-PACF-BP模型的动态血糖在线预测方法中VMD-PACF-BP预测模型仿真对比图。
具体实施方式
为了更好的解释本发明,以便于理解,下面结合附图,通过具体实施方式,对本发明作详细描述。
实施例一
如图1和图2所示:本实施例中公开了一种基于VMD-PACF-BP模型的动态血糖在线预测方法,包括如下步骤:
S1、获取原始血糖时间序列数据,并对获取的原始血糖时间序列数据进行数据预处理;
S2、采用VMD分解方法将经过数据预处理后的血糖时间序列数据分解成多个子模态;
S3、采用PACF方法分别选择每个子模态的输入变量;
S4、将选出的输入变量分别利用BP神经网络进行预测,获得每个子模态的预测值,最后,再将获得的所有子模态的预测值融合,获得血糖数据的预测结果。
应说明的是在步骤S2中,将原始血糖时间序列分解成一系列的含有稀疏特性的子模态,即将原始序列分解成为多个不同频率的序列。
具体地,所述步骤S2还包括如下子步骤:
S201、针对每个子模态uk通过希尔伯特变换计算与之相关的解析信号得到单侧频谱,如下:
其中,H(t)为模态解析信号,δ(t)是狄拉克分布,t是采样时间点,{uk}={u1,...,uK};
S202、针对各个子模态,通过对其中心频率ωk进行指数项混叠,将每个子模态调制到对应的基频带,其公式如下:
式中为ωk复平面上的向量描述,{ωk}={ω1,...,ωK};
S203、估计各模态分量的带宽,计算其梯度的平方L2范数,对应求处的约束条件变分问题为:
S204、引入增广拉格朗日函数,用二次惩罚函数项和拉格朗日乘子得到一个非约束问题,最后求解该问题的公式为:
其中,是惩罚项,λ是拉格朗日乘数。
相应地,本实施例中所述步骤S2还包括:
A1、通过交替更新和来寻找最优解,其收敛条件为:
其中ε代表收敛条件,代表傅立叶变换,n是迭代次数;
A2、得到uk和ωk函数:
其中,代表当前剩余量,代表当前模态函数功率谱的重心。
此外,本实施例中所述步骤S3中通过PACF方法找到判断血糖的时间序列间不同属性间的相关性,构建最优输入集合,获得每个子模态的输入变量。
这里所述的的子模态的输入变量,用于输入BP神经网络进行预测每一子模态对应的预测值。
详细地,所述步骤S3还包括:
设时间序列为{w1,w2...wn},滞后k处的协方差为γk,其估计量为公式为:
其中为序列的平均值,M是最大滞后时间且取值为n/4;
ρk为自相关函数,其估计量为
的公式为:
基于协方差和相关函数ACF的结果,则αkk为滞后k时的PACF,其公式为:
其中k=1,2,...M;
根据PACF值衡量其偏自相关性,确定子模态的输入变量。
本实施例中,所述步骤S4中BP神经网络的中间神经元j的输出公式为:
其中w是权值,b是阈值;
输出层的计算公式为:
BP神经网络与实际输出的误差值为e,其公式为:
ek=Yk-Ok;
对权值进行调整的公式为:wjk=wik+ηHjek,其中η为学习效率。
实施例二
本实施例中提供的一种基于VMD-PACF-BP模型的动态血糖在线预测方法,包括如下步骤:
Step1:以连续血糖监测仪(CGM)输出的一分钟的监测血糖值为准,每五分钟进行重新采样,生成血糖时间序列作为样本对血糖的时间序列进行预处理,将血糖时间序列样本分为训练集和测试集。
Step2:将利用VMD(变分模态分解)的方法将在线分解时间序列分解为K个变分模态,使得带宽之和最小。
Step3:VMD方法输出后,将其转化为矩阵的形式,则针对于每个子模态而言,都有一组对应矩阵,然后将VMD模态分解后生成的K个子模态通过PACF分别进行特征提取。
Step4:将PACF选择后的每个模态的输入变量分别送入BP神经网络,设定其输入层、隐含层和输出层的层数与BP神经网络的参数变量,得到子模态的预测值。
Step5:将每个子模态的预测结果进行叠加,可以得到最终的预测结果。
Step6:将测试集样本的第一个血糖值开始依次输入到训练集中,使训练集内保持原有的血糖值个数不变,重复上述Step2到Step5的步骤,直至最后一个测试集样本输入完成,得到预测数据集Q。
Step7:判断以上步骤所预测的血糖值是否达到理想的误差范围内,则根据预测血糖值Q与测试集P进行误差分析。评价函数为:
均方根误差:
均绝对误差:
平均绝对百分误差:
其中Qi是预测值,Pi是实际值,i是采样点,n是血糖时间序列总个数,t是训练集个数。
如图3所示:利用matlab软件进行仿真,以一个患有糖尿病的患者血糖时间序列为例,其RMSE值为9.5194。在仿真展现了VMD-PACF-BP模型的30分钟后的预测效果与测试值所展示的30分钟后的真实值对比图,在对比图中可以发现,VMD-PACF-BP模型可以较为准确、精度较高的对于血糖值进行在线预测。并且在仿真情况下可以发现VMD-PACF-BP的预测模型比单独进行BP神经网络预测的预测精度更高,误差更小。
以上结合具体实施例描述了本发明的技术原理,这些描述只是为了解释本发明的原理,不能以任何方式解释为对本发明保护范围的限制。基于此处解释,本领域的技术人员不需要付出创造性的劳动即可联想到本发明的其它具体实施方式,这些方式都将落入本发明的保护范围之内。