APP下载

基于图节点动静态特征的健康事件预测模型

2023-11-14陈俊义

计算机与现代化 2023年10期
关键词:静态卷积动态

陈俊义

(南京航空航天大学计算机科学与技术学院,江苏 南京 211106)

0 引 言

电子病历(EHR)是一种多变量时间序列数据,记录患者在医院的就诊数据,例如确诊疾病、各项抽检指标等[1]。研究人员根据EHR 提供的宝贵数据对健康事件进行预测。对健康事件的准确预测有利于医生对患者进行预防性健康监测和实施个性化护理计划,降低医疗成本。

近年来,由于卷积神经网络具有超强的特征表征学习能力,许多利用EHR 数据的深度学习模型被提出,以解决健康事件预测。现有工作大多采用时间任务模型。例如Bai 等人[2]通过RNN 模型挖掘EHR 数据的时间特征。然而,时间序列模型将确诊疾病视为彼此独立,并没有考虑疾病之间的相互关系。

患者一次就诊会产生一组生命体征数据和一组确诊疾病。因此,确诊疾病之间存在某种静态关系——确诊疾病共享这组体征数据。

如图1 所示,患者的临床健康处在变化的过程,不同时间就诊所确诊的疾病组合不同。图中橘色节点表示当前就诊的确诊疾病,白色节点表示当前就诊未确诊的疾病。在每次就诊时,都需要挖掘疾病之间的动态关系、学习疾病的动态表征,以更好地挖掘确诊疾病对当前就诊患者的影响。

图1 不同就诊记录中的确诊疾病组示意图

近期,出现了少量从疾病关系进行构图建模的工作。例如,Lu 等人[3]构建疾病关系图,并通过图神经网络动态挖掘疾病在特征空间中的表示。然而,Lu并未考虑疾病之间的静态关系,因此需要使用多个关系图才能更好地挖掘疾病的隐表征,导致模型参数量过大、训练时间过长、预测性能较差。

为了减少模型学习中使用关系图的数量,以降低模型的复杂度,本文提出一种融合疾病动态和静态信息的表征方法。首先,构建全局疾病节点图,然后设计一种动静态特征融合机制,挖掘疾病节点的隐表征,最后使用门控循环单元(GRU)挖掘历史诊断信息与当前诊断信息的关系。本文的主要工作归纳为2点:

1)提出一种基于临床生命体征数据的疾病静态特征挖掘方法,并提出了一种基于one-hot 的疾病编码方式。

2)提出一种有效的动静态特征融合机制,并通过实验对比各基线模型,验证本文模型的有效性。

1 相关工作

1.1 临床健康预测

临床健康预测是指根据患者以往的就诊信息,例如就诊时间、疾病确诊情况、人口统计学信息等对患者未来的健康状况进行预测,例如ICU转移预测、ICU死亡风险预测、患者身体状况恶化预测等。现有的健康表征方法包括传统方法和深度学习方法。

在过去几年中,EHR 的临床数据量呈爆炸式增长,各种深度学习模型[4-11]被提出用于健康事件的预测。例如CCARNN[12]考虑时间的变化,并使用RNN基于挖掘的ECG 特征来检测心力衰竭。然而,这些工作没有利用EHR 数据中的疾病共现信息,因此无法挖掘疾病的隐特征,进而实现临床疾病预测。

1.2 疾病关系图结构

图结构存在于各种各样的现实世界场景中,分析这些图结构可以深入了解如何很好地利用隐藏在图结构中的隐信息[13-15]。

近年的研究成果显示出图结构对EHR 数据建模也具备有效性。例如,Shang 等人[16]提出一种新模型,它结合了图神经网络和BERT[17]的强大功能,用于医疗代码表示和药物推荐。

尽管这些方法利用了EHR 数据的各种图形结构,但它们并未对疾病本身进行建模。少量工作通过构建疾病之间的图关系,挖掘疾病之间的影响关系,进而学习疾病的隐表征。例如Lu 等人[3]提出的Chet模型利用疾病的共现信息构建了1个全局疾病图和2个确诊疾病子图,通过图卷积网络动态地学习疾病节点的隐表征。

然而,Chet 模型需要构建的子图过多,且未挖掘疾病的静态特征,不能很好地表征疾病,导致模型的预测性能较差。

