基于OVMD-SE-PSO-BP的在线血糖预测方法与流程

文档序号:18004219发布日期:2019-06-25 23:11阅读:472来源:国知局
基于OVMD-SE-PSO-BP的在线血糖预测方法与流程

本发明属于血糖预测技术领域,尤其涉及一种基于ovmd-se-pso-bp的在线血糖预测方法。



背景技术:

1型糖尿病是一组以高血糖为特征的慢性自身免疫疾病,长期的高血糖会导致人体内各组织器官的损害和功能障碍,严重的甚至会危及生命。人体内的血糖浓度主要受两种激素(胰高血糖素和胰岛素)的影响。1型糖尿病主要是由于胰腺中的β细胞的丢失或者破坏而导致的体内胰岛素分泌不足引起的,主要发病于青少年中。

由于还没有根治的方法,常见的治疗并发症的方法是使用胰岛素注射来控制患者体内的血糖值。目前最新的技术是使用动态血糖监测系统(cgms)作为检测手段,通过葡萄糖感应器检测皮下组织间液葡萄糖值而反映血糖水平,更全面地显示患者体内血糖变化及波动趋势。cgms以一定的时间间隔持续监测血糖值,在患者出现高血糖的情况时能够及时注射胰岛素来抑制血糖的波动。为了能更好的控制患者体内的血糖水平,在患者出现大幅度的血糖波动前能够及时控制住血糖,人们尝试对未来短期内的血糖值进行预测。合适的预测方法对控制糖尿病患者血糖上起着关键的作用,可以有效避免了注射胰岛素不及时而导致的一系列问题。

目前,已经提出了很多方法来预测人体血糖值并取得了一定的成果。常用的预测方法是基于数据驱动的模型,相比于生理模型,它不考虑机体的先验知识,能够根据病人历史的血糖序列进行建模,来获得未来短期内的血糖浓度。早在1999年,bremer和gough等人通过每10分钟记录一次数据来获得血糖数据,并对这些血糖数据进行建模来预测未来血糖值,该实验表明可以利用过去的血糖值来预测未来血糖水平。sparacino等人通过对历史血糖数据建立基于最小二乘的自回归模型并获得了较好的预测效果。pérez采用三层前馈神经网络进行建模预测,得到患者提前15min和30min的血糖值,均方根误差分别为10mg/dl和17.5mg/dl。

以上的方法均能够预测人体血糖的变化趋势,但由于血糖数据的复杂性和不稳定性,使用单一模型的预测效果并不十分理想,血糖的预测值与实际值偏差较大。



技术实现要素:

(一)要解决的技术问题

针对现有存在的技术问题,本发明提供一种基于ovmd-se-pso-bp的在线血糖预测方法,血糖的预测值与实际更加符合。

(二)技术方案

本发明提出一种基于ovmd-se-pso-bp的在线血糖预测方法,包括如下步骤:

a1、对待预测的原始血糖数据进行预处理,得到原始血糖序列,采用最优变分模态分解与样本熵结合的方法,将原始血糖序列分解为多个血糖子序列;

a2、对所述多个血糖子序列进行重构;

a3、对重构后的每一血糖子序列分别训练粒子群优化的神经网络模型,将每一血糖子序列输入该子序列的粒子群优化的神经网络模型,获得每一血糖子序列的血糖预测结果;

a4、将每一血糖子序列的血糖预测结果进行融合,得到待测试样本的血糖预测结果。

进一步地,所述步骤a1包括如下步骤:

a11、获取待预测的原始血糖数据进行预处理,得到原始血糖序列;

a12、分解原始血糖序列并重构得到分解残差和变分模态分解的最优参数;

a13、当获得最优参数时,使用最优变分模态分解方法将原始血糖数据进行分解,得到多个子模态;

a14、分别计算各子模态的样本熵,对具有相似样本熵的子模态进行归类叠加,得到多个血糖子序列。

进一步地,所述步骤a12包括:初始化变分模态分解的参数τ,分解原始血糖序列并重构得到分解残差minerr,更新参数τ进行迭代得到分解残差err,直到minerr=err,获得误差最小时的参数值,即最优参数τ。

进一步地,所述步骤a2中,对所述多个血糖子序列进行重构包括:

