CN115482932A - 一种基于迁移学习和糖化血红蛋白的多变量血糖预测算法 - Google Patents
一种基于迁移学习和糖化血红蛋白的多变量血糖预测算法 Download PDFInfo
- Publication number
- CN115482932A CN115482932A CN202211157517.2A CN202211157517A CN115482932A CN 115482932 A CN115482932 A CN 115482932A CN 202211157517 A CN202211157517 A CN 202211157517A CN 115482932 A CN115482932 A CN 115482932A
- Authority
- CN
- China
- Prior art keywords
- blood glucose
- model
- data
- database
- multivariate
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G16—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
- G16H—HEALTHCARE INFORMATICS, i.e. INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR THE HANDLING OR PROCESSING OF MEDICAL OR HEALTHCARE DATA
- G16H50/00—ICT specially adapted for medical diagnosis, medical simulation or medical data mining; ICT specially adapted for detecting, monitoring or modelling epidemics or pandemics
- G16H50/30—ICT specially adapted for medical diagnosis, medical simulation or medical data mining; ICT specially adapted for detecting, monitoring or modelling epidemics or pandemics for calculating health indices; for individual health risk assessment
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
-
- G—PHYSICS
- G16—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
- G16H—HEALTHCARE INFORMATICS, i.e. INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR THE HANDLING OR PROCESSING OF MEDICAL OR HEALTHCARE DATA
- G16H50/00—ICT specially adapted for medical diagnosis, medical simulation or medical data mining; ICT specially adapted for detecting, monitoring or modelling epidemics or pandemics
- G16H50/70—ICT specially adapted for medical diagnosis, medical simulation or medical data mining; ICT specially adapted for detecting, monitoring or modelling epidemics or pandemics for mining of medical data, e.g. analysing previous cases of other patients
Landscapes
- Engineering & Computer Science (AREA)
- Health & Medical Sciences (AREA)
- Public Health (AREA)
- Medical Informatics (AREA)
- Data Mining & Analysis (AREA)
- General Health & Medical Sciences (AREA)
- Biomedical Technology (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Pathology (AREA)
- Epidemiology (AREA)
- Primary Health Care (AREA)
- Databases & Information Systems (AREA)
- Biophysics (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Computing Systems (AREA)
- Molecular Biology (AREA)
- Evolutionary Computation (AREA)
- Computational Linguistics (AREA)
- Artificial Intelligence (AREA)
- Life Sciences & Earth Sciences (AREA)
- Investigating Or Analysing Biological Materials (AREA)
Abstract
本发明涉及一种基于迁移学习和糖化血红蛋白的多变量血糖预测法,先在含有健康人群和糖尿病患者的数据集上训练出一个通用预测模型,该过程将实时糖化血红蛋白和连续动态血糖监测值一起送入模型,可以让模型学习更多的血糖信息,提高模型的精确度;本发明将糖化血红蛋白作为血糖波动的一个评价指标,结合连续动态血糖监测值,更好地反映待测病人的历史血糖波动,更好地预测血糖趋势;该方法使用多级串连网络模型,将数据集依次通过不同的网络模型进行训练,冻结部分网络层,只训练输出层的参数,提高模型的泛化能力,结合不同网络模型的优点,从而提高整体模型的精确度。
Description
技术领域
本发明涉及血糖预测领域,具体的说,是涉及一种基于迁移学习和糖化血红蛋白的多变量血糖预测法。
背景技术
糖尿病是由胰岛素分泌紊乱而引起的代谢性疾病,患者体内的葡萄糖无法正常吸收,长此以往会导致短期或长期的并发症,严重影响患者的生活质量和生命安全。血糖浓度是诊断糖尿病的标准,借助CGMS(连续动态血糖监测)获得患者连续的血糖数据采集,再进行血糖预测。该血糖预测方法是基于血糖数据的预测。
现有基于数据的预测方法主要包括自回归模型(AR)、支持向量机(SVM)、人工智能神经网络(ANN)、极限学习机算法(ELM)、长短长期记忆网络算法(LSTM)等,这些方法虽然可以预测血糖变化的趋势,但在血糖数据预测的研究中,通常只使用其中一个方法来预测血糖浓度;且大多是采用糖尿病患者单个病人的历史血糖数据作为数据驱动,送入机器学习模型进行血糖预测,由于患者本身的血糖数据很少,无法满足机器学习需要大量数据的需求,训练出来的模型泛化能力较弱,因此无法很好地预测样本数据外患者的血糖浓度。
以上问题,值得解决。
发明内容
为了克服现有血糖数据预测方法的问题:只使用一个方法模型,单一的方法泛化能力较弱,且只考虑了单个糖尿病人的血糖数据,无法满足机器学习需要大量数据的需求,无法很好地预测样本数据外患者的血糖浓度,本发明提供一种基于迁移学习和糖化血红蛋白的多变量血糖预测法。
本发明技术方案如下所述:
一种基于迁移学习和糖化血红蛋白的多变量血糖预测法,包括以下步骤:
S1、导入第一数据库和第二数据库,第一数据库用于构建通用预测模型,第二数据库用于存储待预测的血糖数据;
S2、利用第一数据库作为通用预测模型的血糖数据源,利用实时糖化血红蛋白和连续动态血糖监测值作为血糖数据的两个变量,用LSTM网络训练出通用预测模型;
S3、将通用预测模型作为多级串连网络模型的初始网络参数,前一级网络模型的训练结果作为后一级网络模型的网络参数;
S4、将第二数据库的数据输入多级串连网络模型的每一级网络模型,最后一级网络模型输出最终预测结果。
根据上述方案的本发明,步骤1和步骤2之间还包括对第一数据库和第二数据库进行数据预处理,具体步骤如下:对数据中的缺失值和异常值进行处理,以及对所有数据进行滤波平滑处理。
进一步的,所述对数据中的缺失值和异常值进行处理,包括以下步骤:
S121、采用孤立森林算法找出异常值;
S122、用双线性插值法处理每个数据库中用于模型训练的训练集,用线性外推法处理每个数据库中用于验证模型效果的测试集。
进一步的,所述滤波平滑处理,包括卡尔曼滤波法和中值滤波法。
进一步的,在数据预处理之后,还采用Dropin数据增强法提高数据的复杂性。
根据上述方案的本发明,所述第一数据库的样本包括糖尿病人群的血糖数据和健康人群的血糖数据,人群按年龄分类包括10名儿童、10名青少年和10名成年人,所述第一数据库的数据包括血糖值、血糖范围占比、低血糖风险、高血糖风险和风险指数。
根据上述方案的本发明,所述第二数据库的样本为一型糖尿病患者的血糖数据,样本群体的年龄范围3.5~17.7岁,平均年龄9.9岁。
根据上述方案的本发明,步骤2所述的实时糖化血红蛋白,是历史利用平均血糖值和糖化血红蛋白之间的数学关系,通过监测实时血糖值计算得到,且历史平均血糖值和糖化血红蛋白之间的数学关系式:
平均血糖值=糖化血红蛋白×28.7-46.7。
根据上述方案的本发明,所述多级串连网络模型依次包括BSSRNN模型、BSGRU模型和 BSLSTM模型,BSSRNN模型的训练结果作为BSGRU模型的网络参数,BSGRU模型的训练结果作为BSLSTM模型的网络参数。
根据上述方案的本发明,其有益效果在于:
本发明将糖化血红蛋白这一变量作为又一变量送入通用预测模型,结合连续动态血糖监测值,构造多变量血糖数据,让模型学习到更多的血糖信息,提高通用预测模型的精确度;
本发明采用多级串连网络模型,将数据集依次通过不同的网络模型进行训练,由于不同网络模型对患者血糖数据的灵敏度不同,因此可以结合不同模型对同一血糖数据的不同灵敏度,即整合不同网络模型之间的优点,从而提高整体模型预测的精确度;
进一步的,本发明在使用网络模型的时候通过冻结部分网络层,只训练输出层的参数,利于提高模型的泛化能力。
附图说明
图1为本发明的方法流程图;
图2为双线性插值法处理前的血糖浓度曲线图;
图3为双线性插值法处理后的血糖浓度曲线图;
图4为线性外推法处理前的血糖浓度曲线图;
图5为线性外推法处理后的血糖浓度曲线图;
图6为孤立森林找出异常点的结果图;
图7为血糖数据归一化后孤立森林处找出异常点的结果图;
图8为原始血糖数据集示例图;
图9为Dropin技术处理后的血糖数据集示例图;
图10为与图8对应的实时糖化血红蛋白;
图11为采用克拉克误差网格验证的结果图。
具体实施方式
为了更好地理解本发明的目的、技术方案以及技术效果,以下结合附图和实施例对本发明进行进一步的讲解说明。同时声明,以下所描述的实施例仅用于解释本发明,并不用于限定本发明。
如图1所示,一种基于迁移学习和糖化血红蛋白的多变量血糖预测法,包括以下步骤:
S1、导入第一数据库和第二数据库,第一数据的数据库用于构建通用预测模型,第二数据库的数据用于预测;
S2、利用平均血糖值和糖化血红蛋白之间的数学关系,通过监测实时血糖值计算得到实时糖化血红蛋白;
S3、利用第一数据库作为通用预测模型的血糖数据源;利用实时糖化血红蛋白和实时连续血糖值这两个特征作为血糖数据的两个变量,用LSTM网络训练出通用预测模型;
S4、将通用预测模型作为多级串连网络模型的初始网络参数,前一级网络模型的训练结果作为后一级网络模型的网络参数;
S5、将第二数据库的数据输入多级串连网络模型的每一级网络模型,最后一级网络模型输出最终预测结果。
在本发明中,所述第一数据库的样本包括糖尿病人群的血糖数据和健康人群的血糖数据,人群按年龄分类包括10名儿童、10名青少年和10名成年人,如下所示数据:
70<=BG<=180 | BG>180 | BG<70 | BG>250 | BG<50 | LBGI | HBGI | Risk Index | |
adolescent#001 | 100 | 0 | 0 | 0 | 0 | 0.09676098 | 0.463578908 | 0.560339888 |
adolescent#002 | 65.54405944 | 26.24123325 | 8.214707312 | 1.71515867 | 2.159572252 | 1.171796584 | 3.318713869 | 4.490510454 |
adolescent#003 | 90.22290119 | 7.64530241 | 2.131796403 | 0 | 0.041663773 | 0.450470542 | 1.173219672 | 1.623690214 |
adolescent#004 | 83.77196028 | 10.02708145 | 6.200958267 | 0 | 0.416637733 | 1.112974384 | 1.427978028 | 2.540952412 |
adolescent#005 | 72.9046594 | 21.48461912 | 5.610721478 | 2.076244705 | 1.520727727 | 0.803204025 | 1.980683 | 2.783887026 |
adolescent#006 | 96.99326436 | 3.006735643 | 0 | 0 | 0 | 0 | 0.650280805 | 0.650280805 |
adolescent#007 | 60.16943268 | 30.09513228 | 9.735435039 | 6.666203736 | 3.374765641 | 1.517738784 | 3.348977457 | 4.866716241 |
adolescent#008 | 74.29345184 | 23.713631 | 1.992917159 | 4.367752239 | 0.201374905 | 0.200909844 | 3.031484356 | 3.2323942 |
adolescent#009 | 87.41059649 | 9.811818624 | 2.77758489 | 0 | 0.034719811 | 0.449631403 | 1.241904231 | 1.691535634 |
adolescent#010 | 100 | 0 | 0 | 0 | 0 | 0.15347298 | 0.550416861 | 0.703889841 |
adult#001 | 94.75036456 | 2.076244705 | 3.173390737 | 0 | 0.152767169 | 0.952691517 | 0.838390316 | 1.791081834 |
adult#002 | 99.75001736 | 0 | 0.24998264 | 0 | 0 | 0.746803859 | 0.138988932 | 0.88579279 |
adult#003 | 99.4861468 | 0.513853205 | 0 | 0 | 0 | 0.000432686 | 1.037869297 | 1.038301983 |
adult#004 | 91.10478439 | 8.89521561 | 0 | 0 | 0 | 0.036388601 | 0.869165834 | 0.905554436 |
adult#005 | 99.7986251 | 0.201374905 | 0 | 0 | 0 | 0.081975835 | 0.587434717 | 0.669410552 |
adult#006 | 97.02104021 | 2.180404139 | 0.798555656 | 0 | 0 | 0.31741661 | 0.997322393 | 1.314739003 |
adult#007 | 100 | 0 | 0 | 0 | 0 | 0.111917245 | 0.372978494 | 0.484895739 |
adult#008 | 99.88195264 | 0 | 0.118047358 | 0 | 0 | 0.441736332 | 0.210514029 | 0.652250361 |
adult#009 | 78.37650163 | 2.972015832 | 18.65148254 | 0 | 5.020484689 | 3.586734245 | 0.783422917 | 4.370157161 |
adult#010 | 92.73661551 | 7.068953545 | 0.194430942 | 0 | 0 | 0.21420621 | 1.348410878 | 1.562617088 |
child#001 | 77.23074786 | 8.513297688 | 14.25595445 | 0.138879244 | 0.270814527 | 1.442716999 | 0.085306997 | 1.528023996 |
child#002 | 77.45989862 | 0.458301507 | 22.08179988 | 0 | 4.555239219 | 3.43699239 | 0.40437962 | 3.84137201 |
child#003 | 2.673425457 | 0.631900562 | 96.69467398 | 0.020831887 | 96.43080342 | 48.17427454 | 1.342774247 | 49.51704878 |
child#004 | 35.89334074 | 0 | 64.10665926 | 0 | 35.86556489 | 16.3029539 | 0.00805608 | 16.31100998 |
child#005 | 60.69717381 | 0 | 39.30282619 | 0 | 15.36004444 | 9.055627983 | 0.007604162 | 9.063232145 |
child#006 | 70.8631345 | 11.97833484 | 17.15853066 | 0.305534338 | 3.388653566 | 2.023331011 | 0.679482298 | 2.702813309 |
child#007 | 86.89674328 | 0 | 13.10325672 | 0 | 0.145823207 | 2.51141117 | 0.023325293 | 2.534736464 |
child#008 | 0.826331505 | 0.458301507 | 98.71536699 | 0.263870565 | 98.6945351 | 20.07692865 | 6.561082585 | 26.63801124 |
child#009 | 77.30713145 | 4.701062426 | 17.99180612 | 0 | 1.31240886 | 1.821780755 | 0.170821179 | 1.992601935 |
child#010 | 66.82174849 | 19.90139574 | 13.27685577 | 7.207832789 | 1.999861121 | 1.347517243 | 1.188008525 | 2.535525768 |
其中,第一列表示样本类别,包括10名青少年(adolescent)、10名成年人(adult)和10名儿童(child);BG为CGMs监测到的血糖值,第二列表示血糖值在正常血糖范围(70-180mg/dl)的占比,第三列表示血糖值在高血糖范围(>180mg/dl)的占比,第四列表示血糖值在低血糖范围(<70mg/dl)的占比,第五列表示血糖值>250mg/dl的占比,第六列表示血糖值<50mg/dl的占比。例如,adolescent#010的所有血糖数据都在该区间,证明该样本属于健康人群;再如adult#002,99.75%的血糖数据都属于70<=BG<=180区间,只有0.25%的时间处于低血糖范围,小于4%,是血糖控制较好的糖尿病患者。
表中第七列——LBGI(低血糖风险)是一个综合评分,由Koatchev等于20世纪90年代提出,可以反映1个月SMBG中低血糖事件发生的频率及程度,并可用于预测未来3~6个月内发生严重低血糖的风险;
LBCI的算法是对血糖监测结果进行统计学转化,根据转化结果计算低血糖风险,然后计算所有低血糖风险值的平均值,公式如下:
表中第八列——HBGI(高血糖风险)算法是对血糖监测结果进行统计学转化,根据转化结果计算高血糖风险,然后计算所有高血糖风险值的平均值,公式如下:
fbgi=1.509×(log(BG)1.084-5.381);
公式中,fbgi为转化后的血糖值,n为血糖测量总数。
表中第九列——Risk Index(风险指数)=LBGI+HBGI。
在本发明中,采集待预测糖尿病患者的历史血糖数据,作为第二数据库;采集血糖数据要求包括:CGM仪器必须在连续7天中至少采集4天;必须收集至少96小时的连续动态血糖监测数据,其中至少有24小时是过夜(即晚上10点到早上6点)。可见,第二数据库包含CGMs 数据量大,持续时间长,针对同一患者,有充足的数据来研究一型糖尿病血糖预测算法,可充分利用血糖数据的长期性(利用历史8小时的数据)和短期性(利用历史30分钟的数据) 特征。
在本实施例中,第二数据库的样本为一型糖尿病患者,样本群体的年龄在3.5~17.7岁,平均年龄9.9岁。
在本发明中,为了提高数据的稳定性以及模型预测的精确度,在执行步骤2之前,先对第一数据库和第二数据库中的数据进行数据预处理,包括:对数据中的缺失值和异常值进行处理,以及对所有数据进行滤波平滑处理。
其中,对数据中的缺失值和异常值进行处理,包括以下步骤:
S121、采用孤立森林算法找出异常值;
S122、用双线性插值法处理每个数据库中用于模型训练的训练集,用线性外推法处理每个数据库中用于验证模型效果的测试集。
步骤121中关于孤立森林算法找出异常值:针对于不同类型的异常,要用不同的算法来进行检测,而孤立森林算法主要针对的是连续型结构化数据中的异常点。CGMs数据具备实时性,因此可以用孤立森林算法对血糖数据进行异常点检测。在血糖数据的训练中常常会遇到这样一个问题,在构建训练数据时,很难保证训练数据的纯净度,数据中往往会掺杂很多被错误记录的“脏数据”,即由于测量设备的系统误差等原因,会出现突然升高或突然降低等现象,而真实数据相对平稳。
例如:人体会出现走动,平躺,跑跳等不同的运动状态,因此传输设备和采集设备在记录实时血糖数据时,会不可避免的出现系统误差,同时在数据传输时,由于各个采集设备之间的时钟不可能做到完全统一,因此收集到的数据库会出现部分血糖值缺失。针对这种连续型数据中的异常点,如果进行人工筛查会造成筛查成本过高,因此采用孤立森林这种无监督的异常检测算法可以在一定程度上解决这个问题。
孤立森林算法(Isolation Forest,iForest)是一个快速离群点检测方法,适用于连续数据(Continuous numerical data)的异常检测,与其他异常检测算法通过距离、密度等量化指标来刻画样本间的疏离程度不同,孤立森林算法通过对比样本点的孤立来检测异常值。该算法利用一种名为孤立树(iTree)的二叉搜索树结构来孤立样本。由于异常值的数量较少且与大部分样本的疏离性,异常值会更早的孤立出来,即异常值会距离孤立树(iTree)的根节点更近,而正常值则会距离根节点有更远的距离。
孤立森林算法总共分两步:
1.训练iForest:从训练集中进行采样,构建孤立树,对森林中的每棵孤立树进行测试,记录路径长度;
2.计算异常分数:根据异常分数计算公式,计算每个样本点的异常分数(anomalyscore)。
第一阶段,步骤如下:
(1)从训练数据中随机选择Ψ个点样本点作为样本子集,放入一颗孤立树的根节点;
(2)随机指定一个维度(特征),在当前节点数据中随机产生一个切割点p——切割点产生于当前节点数据中指定维度的最大值和最小值之间;
(3)以此切割点生成了一个超平面,然后将当前节点数据空间划分为2个子空间:把指定维度里小于p的数据放在当前节点的左分支,把大于等于p的数据放在当前节点的右分支;
(4)在节点的左分支和右分支节点递归(2)和(3),不断构造新的叶子节点,直到叶子节点中只有一个数据(无法再继续切割)或子节点已到达限定高度;
(5)循环(1)至(4),直至生成t个孤立树iTree。
第二阶段:
获得t个iTree之后,iForest训练就结束,然后可以用生成的iForest来评估测试数据了。对于每一个数据点xi,令其遍历每一颗孤立树(iTree),计算点xi在森林中的平均高度h(xi),对所有点的平均高度做归一化处理。如图5。异常值分数的计算公式如下所示:
其中:
式中,ψ为样本点个数,H(ψ)是调和数,可以通过ln(ψ)+0.5772156649(欧拉常数)来估算,分值越小表示数据越为异常。
图6是孤立森林找出异常点的结果图,其中,横坐标代表数据库里训练集的个数,纵坐标代表血糖值,圆点部分代表检测出来的异常点,将异常点找出后的数据集即为待使用的训练集。
如图7所示,在一个优选实施例中,还可以对所有点的平均高度做归一化处理,再进行孤立森林处理异常点,图7是归一化后孤立森林处找出异常点的结果图,其中,横坐标代表数据库里训练集的个数,纵坐标代表归一化之后训练集的值;归一化的目的是把数变为(0,1)之间的小数,主要是为了数据处理方便提出来的,把数据映射到0~1范围之内处理,简化计算,能够提升模型的收敛速度,提升模型的精度;深度学习中数据归一化可以防止模型梯度爆炸。
步骤122中关于双线性插值法,双线性插值法是在二维度上,适用于在已知数据存在缺失的情况下,对确实的数据点进行重构的常用方法,在此不作赘述。目的是去除训练集中血糖数据的异常值并填补血糖数据的缺失。图2和图3表示采用双线性插值前后的血糖浓度曲线对比图,图2表示处理前的血糖浓度曲线,图3表示处理后的血糖浓度曲线,图中的纵坐标表示患者的血糖浓度,单位为mg/dl。可见,采用双线性插值后,血糖数据的缺失值得到了补充。
步骤122中关于线性外推法,线性外推法是用来研究随时间按恒定增长率变化的事物;在以时间为横坐标的坐标图中,事物的变化接近一条直线,根据这条直线,可以推断事物未来的变化,也是常规的数据缺值补充法之一,在此不作赘述。目的是去除血糖数据的异常值并填补血糖数据的缺失。图4和图5表示采用线性外推法前后的血糖浓度曲线对比图,图4 表示处理前的血糖浓度曲线,图5表示处理后的血糖浓度曲线,图中的纵坐标表示患者的血糖浓度,单位为mg/dl。可见,采用线性外推法后,血糖数据的缺失值得到了补充。
其中,滤波平滑处理,包括卡尔曼滤波法和中值滤波法,对整体血糖进行滤波,目的是让血糖数据更为平滑,也更接近实际血糖数据,从而便于预测。本实施例采用卡尔曼滤波法,实施步骤包括预测和校正,预测是基于上一时刻的状态估计,估计当前时刻状态,而校正则是综合当前时刻的估计状态和观测状态,估计出最优的状态;
预测与校正过程如下:
xk=Axk-1+Buk-1 (1);
Pk=APk-1AT+Q (2);
Kk=PkHT(HPkHT+R)-1 (3);
xk=xk+Kk(zk-Hxk) (4);
Pk=(I-KkH)Pk (5);
其中,公式(1)是状态预测,公式(2)是误差矩阵预测,公式(3)是kalman增益计算,公式(4)是状态校正,其输出即是最终的kalman滤波结果,公式(5)是误差矩阵更新;
各变量说明如下:xk是k时刻的状态;A是状态转移矩阵,和具体的线性系统相关;uk是K时刻外界对系统的作用;B是输入控制矩阵,将外界的影响转化为对状态的影响;P是误差矩阵;Q是预测噪声协方差矩阵;R是测量噪声协方差矩阵;H是观测矩阵;Kk是K时刻的kalman增益;zk是K时刻的观测值。
在本发明中,针对血糖数据缺失的问题,虽然采用双线性插值法可以适当的补充部分血糖值,使整体血糖数据更完整、更接近真实血糖数据,但是使用双线性插值的血糖增补方法缺乏泛化能力,即不能满足血糖的变化性,因此在数据预处理之后,还采用Dropin的数据增强技术,即针对血糖的差值,采用前序血糖和后序血糖数据作为填充,针对不同步长的血糖数据,采用不同的随机Dropin数据填充方式,以此来满足血糖数据的变化性,从而提高后续模型的鲁棒性、提高数据的复杂性。
人体血糖的波动特点,即夜间时的人体血糖值低于白天时的人体血糖值,对夜间时的血糖数据采用前序步长的平均值填充,前序步长指当前值之前数据的平均值;对日间时的血糖数据采用中序步长的平均值填充,中序步长指以当前值为中心,用前面和后面的数据取平均值;对测试集采用前一步长的血糖值填充,针对不同步长的血糖数据,采用不同的随机Dropin 数据填充方式,以此来满足血糖数据的变化性,从而提高后续模型的鲁棒性。
Dropin的具体实现方式是,设计一组超参数,如X为输入的2D序列,N为随机数生成器,这里以repeat作为示例,即复制前面的血糖值,target_len为需要生成的固定序列长度。
Dropin数据增强技术的具体步骤如下:
1.首先判断当前血糖值标签和上一血糖值标签的大小,查看中间是否含有缺失数据;
2.若含有缺失数据,判断采取数据增强的方式,方式1是前序复制,即复制上一时刻的血糖数据,方式2是前序平均,即取前面一小时的血糖数据的平均值,方式3是中序平均,即取前面半小时和后面半小时的血糖数据平均;
3.针对训练集,在上述3种增强方式中随机选取,针对测试集,采取上述3种增强方式中的方式1和方式2进行随机填充;
4.选取需要填充的数据集长度,以及相关超参数,对数据集进行数据增强。
如图8和图9所示,可以看到使用Dropin数据增强技术后,血糖数据由原来的1000个扩充到了17500个,数据量和复杂度大大提升,且整体趋势大致相同,其中,纵坐标标识血糖浓度,单位为mg/L;横坐标表示时间,单位为5分钟。
现有技术在进行血糖通用预测模型的设计时,通常只使用单个患者的历史血糖数据来预测未来血糖数据,而在送入网络模型时的历史血糖数据是一个较为固定的时间段数据,如过去1小时,过去3小时,过去8小时的血糖数据,这种短时间的血糖数据无法很好的反映历史血糖的波动情况,而直接输入过去1个月,过去3个月等长时间血糖数据又会让网络模型忽略短期血糖特征,因此为了解决这个问题,本发明提出了平均血糖值和糖化血红蛋白(HbA1c) 之间的数学关系,通过监测实时血糖值得到计算实时糖化血红蛋白,具体地:
历史平均血糖值和糖化血红蛋白之间的数学关系式如下:
Average Blood Sugar(mg/dL)=HbA1c(%)×28.7-46.7;
HbA1c结果以IFCC单位(mmol/mol)和NGSP单位(%)共同报告,都用于表示实时糖化血红蛋白,HbA1c之间的单位转换如下:
HbA1c(mmol/mol)=HbA1c(%)×10.93-23.5;
HbA1c(%)=HbA1c(mmol/mol)×0.09148+2.152。
健康人群的糖化血红蛋白(HbA1c)低于5.7%;糖尿病前期人群的糖化血红蛋白HbA1c在5.7-6.4%之间,糖尿病人的糖化血红蛋白HbA1c超过6.4%。利用这一指标,可以更好的观测到血糖波动情况,参见图8和图9,图8为原始血糖数据,图9为与图8所示原始血糖数据对应的实时糖化血红蛋白。图8中的纵坐标表示血糖浓度,单位为mg/dL,横坐标表示时间,单位为5分钟,例如200个5分钟,400个5分钟等;图10的纵坐标表示实时糖化血红蛋白,单位为百分比(%),横坐标标识时间,单位为5分钟。
本发明将糖化血红蛋白作为血糖波动的一个评价指标,采用HbA1c和CGMs血糖值可以更好地反映待测病人的历史血糖波动,将糖化血红蛋白这一变量作为又一变量送入模型,可以让模型学习到更多的血糖信息,从而提高模型的精确度。
需要说明的是,糖化血红蛋白(又称糖化血红素,hemoglobin A1c,HbA1c)是血液红细胞中的血红蛋白与葡萄糖结合的产物,通常作为一段时间内平均血浆葡萄糖浓度的参考标准,一般来说血红蛋白被糖基化的比例与一段时间内血浆葡萄糖浓度的水平呈正比。糖化血红蛋白的测量主要是为了确定三个月的平均血糖水平,用作糖尿病的诊断测试,也可以用作糖尿病患者血糖控制的评估测试。该测试仅限于三个月的平均值,因为红细胞的平均寿命为四个月。由于个体红细胞具有不同的寿命,因此该测试用作三个月的有限量度。因此,在血糖预测中,能够采用糖化血红蛋白作为历史血糖波动的评价指标。
在本发明中,LSTM模型是一种特殊类型的RNN模型,可以学习长期依赖的信息;LSTM主要通过三个门:忘记门(遗忘门)、输入门、输出门,来达到信息的传递的作用;忘记门通过上一隐藏层和当前输入层通过一个sigmoid单元决定忘记上一轮记忆的细胞信息的多少,即有:
ft=σ(Wxfxt+Whfht-1+bf);
输入门有个sigmoid单元决定输入信息、输出比例,即有:
it=σ(xtWxi+ht-1Whi+bi);
输入信息通过tanh单元得到,即有:
ct=ftct-1+it*tanh(xtWxc+ht-1Whc+bc);
获取细胞信息通过tanh单元得到隐藏输出层信息,同时有个输出们通过sigmoid单元控制输出量,有:
ot=σ(xtWxo+ht-1Who+ct-1Wco+bo);
ht=ottanh(ct);
其中,σ表示逻辑sigmoid函数,it表示输入门;ft表示遗忘门;ct表示单元激活向量;ot表示输出门;ht表示隐藏层单元;Wxi表示输入门与输入特征向量之间的权重矩阵;Wi表示输入门与隐藏层单元之间的权重矩阵;Wci分别表示输入门与单元激活向量之间的权重矩阵; Wxf表示遗忘门与输入特征向量之间的权重矩阵;Whf表示遗忘门与隐藏层单元之间的权重矩阵;Wcf表示遗忘门与单元激活向量之间的权重矩阵;Wxo表示输出门与输入特征向量之间的权重矩阵;Who表示输出门与隐藏层单元之间的权重矩阵;Wco表示输出门与单元激活向量之间的权重矩阵;Wxc、Whc分别表示单元激活向量与特征向量之间的权重矩阵、单元激活向量与隐藏层单元之间的权重矩阵;t表示采样时刻;tanh为激活函数;bi、bf、bc、bo分别表示为输入门、遗忘门、单元激活向量、输出门的偏差值。
在本发明中,步骤5的多级串连网络模型包括三级串连模型,依次为BSSRNN模型、BSGRU 模型和BSLSTM模型,步骤5的具体步骤为:将通用预测模型作为BSSRNN模型的网络参数,冻结BSSRNN模型的网络层,微调BSSRNN模型的输出层网络,得到第一级串连模型;然后将 BSSRNN模型的训练结果作为下一级、BSGRU模型的网络参数,冻结BSGRU模型的网络层,微调BSGRU模型的输出层网络,得到第二级串连模型;然后将BSGRU模型的训练结果作为下一级、BSLSTM模型的网络参数,冻结BSLSTM模型的网络层,微调BSLSTM模型的输出层网络,得到第三级串连模型;最后,第二数据库的数据输入多级串连网络模型的每一级网络模型,最后一级网络模型输出最终预测结果。
需要说明的是,BSSRNN模型、BSGRU模型和BSLSTM模型均为现有技术,其并不在本发明的保护范围内,且本申请中亦没有对其进行改进或是修改,在此不作赘述。
可见本发明的步骤4和步骤5利用了迁移学习原理,迁移学习是属于机器学习的一种研究领域,专注于存储已有问题的解决模型,并将其利用在其他不同但相关问题上。
对于迁移学习,一般有两个任务系统A和B,任务A拥有海量的数据资源且已训练好,但并不是目标任务,任务B是目标任务,但数据量少且极为珍贵,就可以通过迁移学习有针对性的缓解任务B数据量少的问题。迁移学习之所以能够实现的原理是由于浅层网络学习的特征具有通用性。在样本不足的情况下,可以使用迁移学习,将这些通用特征学习从其他已经训练好的网络中迁移过来,从而节省训练时间,并且得到较好的识别结果。
迁移学习就是给定一个有标记的源域和一个无标记的目标域,这两个领域的数据分布不同。迁移学习的目的就是要借助源域的知识,来学习目标域的知识(标签);或是指基于源域数据和目标域数据、源任务和目标任务之间的相似性,利用在源领域中学习到的知识,去解决目标领域任务的一种机器学习方法。
在迁移学习中,有两个基本的概念:领域(Domain)和任务(Task)。
领域:是进行学习的主体,主要由两部分构成:数据和生成这些数据的概率分布。特别地,因为涉及到迁移,所以对应于两个基本的领域:源领域(Source Domain)和目标领域 (Target Domain)。源领域就是有大量数据标注的领域,是我们要迁移的对象,本专利中的源领域是第一数据库的数据集;目标领域是第二数据库的血糖数据。源域中含有和目标域相同的特征知识,这一特征知识从源领域传递到目标领域,就完成了迁移。
任务:是学习的目标,主要由两部分组成:标签和标签对应的函数。
本专利中的迁移学习是针对血糖预测,构建一个通用的源域模型,然后再对待预测的血糖数据进行域适应训练,即先将整体数据库进行训练,然后对待测的患者历史数据进行微调,通过冻结部分网络层以保留整体数据库的参数,然后对输出层和需要微调的层进行训练,从而使特征知识从源领域传递到目标领域,以此来提高模型的泛化能力。
如图11所示,通过采用本发明的预测算法后得到的预测值,利用克拉克误差网格验证预测结果的精度,而克拉克误差网格分析(EGA)于1987年开发,用于量化患者对当前血液的估计的临床准确性,与在他们的仪表中获得的血糖值相比,然后将其用于量化由仪表产生的血糖估计值与参考值相比的临床准确性。在图示中,y轴代表的是预测的血糖浓度值,x轴是参考值,一般认为就是准确值
在克拉克误差网格图中,A区的值代表与参考值相差20%以内,为可接受区域;B区为良性错误区域,位于A区上方和下方,落入A区和B区的值是可接受的。本方案的预测结果A区占95.2558%、B区占4.5581%、A+B区占99.8140%,C区-E区为0,因此,预测精度符合克拉克网格要求。
本发明的预测算法精确度还可以利用回归评价指标,如平均误差值范围为[0,+∞),理论上,当预测值与真实值完全吻合时等于0,即完美模型。误差越大,平均误差值越大;误差越小,平均误差值越小,而本发明的MAE=15.6061,说明本发明的预测模型拥有较好的精确度。
也可以用平均绝对百分比误差范围[0,+∞),MAPE为0%表示完美模型,MAPE大于100%则表示劣质模型。MAPE的值越小,说明预测模型拥有更好的精确度,而本发明的MAPE=13.1703,说明精确度较高。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。
Claims (9)
1.一种基于迁移学习和糖化血红蛋白的多变量血糖预测法,其特征在于,包括以下步骤:
S1、导入第一数据库和第二数据库,第一数据库用于构建通用预测模型,第二数据库用于存储待预测的血糖数据;
S2、利用第一数据库作为通用预测模型的血糖数据源,利用实时糖化血红蛋白和连续动态血糖监测值作为血糖数据的两个变量,用LSTM网络训练出通用预测模型;
S3、将通用预测模型作为多级串连网络模型的初始网络参数,前一级网络模型的训练结果作为后一级网络模型的网络参数;
S4、将第二数据库的数据输入多级串连网络模型的每一级网络模型,最后一级网络模型输出最终预测结果。
2.根据权利要求1所述的基于迁移学习和糖化血红蛋白的多变量血糖预测法,其特征在于,步骤1和步骤2之间还包括对第一数据库和第二数据库进行数据预处理,具体步骤如下:对数据中的缺失值和异常值进行处理,以及对所有数据进行滤波平滑处理。
3.根据权利要求2所述的基于迁移学习和糖化血红蛋白的多变量血糖预测法,其特征在于,所述对数据中的缺失值和异常值进行处理,包括以下步骤:
S121、采用孤立森林算法找出异常值;
S122、用双线性插值法处理每个数据库中用于模型训练的训练集,用线性外推法处理每个数据库中用于验证模型效果的测试集。
4.根据权利要求2所述的基于迁移学习和糖化血红蛋白的多变量血糖预测法,其特征在于,所述滤波平滑处理,包括卡尔曼滤波法和中值滤波法。
5.根据权利要求2所述的基于迁移学习和糖化血红蛋白的多变量血糖预测法,其特征在于,在数据预处理之后,还采用Dropin数据增强法提高数据的复杂性。
6.根据权利要求1所述的基于迁移学习和糖化血红蛋白的多变量血糖预测法,其特征在于,所述第一数据库的样本包括糖尿病人群的血糖数据和健康人群的血糖数据,人群按年龄分类包括10名儿童、10名青少年和10名成年人,所述第一数据库的数据包括血糖值、血糖范围占比、低血糖风险、高血糖风险和风险指数。
7.根据权利要求1所述的基于迁移学习和糖化血红蛋白的多变量血糖预测法,其特征在于,所述第二数据库的样本为一型糖尿病患者的血糖数据,样本群体的年龄范围3.5~17.7岁,平均年龄9.9岁。
8.根据权利要求1所述的基于迁移学习和糖化血红蛋白的多变量血糖预测法,其特征在于,步骤2所述的实时糖化血红蛋白,是历史利用平均血糖值和糖化血红蛋白之间的数学关系,通过监测实时血糖值计算得到,且历史平均血糖值和糖化血红蛋白之间的数学关系式:
平均血糖值=糖化血红蛋白×28.7-46.7。
9.根据权利要求1所述的基于迁移学习和糖化血红蛋白的多变量血糖预测法,其特征在于,所述多级串连网络模型依次包括BSSRNN模型、BSGRU模型和BSLSTM模型,BSSRNN模型的训练结果作为BSGRU模型的网络参数,BSGRU模型的训练结果作为BSLSTM模型的网络参数。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211157517.2A CN115482932A (zh) | 2022-09-22 | 2022-09-22 | 一种基于迁移学习和糖化血红蛋白的多变量血糖预测算法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211157517.2A CN115482932A (zh) | 2022-09-22 | 2022-09-22 | 一种基于迁移学习和糖化血红蛋白的多变量血糖预测算法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115482932A true CN115482932A (zh) | 2022-12-16 |
Family
ID=84395051
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211157517.2A Pending CN115482932A (zh) | 2022-09-22 | 2022-09-22 | 一种基于迁移学习和糖化血红蛋白的多变量血糖预测算法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115482932A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115944293A (zh) * | 2023-03-15 | 2023-04-11 | 汶上县人民医院 | 一种基于神经网络的肾脏透析用血红蛋白水平预测系统 |
CN117195139A (zh) * | 2023-11-08 | 2023-12-08 | 北京珺安惠尔健康科技有限公司 | 基于机器学习的慢性病健康数据动态监测方法 |
CN117423468A (zh) * | 2023-10-24 | 2024-01-19 | 广州国家实验室 | 持续葡萄糖监测数据时间序列分析方法、系统及电子设备 |
-
2022
- 2022-09-22 CN CN202211157517.2A patent/CN115482932A/zh active Pending
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115944293A (zh) * | 2023-03-15 | 2023-04-11 | 汶上县人民医院 | 一种基于神经网络的肾脏透析用血红蛋白水平预测系统 |
CN115944293B (zh) * | 2023-03-15 | 2023-05-16 | 汶上县人民医院 | 一种基于神经网络的肾脏透析用血红蛋白水平预测系统 |
CN117423468A (zh) * | 2023-10-24 | 2024-01-19 | 广州国家实验室 | 持续葡萄糖监测数据时间序列分析方法、系统及电子设备 |
CN117195139A (zh) * | 2023-11-08 | 2023-12-08 | 北京珺安惠尔健康科技有限公司 | 基于机器学习的慢性病健康数据动态监测方法 |
CN117195139B (zh) * | 2023-11-08 | 2024-02-09 | 北京珺安惠尔健康科技有限公司 | 基于机器学习的慢性病健康数据动态监测方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN115482932A (zh) | 一种基于迁移学习和糖化血红蛋白的多变量血糖预测算法 | |
CN111261282A (zh) | 一种基于机器学习的脓毒症早期预测方法 | |
Kumar et al. | Performance analysis of machine learning algorithms on diabetes dataset using big data analytics | |
US20200337580A1 (en) | Time series data learning and analysis method using artificial intelligence | |
CN110957015B (zh) | 电子医疗记录数据的缺失值填充方法 | |
Güemes et al. | Predicting quality of overnight glycaemic control in type 1 diabetes using binary classifiers | |
CN109948117A (zh) | 一种对抗网络自编码器的卫星异常检测方法 | |
Silva et al. | Rating organ failure via adverse events using data mining in the intensive care unit | |
Ling et al. | Genetic-algorithm-based multiple regression with fuzzy inference system for detection of nocturnal hypoglycemic episodes | |
Afsaneh et al. | Recent applications of machine learning and deep learning models in the prediction, diagnosis, and management of diabetes: a comprehensive review | |
Freiburghaus et al. | A deep learning approach for blood glucose prediction of type 1 diabetes | |
US20240016456A1 (en) | Longitudinal datasets and machine learning models for menopause state and anomaly predictions | |
CN113470816A (zh) | 一种基于机器学习的糖尿病肾病预测方法、系统和预测装置 | |
Barhate et al. | Analysis of classifiers for prediction of type ii diabetes mellitus | |
Fakih et al. | An efficient prediction of diabetes using artificial neural networks | |
CN108665001B (zh) | 一种基于深度置信网络的跨被试空闲态检测方法 | |
Honoré et al. | Classification and feature extraction for neonatal sepsis detection | |
US20240115170A1 (en) | Two-stage blood glucose prediction method based on pre-training and data decomposition | |
Baucum et al. | Adapting reinforcement learning treatment policies using limited data to personalize critical care | |
CN114464319B (zh) | 一种基于慢特征分析和深度神经网络的ams易感性评估系统 | |
Ramyea et al. | An intellectual supervised machine learning algorithm for the early prediction of hyperglycemia | |
Indrawan et al. | Blood glucose prediction using convolutional long short-term memory algorithms | |
CN114974581A (zh) | 高血糖危象长期死亡风险预测与评估方法 | |
Syafrudin et al. | A Personalized Blood Glucose Prediction Model Using Random Forest Regression | |
Narasimhan et al. | Early Detection of Mild Cognitive Impairment Progression Using Non-Wearable Sensor Data–a Deep Learning Approach |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |