基于RNN与特征工程的血糖预测技术

1 阅读25分钟

使用循环神经网络和高级特征工程技术增强的血糖预测

摘要

本研究旨在开发一个由人工智能驱动的流程,用于预测血糖水平,以减轻与低血糖和高血糖相关的风险。主要研究问题聚焦于混合数据预处理和特征工程在提高血糖水平预测方面的有效性。所提出的方法采用了一种混合方法来处理缺失数据,并应用了高级特征工程技术。开发了一个循环神经网络模型来预测前导时间为30分钟的血糖水平。该模型使用均方根误差和平均绝对误差等指标进行评估。实验结果表明,所提出的流程在所有患者中实现了19.64 ± 0.11的平均RMSE和13.54 ± 0.11的平均MAE。结果表明,预测精度得到提高,能够早期检测关键的血糖波动。混合预处理和RNN建模的结合有效地预测了血糖水平,为糖尿病管理提供了有价值的见解。这种方法有助于更好地预防血糖紧急情况,最终提高糖尿病患者的生活质量。

引言

被称为“沉默杀手”的糖尿病 mellitus,目前尚无治愈方法甚至有效的长期治疗方法,带来了严重的健康危害和困难。糖尿病最关键的一点是,个人可能不知道患有这种疾病,并可能导致非常严重的长期健康问题。2019年,预计超过4.63亿人患有糖尿病,到2045年,预计将有7亿人患有这种沉默杀手疾病。因此,由于科学尚未发现糖尿病的永久性治愈方法,监测和控制血糖水平以防止异常的血糖活动、低血糖和高血糖至关重要。低血糖和高血糖的主要特征是异常的血糖水平,分别低于和高于正常水平。低血糖和高血糖都对糖尿病患者构成严重风险。如果高血糖管理不善,可能导致长期并发症。另一方面,低血糖需要迅速采取行动以防止潜在的致命情况。

维持良好的血糖控制并最大限度地减少与低血糖和高血糖相关的风险,需要定期进行持续血糖监测、坚持用药和胰岛素方案、改变生活方式以及及时采取行动。CGM设备和自我实施的指尖采血测试等传统血糖监测技术为血糖控制提供了有用的见解。然而,这些技术通常需要侵入性程序,可能使人们感到不适,并且可能无法提供实时数据。

使用人工智能进行血糖水平监测和预测的系统具有多种优势。首先,它们可以实现连续实时的血糖监测,无需频繁进行指尖采血测试,并提供更全面的血糖动态知识。其次,人工智能可以发现医疗人员可能忽略的模式、趋势和潜在风险因素,从而实现早期干预和个性化治疗计划。

本研究的目标是设计一个能够准确预测前导时间为30分钟的血糖水平的血糖预测算法。如图1所示,该研究旨在帮助预防低血糖和高血糖事件,从而改善糖尿病患者的疾病管理和生活质量。

本研究的主要贡献如下:

  • 引入了在原始数据之外捕获额外模式的衍生特征。
  • 证明了预测精度的提高,超越了现有的血糖水平预测文献。
  • 编码上下文信息以有效预测血糖水平的细微变化。

文献综述

时间序列预测流程通常涉及几个步骤,如图2所示。它从数据收集开始,获取历史记录,例如血糖测量值。然后是数据预处理,包括处理缺失值、处理异常值以及将数据转换为适合建模的格式。然后进行特征工程,以提取有意义的特征,提高预测精度。最后阶段包括模型选择、训练、验证、测试、预测和评估预测模型。

血糖预测模型通常分为三类:需要广泛领域知识的生理模型、使用中间知识的混合模型以及仅依赖数据并采用黑箱方法的数据驱动模型。数据驱动模型通常用于连接血糖的过去、现在和未来值,经常利用机器学习和时间序列技术。本文献综述分为两个子部分:预处理方法和预测模型。预处理通过准备用于分析的数据,在提高预测模型性能方面起着关键作用。

对于处理缺失数据,一种方法对训练数据集应用线性插值,对测试数据集应用线性外推。在另一种方法中,对于最多三个连续缺失样本,使用一阶线性模型填补训练数据集中的空白。对于较长的空白,应用基于葡萄糖动力学的统计模型。在测试数据集中,使用先前的CGM测量值填补空白,直到获得新的观测值。类似地,另一种方法用来自处理早期阶段的估计值替换缺失的CGM数据。一些作者比较了原始数据、线性插值和时间序列插值技术,发现时间序列插值提供了最高的精度,其次是线性插值。