1.3 时间关系挖掘

在医疗保健领域,挖掘时间的依赖关系非常重要[18-19]。许多研究人员设计了不同的模型来挖掘可能的时间模式。基于RNN的模型在对复杂的EHR数据建模及预测方面,尤其在对慢性病相关任务的预测非常强大。

然而,当时间序列跨度较长时,RNN 模型会出现梯度爆炸和梯度消失等问题。为了解决这个问题,后续研究人员使用长短期记忆(LSTM)模型或门控卷积模型(GRU)替代RNN模型。

2 问题描述

重症监护医疗信息MIMIC-Ⅲ是一个大型单中心数据库,包含生命体征数据、疾病诊断代码、住院时间和存活状态等信息。本文模型使用到的符号如表1所示。

表1 本文模型使用的符号

本文的预测任务可以表示为:给定某患者的疾病诊断结果数据集Rp及就诊体征信息数据集Qp,预测在第v+1 次就诊中,患者是否患有心力衰竭yv+1∈{ 0,1} 。

3 动静态特征融合(DuDas)模型

在本章中,将阐述本文提出的DuDas模型的详细技术。如图2所示,DuDas 模型由5个部分组成:静态挖掘模块、one-hot 编码模块、特征融合模块、图卷积模块和GRU模块。

图2 DuDas模型框架图

3.1 疾病节点的静态表征

患者每次就诊会确诊出一组疾病,同时患者会在间隔均匀的多个时间步长上接受对生命体征信息的监测。即患者单次就诊记录包含多个临床体征信息序列和一组确诊疾病。由于二者存在一对多或多对多的映射关系,为了挖掘二者的内在关联性,本文给出一种随机抽样取均值的方法来更好地实现疾病与生命体征信息二者的一一映射。具体方式如下:

在所有患者的体征信息数据集H中,随机选取条K与确诊疾病di相对应的生命体征时序数据:

然后根据此数据集合取平均值:

生命体征监测信息反映了患者的临床健康状况,定义上述方式挖掘的隐特征adi为疾病节点的静态表征。那么,所有疾病的静态表征为As={adi|di∈d}。

3.2 构造全局疾病图

构造一个无向图来表示疾病之间的共现关系。图节点是疾病,图边权重是2 种疾病的共现频率。统计数据集E的Rp中疾病节点di与dj的共现次数,然后据此计算共现频率。

由于疾病的共现关系可能是偶然的,使用阈值θ来过滤掉偶然发生的共现疾病对。对于疾病节点di,其相邻节点的集合为:

其中,wij表示疾病节点di与dj的共现频数。则其相邻节点共现的总频数为:

使用邻接矩阵M∈Rn×n表示疾病图的连接关系:

3.3 图卷积层

图卷积网络(GCN)[20]用于节点分类[21-22]和网络嵌入[23-24]等任务中挖掘拓扑图结构节点的特征。它基于拉普拉斯矩阵图的分解实现频域滤波:

其中,Λ= diag([λ1,…,λN]) ∈RN×N,L=UΛUT是图拉普拉斯矩阵,U是G的傅里叶基,X是输入信号。因此原始的GCN依赖于拉普拉斯矩阵L的分解。

通过如下方式,可实现快速GCN:

其中,θm是模型参数,m= 0,…,M- 1 是切比雪夫多项式Cm(L͂)的顺序。Cm(L͂)取值如下:

当M= 2,λmax≈2时:

其中,A是无向图的邻接矩阵,D是可训练权重矩阵参数。令A͂表示带自环的归一化邻接矩阵,Z表示输出,则图卷积层被定义为:

患者的临床健康是动态变化的,针对患者的每次就诊数据,需要动态地挖掘疾病之间的隐关系。在这个步骤通过GCN 动态自适应学习的隐表征,定义为疾病节点的动态表征。

本文使用one-hot 向量来表示疾病节点,以区分不同的疾病。但是one-hot表征的缺点是明显的稀疏性,容易导致维度灾难。为了解决这个问题,需要将one-hot向量映射到低维向量空间。

one-hot 本身不包含节点隐特征信息,模型通过学习一个向量查找表,压缩one-hot向量,使该向量富含高阶隐信息。