对于每一血糖子序列ti,都有ti=[ti1,ti2,...tim];

对每一血糖子序列ti进行重构,得到输入矩阵和输出矩阵,其中,输入矩阵输出矩阵其中k是输入数据维度,g是预测步数,m是训练样本数。

进一步地,所述步骤a3中训练粒子群优化的神经网络模型,包括如下步骤:

a31、初始化粒子群的速度和位置;

a32、评估粒子群中每个粒子的初始适应度,根据初始适应度更新每个粒子的历史最优位置和粒子群的历史最优位置,进行迭代;

a33、更新每个粒子的速度和位置,并考虑更新后的速度和位置是否满足要求;

a34、若满足要求,则将粒子群优化后的最优解作为神经网络的初始权值阈值,否则返回步骤a32,继续迭代;

a35、将重构后的每一血糖子序列的输入矩阵和输出矩阵输入神经网络模型中进行训练,得到每一血糖子序列的粒子群优化的神经网络模型。

进一步地,所述步骤a1中的原始血糖序列是以一定采样周期进行采样后获得的以时间顺序排列的血糖信号组合。

进一步地,所述步骤a1中的原始血糖序列是待预测的原始血糖数据经过预处理得到的;

或者是根据预先定义的待预测血糖序列更新规则对采集的多个时间段的血糖信号组合进行更新后的待预测血糖序列,

通过更新后的待预测血糖时间序列经过步骤a1至步骤a4,获得血糖预测结果。

(三)有益效果

为了提高预测精度,针对血糖数据的复杂性和不稳定性,本发明提出了以分解-合成思想对血糖数据进行预测,使用最优变分模态分解与样本熵相结合的方法将获取到的原始血糖序列分解为多个子序列,对各个子序列建立粒子群优化的bp神经网络预测模型,最终得到未来短期的血糖预测结果。

其中,变分模态分解作为一种新的时间序列分解方法,有效地降低了数据的复杂性,使之更易于建立预测模型,且弥补了其他分解算法的不足,具有坚实的理论基础。bp神经网络由于其具有很强的非线性映射能力和柔性的网络结构而广泛应用于各个领域。

附图说明

图1为本发明中在线血糖预测方法的流程图;

图2为本发明中ovmd-se分解方法流程图;

图3为本发明中pso-bp神经网络建模流程图。

图4为本发明提供的方法与其他方法的血糖预测结果对比图。

具体实施方式

为了更好的解释本发明,以便于理解,下面结合附图,通过具体实施方式,对本发明作详细描述。

如图3所示,本发明提出一种基于ovmd-se-pso-bp的在线血糖预测方法,包括如下步骤:

a1、对待预测的原始血糖数据进行预处理,得到原始血糖序列,采用最优变分模态分解与样本熵结合的方法,将原始血糖序列分解为多个血糖子序列;

a2、对所述多个血糖子序列进行重构;

a3、对重构后的每一血糖子序列分别训练粒子群优化的神经网络模型,将每一血糖子序列输入该子序列的粒子群优化的神经网络模型,获得每一血糖子序列的血糖预测结果;

a4、将每一血糖子序列的血糖预测结果进行融合,得到待测试样本的血糖预测结果;

a5、根据待预测的原始血糖序列和待预测的原始血糖序列的下一采样时刻血糖信号,依据预先设定的待预测血糖序列更新规则,获取新的待预测血糖序列,重复步骤a1至a4,获取血糖预测结果的序列。

预先设定的待预测血糖序列更新规则为:将待预测原始血糖序列的下一采样时刻血糖信号输入待预测原始血糖序列中,并剔除待预测原始血糖序列的第一采样时刻的血糖信号,获得新的待预测原始血糖序列。

根据血糖预测结果的序列,可以在患者的血糖值出现波动趋势前及时的注射胰岛素,从而更好的控制患者体内血糖浓度。

实施例1

以1型糖尿病患者的原始血糖数据x={x1,x2,...,xn}t作为样本来进行血糖预测。将样本x={x1,x2,...,xn}t划分为训练样本t=[t1,t2,...tm]t和预测样本p=[pm+1,pm+2,...,pn]t,其中m为训练样本总数。