已经提出了多种使用预处理数据预测血糖水平的方法。例如,一种方法基于多层感知器开发了一个预测模型,使用统计特征和最近的血糖值作为输入。这种方法在不同的预测范围内,在RMSE和其他评估指标方面表现出强大的性能。类似地,另一个研究引入了一个具有自适应控制规则的模型预测控制框架,该框架结合了来自CGM数据和胰岛素剂量的见解,以有效管理血糖浓度。循环神经网络,特别是长短期记忆网络,被探索用于提前一小时预测血糖水平。这些模型使用过去的血糖数据进行端到端训练,并使用RMSE和监督误差网格等指标进行评估。深度学习模型在另一项研究中得到了进一步探索,其中使用加权决策级融合将LSTM、WaveNet和门控循环单元网络结合起来。这种方法在多个预测范围内显示出更高的精度。最后,一项研究检查了集成技术,包括堆叠、多变量和序列方法。其中,堆叠在RMSE、MAE、MCC和SEG指标方面表现出优越的性能。

虽然已经引入了其他先进的方法,例如基于Transformer的模型。例如,Informer和Transformer-XL利用自注意力机制有效地建模全局时间依赖性,使其适用于多元和高频CGM数据。尽管Informer引入了ProbSparse注意力机制来降低计算复杂度,但与基于RNN的模型相比,它仍然是一种高度复杂的方法。此外,该领域已经看到了生成模型的集成,如变分自编码器和生成对抗网络,通过生成合成患者档案、增强训练数据和估计不确定性来提高预测的鲁棒性。例如,最近的工作探索了GANs来合成生成类似CGM的时间序列,显著提高了下游预测器的性能。

尽管本研究仅关注CGM数据——因为在现实场景中,食物摄入等额外特征通常不可用或不可靠——但人工智能驱动的数据采集方面已经取得了重大进展,例如自动食物识别,这显示了丰富糖尿病管理系统的潜力。例如,基于深度学习的食物分类模型已被提出来支持饮食记录和营养追踪,这可以直接影响血糖调节。值得注意的工作包括一个基于MobileNetV2的架构,用于食品工业中准确、实时的食物识别,以及另一个利用EfficientNetB7结合CBAM注意力和迁移学习,在可变条件下进行鲁棒的食物分类。

方法

本文旨在开发一个智能血糖水平框架来预测糖尿病患者的血糖水平。所提出的方法遵循一个结构化的流程,如图3所示。它从选择和探索CGM数据集开始,然后根据缺口长度进行定制的预处理以处理缺失值。之后,设计领域特定的特征并进行转换以增强模型学习。然后,这些处理过的特征被输入到针对短期预测优化的RNN模型中。

数据集探索

经过对可用数据集的文献回顾,发现某机构数据集被广泛用作基准。某机构T1DM数据集包含12名1型糖尿病患者在八周内提供的数据。该数据集包括广泛的数据,包括每五分钟测量一次的CGM血糖水平、来自间歇性指尖采血自我监测的血糖水平、胰岛素剂量(大剂量和基础)、自我报告的用餐时间及碳水化合物估算,以及自我报告的运动、睡眠、工作、压力和疾病时间。

对于集合中的每条记录,总共有19个数据字段,选择血糖水平这一个特征作为CGM数据点,以五分钟为间隔收集。

尽管该数据集相对较小,仅包含12名受试者,但它仍然提供了显著的多样性。它包括均衡的性别代表(6名男性,6名女性)、广泛的年龄范围(20-80岁),以及在不同版本中收集的两个队列。这些特征使得某机构T1DM数据集成为一个有价值的基准,并解释了它在血糖预测研究中被频繁采用的原因。

数据预处理

处理空值

根据数据集中缺失值的长度,选择一种特定的方法来估算这些空值。这种估算策略由阈值指导。这些阈值本质上是截止点,有助于根据数据集中缺失数据的长度或范围选择最合适的估算技术的决策过程。图4可视化了这种混合技术,它包含三个阈值。

  1. 阈值1:少于12个连续空值 当数据集中连续空值的数量少于12个时,被视为数据中的一个相对较小的缺口。在这种情况下,采用插值法来填充缺失值。插值技术根据相邻数据点的模式和值来估计缺失值。使用样条插值。

  2. 阈值2:12到50个连续空值之间 当连续空值在12到50个之间时,表示数据中有一个中等大小的缺口。为了处理这种情况,应用了自回归积分滑动平均模型。ARIMA模型是一种时间序列预测模型,可以捕捉数据中的潜在趋势和季节性,使其适用于填补此范围内的缺失值。在预测连续空值之后,可能会出现异常值。在这种情况下,有必要消除这些异常值,同时忽略任何全局异常值。随后,评估空值的数量;如果低于12,则进行第二轮插值。然后,如果计数超过12,则将数据分区为不同的数据帧。

  3. 阈值3:超过50个连续空值 如果连续空值的数量超过50,则表明数据中存在一个很大的缺口,需要专门的方法。在这种情况下,采用的方法是数据切割。这种方法旨在处理可能无法通过插值或ARIMA等标准技术有效解决的大缺口或缺失数据模式。

