本发明涉及先验医学知识技术领域,尤其涉及一种基于先验医学知识的疾病风险预测方法。
背景技术:
随着电子健康记录的大量积累对这些数据的分析使研究人员和医疗服务提供者更接近个性化医疗的目标。然而,原始ehr数据有其自身的问题,如高维数、时间性、稀疏性、不规则性、偏倚等。这些挑战大大增加了直接传统机器学习或统计模型用于预测患者潜在疾病的应用难度,这是中世纪医学领域的一个核心任务,称为风险预测。
最近,深度学习模型显示了直接从原始电子健康记录中提取出有意义特征的能力,包括计算表型、诊断预测、风险预测等。特别是在风险预测任务中,采用了基于注意力的递归神经网络来预测患者心衰。随着性能的提高,卷积神经网络也被用来捕捉患者来访时的局部时间特征,并预测疾病的风险。
虽然上述基于深度学习的模型在风险预测任务中取得了很好的效果,但是他们都忽视了先验医学知识的重要性,例如疾病与其相应风险因素之间的关系。众所周知,先验医学知识在医疗领域起着重要作用。当一个病人去看医生时,医生首先会检查病人目前的症状,然后会仔细检查病史,如药物、吸烟史、饮酒史、家族史等,这些都是疾病的危险因素。
技术实现要素:
本发明目的是克服现有技术上的不足,将先验医学知识与预测模型合理结合,提供一种基于先验医学知识的疾病风险预测方法。
本发明是一种新颖的预测模型prime,它可以成功地将异构离散的先验医学知识集成到预测模型中以提高性能,该模型可以采用所有现成的基于深度学习的方法作为基本预测模型。
模型构建包括以下步骤:
1).以向量形式输入第p位患者的ehr记录数据x(p)。
2).使用基于卷积神经网络(cnn)的预测模型来获得预测概率向量
3).整合先验医学知识进入基本的风险预测模型,引入一个期望分布q(yp)以及后验正则化技术,设计约束特征,得到损失函数。
4).计算新的目标函数,获得风险预测模型的最优参数并进行风险预测。
所述的步骤1)具体操作如下:
预测模型的输入是第p位患者的ehr记录,定义为
所述步骤2)具体操作如下:
2.1)在
2.2)应用一个全连接的softmax层以产生预测概率,如下:
2.3)预测概率
所述步骤3)具体操作如下:
q是后验信息约束的集合,定义为:
设q(yp)表示患者p的期望分布。后正则化损失函数定义为:
其中α是一个超参数,用于平衡预测模型损失之间的平衡以及后验正则化,kl(·||·)是用于测量预测模型中期望分布与后验分布之间差异的kullback-leibler散度。
3.1)设计患者约束特征。
给出患者p的人口统计信息
其中ε定义为与预测相关的种族集合。因为φe的值为1或0,因此种族向量φe=[1,1]或[0,0]。为了模拟对案例和控制的不同重要性,引入约束特征种族的置信度向量γe。
对于大多数疾病,随着患者年龄的增长,风险会增加。因此,引用常用的逻辑函数来模拟年龄的影响如下:
其中
3.2)设计潜在疾病约束特征
首先得到每个风险预测任务的潜在疾病,记为
其中,
3.3)设计疾病持续时间约束特征
为了获得潜在疾病的持续时间,首先从患者p的就诊记录中找到某一潜在疾病d的起始时间
其中,
3.4)设计遗传病和家族史约束特征
首先收集了一组与目标疾病相关的遗传疾病
与种族约束特征相似,φg的值为1或0。因此,φg=[1,1]或[0,0],γg为置信向量。
一些疾病与整个家庭的疾病史有关,例如慢性肾病。我们收集了一系列家族史疾病
其中,φh=[1,1]或[0,0],置信向量为γh。
3.5)使用所有风险因素的权重组合进行预测,将损失函数改写为如下目标函数为:
其中对先验医学知识编码的后验分布
γ·φ(x(p),yp;w)=γe⊙φe+γa⊙φa+γu⊙φu+γd⊙φd+γg⊙φg+γh⊙φh
γ是根据先验医学知识不同的约束特征类别的可学习置信矩阵,w为参数集。
其中
所述的步骤4)具体操作如下:
最小化目标函数,得到一系列参数:
与现有技术相比,本发明具有的优点和积极效果是:
本发明使用后验正则化方法自动将离散的医学知识或规则结合到深度预测模型中。相较于传统的后验正则化方法,模拟患者目标疾病的所需分布时,不需要手动设置每一条先验医学知识的界限,其构建的预测模型实现了比最先进的基线更准确的预测结果,另外,本发明方法所构建的预测模型可以通过对数线性模型自动学习不同的先验知识,给疾病风险预测工作带来了极大的贡献。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明的框架示意图;
图2为学习出的置信矩阵示意图;
图3(a)为病例预测中先天疾病对疾病预测的影响示意图,图3(b)对照患者的潜在疾病权重示意图;
图4(a)为总体趋势的权重示意图;图4(b)为潜在疾病权重示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
本文提出了一种新的、通用的模型,称为风险预测任务prime(priorormedical),其采用后验正则化技术对离散的、异构的先验医学知识进行建模。
图1通过框架简易的说明了本发明的构建过程;为了说明本发明的技术效果,采用具体的实验对本发明进行实施验证。
实验使用了三个真实有效的ehr数据集,包括心力衰竭,copd和慢性肾病。对于训练模型,我们使用adadelta,mini-batch大小为50。我们以0.75:0.10:0.15的比例将数据集随机划分为训练、验证和测试集。验证集用于选择参数的最佳值。我们重复所有的方法10次,并报告平均性能。
实验流程:
实验一:
统计数据集,如表1:
表1
列出三个预测任务中的所有潜在疾病对应icd-9代码,如表2:
表2
实验二:
执行以下用于分类方法的传统基线模型:
(1)素数与logistic回归(lr);(2)支持向量机(svm);(3)随机森林(rf)。输入数据为每次就诊出现的所有诊断代码的频率。
执行以下用于深度学习的基线模型:
(1)gru神经网络;(2)长短期记忆网络(lstm);(3)retain(4)卷积神经网络(cnn)。对于gru,lstm和retain,潜在表征大小设为256。对于cnn,设置过滤器窗口(l)的大小为2到5,其中过滤器映射为s=100。
执行以下prime模型:
(1)使用lstm为基本预测模型且加入先验医学知识的primer,设置α=β=0.01;(2)使用cnn作为基本预测模型且加入先验医学知识的primec,设置α=0.01,β=0.01;(3)使用lstm为基本预测模型且不加入先验医学知识的primer-,设置α=β=0.01;(4)使用cnn作为基本预测模型且不加入先验医学知识的primec-,设置α=0.01,β=0.1。
实验三:
对于每一种潜在疾病,如果在患者就诊时出现一种诊断代码,则该疾病的计数器增加1。每一种潜在疾病的持续时间从第一次出现的日期算到最后,并以月份来衡量。如果潜在疾病的发生频率小于3,那么在我们的实验中,我们将其设置为0,并将其持续时间设置为0。
心力衰竭预测任务中使用的约束特征包括年龄,潜在疾病及其持续时间。潜在疾病集合
实验结果及分析
表3显示了三种医疗数据集上所有方法的性能。
表3
在心力衰竭数据集上,传统的lr、rf和svm方法的整体性能都比基于深度学习的方法差。这说明采用深度学习技术对高维稀疏的ehr数据进行建模对于风险预测任务是有效的。在四个基于深度学习的基线中,gru和lstm的表现优于retain和cnn。由于retain采用了注意机制,因此培训retain需要大量的ehr数据。心力衰竭数据集的大小相对较小,因此retain的性能较gru和lstm差。cnn的优势在于捕捉当地时间的重要特征。然而,心力衰竭是一种慢性疾病,需要捕捉疾病演化的长期特征。基于rnn的模型可以正确识别心衰数据集上的这些特征,这使得与cnn相比性能更好。对于提出的四种方法,primer取得了最好的性能。我们可以看到,和的性能都优于基本的预测模型lstm。同样,所有这些措施的值primec和primec-高于那些在cnn。这些观察结果有力地证实了先验医学知识可以帮助预测模型提高性能。
在copd数据集中,retain的性能优于gru和lstm,说明在所有基线中,注意力机制开始发挥作用,cnn的性能最好。即使对拟议中的primec和primec-,所有的测量值都小于cnn。原因在于,与某些疾病不同,copd有明确的病因,这与吸烟直接相关。cnn具有出色的能力来捕捉这些局部的重要特征,即的诊断代码,有关吸烟在访问。因此,与其他方法相比,它取得了更好的性能。然而,在使用后验正则化整合先验医学知识后,即与cnn相比,primec提出的方法有了显著的改进。这再次证实了考虑先前的医学知识对风险预测任务是有效的。
由于肾脏疾病患者的特点非常明确,传统的分类方法rf可以达到与深度学习相似的性能。即使在简单的数据集上,结合先前的医学知识仍然可以提高预测性能。在肾脏疾病数据集上,我们也观察到基本模型lstm的性能与所提出的primer的性能相当。这是因为我们不调整最佳超参数α和β。这两个参数对数据集非常敏感。尽管如此,在肾病数据集上,提议的primec优于其他方法。
实验三:
在心力衰竭数据集上由primer学习出的置信矩阵,标准化工具是softmax函数,如图2。只有通过置信矩阵γ,提出的框架模型primer无法确定患者标签。这是因为它们也与约束特征权重相关。
通过primer学习心衰数据集中潜在疾病的权重。x轴代表不同的潜在疾病,1为高血压,2为冠状动脉疾病,3为糖尿病,4位先天性心脏学习,5为瓣膜心脏病,6为饮酒,7为吸烟,8为肥胖。由于学习权重的值可能是负的,我们使用softmax函数来标准化权重向量。y轴表示标准化权重。如图3。
从图3(a)可以看出,在病例预测中,先天性心脏缺陷、瓣膜心脏病、饮酒对病例预测起着重要作用。先天性心脏缺陷是指患者出生时心脏结构中的一种或多种异常。先天性心脏缺陷的并发症之一是心力衰竭。当一个或多个瓣膜不能正确打开或关闭时,瓣膜病可能会导致心力衰竭。一些研究表明,大量饮酒会增加心脏衰竭的风险。
图3(b)展示了对照患者的潜在疾病权重。高血压、冠状动脉疾病和糖尿病的权重远远高于其他危险因素。这并不意味着这三个因素不是预测心力衰竭疾病的风险因素。原因是在为病例构建对照患者时,我们考虑患者的潜在疾病。由于这三种疾病是常见疾病,它们都经常出现在病例和对照患者的就诊中。
通过primer学习心衰数据集中潜在疾病的持续时间,如图4(a)和图4(b),总体趋势与潜在疾病的估计相似。这两幅图表明,所提出的框架prime可以根据输入数据的特征为不同的风险因素学习不同的权重。
综上所述,所提出的prime使用后验正则化自动将离散的医学知识或规则结合到深度预测模型中。通过这样的设计,所提出的框架实现了比最先进的基线更准确的预测结果。