a1、对待预测的原始血糖数据进行预处理,得到原始血糖序列,采用最优变分模态分解与样本熵结合的方法,将原始血糖序列分解为多个血糖子序列。如图1所示,具体包括如下操作:

a11、获取待预测的训练样本t=[t1,t2,...tm]t的原始血糖数据进行预处理,得到训练样本原始血糖序列;

a12、初始化vmd参数τ,分解训练样本原始血糖序列并重构得到分解残差minerr,更新参数τ进行迭代得到分解残差err,直到minerr=err,获得误差最小时的参数值,即最优参数τ;

a13、当获得最优参数τ时,使用最优变分模态分解方法将原始血糖数据进行分解,得到训练样本多个子模态;

a14、分别计算训练样本各子模态的样本熵,对具有相似样本熵的子模态进行归类叠加,得到多个训练样本血糖子序列{ti},i=1,2,...k,其中,k为重构子序列数目。

a2、对多个训练样本血糖子序列进行重构,具体地:

对于每一血糖子序列ti,都有ti=[ti1,ti2,...tim];

对每一血糖子序列ti进行重构,得到输入矩阵和输出矩阵,其中,输入矩阵输出矩阵其中k是输入数据维度,g是预测步数,m是训练样本数。

a3、对重构后的每一血糖子序列分别训练粒子群优化的神经网络模型,将每一血糖子序列输入该子序列的粒子群优化的神经网络模型,获得每一血糖子序列的血糖预测结果。

进一步地,如图2所示,训练粒子群优化的神经网络模型,包括如下步骤:

a31、初始化粒子群的速度和位置;

a32、评估粒子群中每个粒子的初始适应度,根据初始适应度更新每个粒子的历史最优位置和粒子群的历史最优位置,进行迭代;

a33、更新每个粒子的速度和位置,并考虑更新后的速度和位置是否满足要求;

a34、若满足要求,则将粒子群优化后的最优解作为神经网络的初始权值阈值,否则返回步骤a32,继续迭代;

a35、将重构后的每一血糖子序列的输入矩阵和输出矩阵输入神经网络模型中进行训练,得到每一血糖子序列的粒子群优化的神经网络模型。

a4、对待预测原始血糖序列的每一个子序列的下一采样时刻血糖预测结果进行融合,获得待预测原始血糖序列的下一采样时刻血糖预测结果;即,获得待预测原始血糖序列的下一采样时刻的血糖预测值y1。

a5、更新训练样本t=[t2,...,tt,pm+1]t,继续上述步骤a1-a4,获得最终的所有预测血糖值y=[y1,y2,...yn-m]t

仿真实验

取一位1型糖尿病患者的血糖数据作为实验样本,使用本发明提供的方法与pso-bp和vmd-se-bp两种方法在matlab仿真实验进行对比试验,得到如图4所示的提前30min的血糖预测结果。从图中可以看出采用本发明提供的方法的预测值更接近于真实结果,曲线基本拟合,误差更小。

如表1所示的三种方法提前30min预测血糖结果对比数据。

表1三种方法提前30min预测血糖结果对比

上表中本发明方法的均方根误差和平均绝对百分误差均更小,进一步验证了本发明方法的效果更好,具有更好的应用前景。

本发明提供的基于ovmd-se-pso-bp的血糖预测方法,以分解-合成思想对血糖数据进行实时在线预测,使用最优变分模态分解与样本熵相结合的方法将获取到的原始血糖序列分解为多个子序列,对各个子序列建立粒子群优化的bp神经网络预测模型,最终得到未来短期的血糖预测结果。其中,变分模态分解作为一种新的时间序列分解方法,有效地降低了血糖数据的复杂性,使之更易于建立预测模型,且弥补了其他分解算法的不足,具有坚实的理论基础。bp神经网络由于其具有很强的非线性映射能力和柔性的网络结构而广泛应用于各个领域。

以上结合具体实施例描述了本发明的技术原理,这些描述只是为了解释本发明的原理,不能以任何方式解释为对本发明保护范围的限制。基于此处解释,本领域的技术人员不需要付出创造性的劳动即可联想到本发明的其它具体实施方式,这些方式都将落入本发明的保护范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1