特征工程

目标是使用先前选定的单一CGM特征来预测血糖水平。然而,为了提高预测精度,引入了几个衍生特征。

表3:从血糖读数中衍生出的特征及其描述

特征描述
avg过去一小时(12个读数)的平均血糖水平
std过去一小时血糖水平的标准差
min过去一小时的最低血糖读数
max过去一小时的最高血糖读数
trend血糖水平的变化趋势,基于最近两个读数的差值
diff6当前读数与6个时间步前(30分钟前)读数的差值
dayPart根据hourOfDay划分的时段(如黎明、早晨、下午、晚上、深夜)

此外,与记录日期相关的两个特征——星期几和一天中的小时——被整合进来,为分析提供时间背景。这些特征共同增强了数据集,并有助于更准确地预测血糖水平。图5显示了这些特征的一个示例可视化。

为了评估它们与低血糖和高血糖检测的相关性,进行了一项分析,将每个血糖读数标记为三类之一:低血糖(<70 mg/dL)、正常(70-180 mg/dL)和高血糖(>180 mg/dL)。采用决策树分类器,根据与这些异常血糖状态的分类相关性来估计特征重要性。结果显示,与血糖状态最相关的特征是avg(相关性:0.709),其次是trend(0.445)、dayPart(0.357)、diff6(0.357)和std(0.324)。基于时间的特征,如一天中的小时和星期几,也显示出中等程度的相关性,突显了昼夜节律对血糖水平的影响。

尽管某机构T1DM数据集包括胰岛素剂量和餐食摄入等额外输入,但本研究仅使用CGM读数,以优先考虑现实世界的适用性。在日常环境中,胰岛素和碳水化合物记录等补充数据常常缺失、不一致或需要手动报告,导致潜在噪声和模型鲁棒性降低。相比之下,CGM数据是可靠且连续记录的,使其成为实际部署中最可靠的来源。因此,特征工程过程被有意限制在从CGM衍生的特征上,以确保在典型使用场景中的通用性和可行性。

特征转换

此步骤是指转换数据集中的现有特征以创建新的表示形式的过程,这些表示形式对于特定的数据分析或机器学习任务更具信息性或更合适。有多种特征转换技术,在本研究中,采用对数变换来解决数据偏斜的问题——使所有列值处于同一范围内。如文献所述,对传感器数据使用判别性特征转换仍然是一种非常罕见的技术,然而,这种先进的方法被采用。

测试数据流程

通过消除训练期间已执行的不必要步骤,执行特定流程来比较所提出模型与使用相同“某机构”数据集开发的模型的性能:

  1. 在没有阈值的情况下插值并预测空值
  2. 不切割数据帧
  3. 计算衍生特征并转换数据以及原始文件中非空的值。在实际生产中,计算训练流程中的最后四个步骤。

建模

本节概述了选择的模型类型,详细描述了选择的架构,包括层和精细调整的超参数,然后是用于评估该模型性能的评估标准。

模型架构与超参数

在尝试了包括简单RNN和LSTM网络在内的各种模型后,观察到简单RNN表现更好。这表明数据中存在短期依赖性,并且没有必要捕捉长期依赖性。这意味着RNN足以解决该问题,而无需通过使用更复杂的模型引入不必要的复杂性。

选择这种简单架构是因为它在时间建模能力和计算简洁性之间取得了平衡。与诸如Transformer之类的深度或复杂架构不同,RNN是轻量级的,非常适合捕捉血糖数据中的短期时间依赖性。这种选择与部署目标一致,因为该模型旨在用于实时使用,较低成本的模型将更高效。此外,该流程包括广泛的特征工程和特定领域的预处理,这些封装了数据中的许多时间和上下文模式。这减少了模型在内部提取此类模式的需求,从而降低了使用更深或基于注意力的架构的边际收益。