如图3 所示,疾病节点di的one-hot 表征为ei,本模型需要学习的查找表为M∈Rf×n,则第v次就诊时,疾病的初始隐特征为∈Rf×1,其中n为疾病节点的个数,f为隐向量的维度。

图3 查找表压缩one-hot向量示意图

如上所述,疾病具有静态和动态表示。对于患者的第v次就诊记录,同时考虑疾病节点的静态和动态表示,并学习一个可以更好表示节点的动态隐向量∈Rf。受残差结构设计的启发,将adi与融合为第v次就诊时疾病节点的初始动态隐表征=adi+。

本文构建一个图卷积模块来挖掘疾病节点之间的动态相关性。图卷积操作可以聚合每个节点与其邻居节点的特征。图卷积操作的输入是疾病节点的初始动态隐表征。通过图卷积操作后,疾病节点di的最终动态隐表征为:

令l1=n,l2=f,则查找表M∈Rl1×l2,b∈Rf是偏差参数。于是在第v次就诊记录中,经过图卷积层的操作,所有疾病节点的最终动态隐表征为:

3.4 门控循环单元挖掘时间依赖

医生在看诊时,不仅关注当前就诊记录,还会回顾患者以前的病史记录。因此在医疗健康预测任务中,挖掘就诊序列之间的时间依赖十分必要。

本模型使用GRU 学习时间动态的长短依赖。使用GRU 进行挖掘前后疾病的表征分别称为动态隐表征DHv∈Rf×n与最终隐表征Hv∈Rf×n。

初始时,令第0 次就诊的疾病隐表征为H0= 0。由于Hv包含第v次就诊中所有疾病节点的隐表征信息,本文使用最大池化层来计算第v次就诊的表示向量Vv= max_pooling(Hv) ∈Rf×1。

然后,使用局部注意力来计算每个患者的隐表征F:

最后使用带sigmoid 激活函数的全连接层作为分类器对F进行分类,以用于特定任务的最终预测。

4 实验设计

4.1 任务

使用本文提出的模型解决心力衰竭预测任务,并用交叉熵损失作为目标函数。

心力衰竭任务是指给定前v次就诊是否患有心力衰竭的信息,预测第v+1 次就诊时,患者是否患有心力衰竭。在该任务中,若患者在某次就诊中被诊断出患有心力衰竭,则后续诊断患者都会确诊出患有心力衰竭。这是一个二分类任务。

4.2 数据集介绍

本文使用2 个公开数据集——MIMIC -Ⅲ和MIMIC-Ⅳ来验证模型的预测性能。

MIMIC-Ⅲ记录了2001—2012 年共7493 个患者的就诊信息,共4880 种诊断疾病。MIMIC-Ⅳ记录了2013—2019 年共85155 个患者的就诊信息,共6102种诊断疾病。数据集具体描述如表2所示。

表2 MIMIC-Ⅲ和MIMIC-Ⅳ的数据集相关参数

对于MIMIC-Ⅲ与MIMIC-Ⅳ数据集,分别随机抽出5000 与10000 名患者的就诊信息作为训练集,500与1000 名患者的就诊信息作为验证集,1953 与4000名患者的就诊信息作为测试集。

4.3 评估指标

心力衰竭预测任务是数据极不平衡的二元分类任务,本文采用的模型性能评价指标为AUC和F1分数。

为了保证实验结果的准确性,所有模型在MIMIC-Ⅲ和MIMIC-Ⅳ都运行7 次,取多次运行结果的均值和方差。

4.4 基准模型

为了评估本文模型的有效性,本文选择以下基准模型进行比较:

1)RETAIN[24]:提出了一种以相反的时间顺序训练2个RNN的方法,以有效地生成适当的注意力系数。

2)Dipole[25]:提出了一种在双向RNN 上应用各种注意力机制的模型。

3)HiTANet[26]:提出了一个新的分层时间感知注意力网络模型。

4)Deepr[27]:提出了一种将就诊记录转换为离散元素序列的方式,并在序列之上使用卷积神经网络(CNN)。

5)Chet[4]:构建了一个基于多种节点属性的全局疾病共现图。

除了上述基准模型,本文还考虑了本文模型的2种变体,以验证静态特征挖掘模块和动态特征挖掘模块的有效性。1)DuDas-wd:移除模型的动态挖掘部分,只考虑疾病节点的静态表征;2)DuDas-ws:移除模型的静态挖掘部分,只考虑疾病节点的动态表征。