确切的模型架构和使用的超参数如表5所示,并在图6中可视化。该模型由3个RNN层组成,后接2个线性层,所有层都有64个神经元。采用Adam优化器,学习率设置为1e-3。此外,训练数据以批次处理,每批大小为64。

在本研究中,预测范围设置为30分钟,相当于6个读数。这一选择基于临床干预需求和现有文献。重要的是,研究表明,较短的预测范围限制了由于生理延迟而进行胰岛素或碳水化合物干预的能力,而较长的预测范围则带来了更大的预测不确定性。类似地,一项研究比较了15分钟和60分钟的预测范围,并报告称30分钟范围为预防措施提供了一个临床安全窗口,且在SEG中具有高精度(15分钟时>99%安全区,60分钟时为95%)。从医学角度来看,速效胰岛素需要大约15-30分钟才能开始降低血糖水平,而碳水化合物摄入可能需要长达20分钟来纠正低血糖。因此,30分钟的窗口确保了足够的提前时间来施用速效胰岛素或碳水化合物,并保持预测可靠性。此外,选择12个读数的历史窗口大小,对应60分钟。

结果与讨论

根据前述评估指标,对12名患者评估了模型的性能。

模型评估

该模型超越了文献综述部分报告的结果,展示了在预测血糖水平方面的卓越能力。RMSE值在15.96到21.57之间,误差范围在0.03到0.45之间。在所有患者中,ID 570的误差最低(15.96),而ID 584的误差最高(21.57),反映了个体血糖动态的变异性。平均而言,该模型实现的RMSE为19.24 ± 2.07,MAE为13.64 ± 1.40。当考虑患者的置信区间时,RMSE为21.88,MAE为15.29,确认了性能估计的稳定性。除了基于误差的指标外,该模型获得的平均R²为0.894 ± 0.044,显示近90%的血糖轨迹变异可由预测解释。同样,平均MCC为0.806 ± 0.049,证明了在低血糖、正常血糖和高血糖状态之间的平衡分类性能。这些发现不仅证实了高预测精度,也证实了跨患者的鲁棒性和一致性,从而加强了所提出框架的临床可靠性。

尽管为每个患者拟合一个单独的模型在计算上可能很昂贵,但它允许个性化预测。这种方法考虑了每个患者独特的血糖读数模式,从而为个体患者提供量身定制的预测。此外,RNN架构被发现是解决该问题的合适模型,因为预测血糖水平不需要很长的历史数据,并且一小时被认为是一个可接受的窗口,在文献中常用。

此外,为了评估所提出预测模型的临床相关性,进行了克拉克误差网格分析并可视化。结果显示,86.24%的预测落在A区,表示准确且临床可接受的读数,而12.23%在B区,代表对临床决策无显著影响的良性误差。只有1.53%的预测落在C区,这可能导致不必要的治疗,但不构成严重风险。值得注意的是,没有发现预测落在D区或E区,这些区域与危险或可能危及生命的误差相关。这些发现证实了所提出模型的临床实用性和安全性。

除了CEG分析外,还计算了低血糖、正常血糖和高血糖范围的特定类别性能指标。该模型在检测低血糖事件方面表现出强大的性能,精确度为0.776,召回率为0.859,F1分数为0.912,强调了其在管理低血糖事件方面的临床效用。对于正常血糖,虽然召回率很高(0.953),表明大多数正常血糖值被正确识别,但较低的精确度(0.493)表明与相邻类别存在一些重叠。高血糖检测显示出平衡的性能,精确度为0.703,召回率为0.903,F1分数为0.829。这些结果证实,该模型不仅提供临床安全的预测,而且在血糖状态之间表现出强大的判别能力,特别是在关键的低血糖范围内。

模型可解释性

为了临床解释所提出的预测框架,采用了可解释的人工智能技术。具体来说,计算SHAP值以评估每个工程特征对模型预测的贡献。平均绝对SHAP值显示,过去一小时的平均血糖(avg)是最具影响力的特征,其次是trend和与时间相关的特征。这个排名与从决策树分析得出的特征重要性一致,从而将工程特征的相关性与RNN的内部行为联系起来。

同时,使用注意力机制研究了RNN的时间焦点。注意力权重热图显示了在所有样本中,历史血糖读数的相对重要性。结果表明,与较早的时间步相比,更近的历史时间步获得了更高的注意力,这与临床预期一致,即近期值对短期血糖预测具有更强的影响。

通过SHAP结合特征级别的可解释性,以及通过注意力可视化结合时间上的可解释性,所提出的框架提供了对模型行为的补充见解。这种双重视角的可解释性提高了透明度,建立了临床信任,并证明该模型有效地捕捉了工程特征的相关性和短期时间依赖性。

与类似研究的比较

尽管所提出的模型可以认为是简单且轻量级的,但无论是在精度还是复杂性方面,它都优于其他架构。一项研究显示出与本研究工作相比略低的平均RMSE。然而,该模型在特定患者上表现出相似的性能,同时在某位患者上超越了其性能。此外,尽管另一项方法仅局限于六名患者,而本研究全面涵盖了所有12名患者,但RMSE值却惊人地相同。值得注意的是,该模型在特定患者上表现优于他们的结果。而另一项研究的结果显示,尽管采用了包括LSTM、双向LSTM和线性模型的集成模型(这代表了比本研究复杂得多的架构),但其性能水平与所提出的模型相同。另一项研究引入了一个复杂的LSTM、WaveNet和GRU组合模型,但本研究的模型表现出更优越的性能。

除了实现有竞争力的预测精度外,所提出模型的临床意义在于它能够提前足够的时间预测关键的血糖波动,以便进行干预。30分钟的预测范围使患者和护理人员能够主动调整胰岛素剂量、进餐时间或活动水平,从而可能预防危及生命的低血糖或高血糖事件。

考量与局限性

本研究使用从高分辨率CGM数据集中提取的12名患者的数据进行。虽然该数据集提供了丰富的时间和上下文信息,但相对较小的样本量在通用性方面存在局限性。所选患者可能无法完全代表更广泛糖尿病患者群体中发现的血糖动态多样性,包括生活方式、合并症和糖尿病管理策略。因此,当前的研究结果——尽管在此受控队列中是有效的——可能无法完全捕捉现实环境中观察到的变异性和复杂性。存在采样偏差的潜在风险,即模型可能无意中对该特定群体的数据分布表现更好。未来的工作应侧重于使用更大、更多样化的人群来验证该框架,理想情况下通过与临床中心合作或进行现实部署。

实际应用

所提出的血糖预测框架设计时明确关注现实世界的部署,特别是作为与CGM设备集成的基于云的基础设施的一部分。系统架构如图所示,其中通过可穿戴传感器收集血糖读数并流式传输到云服务。云基础设施整合了用于存储的MongoDB、用于流处理的Apache Kafka、用于数据处理的Spark以及用于模型训练和推理的PyTorch。然后,预测输出通过可通过移动和网络平台访问的应用程序界面传递。这种端到端的设计确保了实时处理和用户反馈,支持低血糖和高血糖的早期警报。通过将预测模型与可扩展的云服务和面向患者的应用程序集成,该框架展示了现实世界部署的可行性,以及用于临床和个人糖尿病管理的可及性。

时序分析

为了进一步评估所提出框架的计算效率,与包括LSTM、GRU和简单1D CNN基线在内的替代时间序列层进行了比较。进行此分析是为了实证证明RNN是该应用最轻量级的架构。所有实验均在配备特定CPU、16 GB RAM、SSD NVMe存储和GPU的系统上运行。结果总结了每个模型在单个患者数据集上训练时的训练时间、推理延迟和峰值内存使用情况。

结果证实,与LSTM和GRU相比,RNN需要的训练时间和GPU内存显著减少,同时保持可比的推理延迟。尽管CNN表现出与RNN相似的GPU内存使用量,但它的训练时间更长。这些发现支持了RNN是一个计算高效且轻量级的模型的结论,使其非常适合实时血糖预测。

结论

糖尿病 mellitus 是一种慢性疾病,需要定期检查循环系统中的血糖水平。对于患者来说,未能将血糖水平维持在一定范围内可能会产生严重后果。因此,大量现有研究关注血糖水平的预测。在此背景下,创建血糖水平预测模型是本研究活动的重点,主要目标是准确预测前导时间为30分钟的血糖水平。主要专业领域是应用先进的方法处理缺失数据和进行特征工程。总体目标是通过为患者提供关于其血糖趋势的高级见解,为预防糖尿病做出贡献。应用RNN模型预测前导时间为30分钟的血糖水平。使用RMSE指标评估模型的性能,该指标是预测精度的关键指标。RMSE值在15.96到21.57之间,误差范围在0.03到0.45之间。该模型对某些个体显示出强大的预测性能,但在准确捕捉其他个体的血糖波动细节方面存在困难。尽管如此,这项研究在为患者提供对其血糖趋势的有价值见解方面标志着重大进展,这与糖尿病预防的广泛目标一致。FINISHED