4.5 实验结果与分析

本文实验在体征信息数据集H中,随机选择K=1000 条与确诊疾病相对应的时间序列数据。设置阈值θ=0.01过滤偶然发生的共现疾病对,并设置图卷积层数l=1。GRU 的隐特征维度为128,嵌入查询矩阵为4880×32 的矩阵。编程环境为Python 3.7.3、Pytorch 1.1.0,CUDA版本为10.0.130。

本文实验所有模型的平均性能和标准偏差如表3所示。

表3 各种模型预测结果(均值±方差)的比较

根据表3 的结果,Chet 模型和DuDas 模型在心力衰竭预测任务上均优于基于RNN 与基于CNN 的模型。这说明基于上一次确诊疾病拓扑关系来预测下一次就诊时的确诊疾病的方法是有效的。

可以观察到所有模型在MIMIC-Ⅳ的预测性能整体上高于在MIMIC-Ⅲ的预测性能。实验结果验证了增加模型的训练数据量,可以提高模型的预测性能。同时,可以观察到,当数据量增大时,基于图结构的模型,其预测准确率提高幅度大于基于RNN与基于CNN 的模型。这可能是因为图结构隐含的信息量更大。

对比Chet模型和DuDas模型,后者的预测性能优于前者。Chet 模型构建了3 种疾病关系图,DuDas 模型只构建了1 个全局图,但是在表征疾病节点时,同时考虑了疾病之间的动静态信息。这说明了本文提出的疾病动静态特征融合方法在表征疾病节点隐特征的有效性。

从实验结果可以发现,仅使用疾病的静态或动态特征会降低模型的预测性能。还可以观察到,仅依赖动态特征的模型的性能略高于仅依赖静态特征的模型。一个合理的解释是,疾病节点的隐表征可以通过图神经网络更好地挖掘出来。

4.6 参数实验

静态挖掘模块中的参数K与构造全局疾病图参数θ影响着模型分类的性能。因此,需要通过实验探究阈值的最优值。

本节实验仅在MIMIC-Ⅲ数据集上进行实验探究。

如图4 所示,左图为参数K对模型性能影响示意图,右图为参数θ对模型性能影响示意图。根据图4左图,发现当K<1000 时,K值越大,AUC 和F1 分数越高,说明模型分类性能越好;当K>1000 时,AUC 和F1分数分别稳定在0.86 和0.72 上下波动。由于K值越大,计算时间越长,所以K=1000是最佳参数设置。

图4 参数实验结果示意图

图4 右图的实验结果说明,当使用θ=0.001或者θ=0.1 进行构造全局疾病图时,模型的性能弱于使用θ=0.01时。一种可能的解释是,当阈值过低时,无法过滤偶然发生的疾病对;当阈值过高时,导致应该具有共现关系的疾病对不具备拓扑连接关系。这2 种情况都导致无法很好地学习疾病的动态隐特征。

5 结束语

本文首先从所有患者的病历入手,以确诊疾病为节点,以疾病与疾病之间的共现频率为边权重来构建疾病节点图。

在每次就诊的记录中,只有确诊疾病节点构成的子图才是有利于预测任务的图结构,然后设计一种挖掘疾病特征的方法,使疾病的隐表征可以包含动态和静态信息;最后基于GRU,挖掘历史就诊记录对当前就诊记录的隐关系。本文在MIMIC-Ⅲ和MIMIC-Ⅳ数据集上基于上述模型进行了心力衰竭预测实验。实验结果验证了本文所提出的模型的有效性。

在未来的工作中,将进一步完善对疾病隐特征的挖掘,如提高对疾病静态特征的挖掘能力,使本文提出的模型能够在更多的临床预测任务中发挥更大的作用。

猜你喜欢

静态卷积动态
国内动态
国内动态
国内动态
最新进展!中老铁路开始静态验收
基于3D-Winograd的快速卷积算法设计及FPGA实现
动态
从滤波器理解卷积
猜猜他是谁
基于傅里叶域卷积表示的目标跟踪算法
具7μA静态电流的2A、70V SEPIC/升压型DC/DC转换器