一种基于多粒度图模式挖掘的生存预测方法及系统与流程

文档序号:18890467发布日期:2019-10-15 21:44阅读:168来源:国知局
一种基于多粒度图模式挖掘的生存预测方法及系统与流程

本公开属于电子健康数据处理的技术领域,涉及一种基于多粒度图模式挖掘的生存预测方法及系统。



背景技术:

本部分的陈述仅仅是提供了与本公开相关的背景技术信息,不必然构成在先技术。

生存预测研究的是,根据随访信息预测感兴趣事件(也称“失败事件”)从某个时刻开始将会在多久之后发生。一般来讲,生存预测的主要研究目标包括,探索预后因素的作用、预测新患者将如何表现。因此,它将帮助医生回答诸如某种医疗手段将为患者带来多少益处,患者治疗后生存预估期等现实问题。生存预测的感兴趣事件并非仅限于是“死亡”,它可以是疾病发生、再入院、出院、地点访问等事件。

如今,不断增加的电子健康数据令生存预测面临着更多的挑战。

通常,用来预测的变量是在随访期间内统计得到的,例如年龄、性别、血液检测结果等。探索这些因素的回归系数,是进行生存预测的一个重要方面。从参数的角度考虑,这些模型包括参数模型、非参数模型和半参数模型。从参数是否随时间变化的角度考虑,又分为不随时间变化的参数和随时间发生变化的参数(称之为时变系数)。

然而,发明人在研究过程中发现,与传统上时间相对固定的信息采集模式不同,电子健康数据使我们能够获得大量发生时间完全任意的记录。这些时序数据构成了患者的行为记录(包括,患过什么病、接受了什么样的治疗)。传统的特征构造方法难以定义描述患者健康状况演化过程的特征。

深度学习模型(特别是循环神经网络如lstm、gru等)是解决上述问题的一个重要方向。但是,现阶段人们对于如何解释循环神经网络学习到的特征和时序模式仍然存在困难。然而,对预测给出解释在医疗等领域具有重要意义。

连续时间贝叶斯网络(ctbn)是另一个针对此类问题的重要方向。ctbn将生存概率建模为时间的指数函数,通过条件概率描述不同事件对生存时间产生的影响。该模型在一定程度上具有可解释性。但是,马尔可夫假设将ctbn的表达能力限制为随时间推移建模为指数分布。为了允许更具表现力的分布,必须明确地(通过隐藏变量)或隐式地(通过使用延迟指数或指数的混合)引入隐藏状态。然而,这些扩展并不简单。



技术实现要素:

针对现有技术中存在的不足,本公开的一个或多个实施例提供了一种基于多粒度图模式挖掘的生存预测方法及系统,基于多粒度图模式挖掘对参保人员就医数据进行建模,进而进行生存预测。

根据本公开的一个或多个实施例的一个方面,提供一种基于多粒度图模式挖掘的生存预测方法。

一种基于多粒度图模式挖掘的生存预测方法,该方法包括:

接收参保人的就医历史数据,统计构造参保人的统计特征;

对每个参保人,根据其就医历史数据构造异构信息网络;

采用多粒度图模式挖掘算法从异构信息网络中挖掘就医模式,作为模式特征;

采用cox生存预测模型,分别评估所述统计特征和所述模式特征的偏回归系数,基于比例风险假设计算各个特征的风险,作为增强的特征;

将统计特征、模式特征和增强的特征合并为完整特征集,采用增加评估删失数据预测情况的随机森林评分函数进行生存预测。

进一步地,在该方法中,每个参保人的所述就医历史数据为同一个参保人在不同医院的就医记录,所述参保人的统计特征包括疾病名称以及与其对应的样本总数、患该病的参保人全部的就医事件记录总数和医疗项目种类数、删失样本总数和删失样本占比。

进一步地,在该方法中,所述异构信息网络用于描述参保人的就医行为记录,包括:患病事件、医疗项目、两个相邻患病事件见的次序关系以及患病事件与医疗项目见的使用关系;

所述患病事件包括患病时间和所患疾病;

所述医疗项目包括药品、检查项目和特定的治疗项目。

进一步地,在该方法中,所述采用多粒度图模式挖掘算法从异构信息网络中挖掘就医模式,作为模式特征的具体步骤包括:

在多个时间粒度下执行图模式挖掘算法,在特定时间粒度下挖掘就医模式,获得不同时间粒度下的就医模式;

采用贪心策略集束搜索算法,进行基于支持度的top-k选择;

利用“最小dfs编码”技术,对不同图对象进行同构测试,筛选出top-k个就医模式,作为模式特征。

进一步地,该方法还包括,所述在多个时间粒度下执行图模式挖掘算法时,按层进行图模式挖掘;设定集束宽阈值,利用集束搜索对图模式挖掘过程进行剪枝。

进一步地,在该方法中,在使用随机森林进行生存预测时,采用改进随机森林的评分函数使其适用于生存预测问题,增加违反率评分项;所述违反率评分项为评估删失数据的标签与模型预测值冲突的严重程度的评分项。

进一步地,该方法还包括:将统计特征、模式特征和增强的特征合并为完整特征集,采用增加评估删失数据预测情况的随机森林评分函数训练特征集得到生存预测模型;接收待预测参保人数据,根据生存预测模型进行生存预测。

根据本公开的一个或多个实施例的一个方面,提供一种计算机可读存储介质。

一种计算机可读存储介质,其中存储有多条指令,所述指令适于由终端设备的处理器加载并执行所述的一种基于多粒度图模式挖掘的生存预测方法。

根据本公开的一个或多个实施例的一个方面,提供一种终端设备。

一种终端设备,其包括处理器和计算机可读存储介质,处理器用于实现各指令;计算机可读存储介质用于存储多条指令,所述指令适于由处理器加载并执行所述的一种基于多粒度图模式挖掘的生存预测方法。

根据本公开的一个或多个实施例的一个方面,提供一种基于多粒度图模式挖掘的生存预测装置。

一种基于多粒度图模式挖掘的生存预测装置,基于所述的一种基于多粒度图模式挖掘的生存预测方法,包括:

统计特征提取模块,被配置为接收参保人的就医历史数据,统计构造参保人的统计特征;

异构信息网络构造模块,被配置为对每个参保人,根据其就医历史数据构造异构信息网络;

多粒度就医模式挖掘模块,被配置为采用多粒度图模式挖掘算法从异构信息网络中挖掘就医模式,作为模式特征;

增强的特征生成模块,被配置为采用cox生存预测模型,分别评估所述统计特征和所述模式特征的偏回归系数,基于比例风险假设计算各个特征的风险,作为增强的特征;

随机森林预测模块,被配置为将统计特征、模式特征和增强的特征合并为完整特征集,采用增加评估删失数据预测情况的随机森林评分函数进行生存预测。

本公开的有益效果:

(1)本公开提供的一种基于多粒度图模式挖掘的生存预测方法及系统,为了充分利用患者历史就医记录和每次就医记录使用的医疗项目的信息,本公开将患者的历史就医记录建模为异构信息网络。通过挖掘患者的就医记录发现频繁模式,进而将频繁模式看做特征,使用随机森林进行预测。使用频繁模式和随机森林的优势在于,更容易地对预测结果做出解释。

(2)本公开提供的一种基于多粒度图模式挖掘的生存预测方法及系统,在挖掘频繁模式时,本公开不仅把患病种类和使用的医疗项目考虑在内,同时也将就医事件之间的时间间隔考虑在内。具体而言,(a)提出了“多粒度模式挖掘”过程,从而使提出的模型能够在更恰当的时间粒度上发现有用的就医模式。(b)调整了模式挖掘过程中的评分函数,使得挖掘过程不仅考虑了模式的“支持度”并且考虑了模式的预测能力。(c)将深度优先的gspan算法改造成按层搜索的挖掘算法,有利于采用贪心策略集束搜索来降低模式挖掘的时间复杂度。

(3)本公开提供的一种基于多粒度图模式挖掘的生存预测方法及系统,采用随机森林进行回归预测,因此不必对特征与生存时间之间的映射关系做任何假设。针对生存预测任务,我们改进了随机森林中分类回归树(cart)的损失函数,从而使其能够利用删失数据。此外,受深度学习模型的启示,该模型利用cox模型在原始特征的基础上产生“增强的特征”(即,各个特征的“风险”),并将其与原始特征串联构成完整的特征集合供随机森林进行预测。

附图说明

构成本申请的一部分的说明书附图用来提供对本申请的进一步理解,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。

图1是根据一个或多个实施例的一种基于多粒度图模式挖掘的生存预测方法流程图;

图2是根据一个或多个实施例的具体的基于多粒度图模式挖掘的生存预测方法整体流程图;

图3是根据一个或多个实施例的hin结构图样例图;

图4是根据一个或多个实施例的按层搜索的图模式挖掘的执行样例图;

图5是根据一个或多个实施例的基于图模式挖掘的生存预测装置整体流程图。

具体实施方式:

下面将结合本公开的一个或多个实施例中的附图,对本公开的一个或多个实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本公开一部分实施例,而不是全部的实施例。基于本公开的一个或多个实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本公开保护的范围。

应该指出,以下详细说明都是例示性的,旨在对本申请提供进一步的说明。除非另有指明,使用的所有技术和科学术语具有与本申请所属技术领域的普通技术人员通常理解的相同含义。

需要注意的是,这里所使用的术语仅是为了描述具体实施方式,而非意图限制根据本申请的示例性实施方式。如在这里所使用的,除非上下文另外明确指出,否则单数形式也意图包括复数形式,此外,还应当理解的是,当在本说明书中使用术语“包含”和/或“包括”时,其指明存在特征、步骤、操作、器件、组件和/或它们的组合。

需要注意的是,附图中的流程图和框图示出了根据本公开的各种实施例的方法和系统的可能实现的体系架构、功能和操作。应当注意,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,所述模块、程序段、或代码的一部分可以包括一个或多个用于实现各个实施例中所规定的逻辑功能的可执行指令。也应当注意,在有些作为备选的实现中,方框中所标注的功能也可以按照不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,或者它们有时也可以按照相反的顺序执行,这取决于所涉及的功能。同样应当注意的是,流程图和/或框图中的每个方框、以及流程图和/或框图中的方框的组合,可以使用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以使用专用硬件与计算机指令的组合来实现。

在不冲突的情况下,本公开中的实施例及实施例中的特征可以相互组合,下面结合附图与实施例对本公开作进一步说明。

术语解释:

最小dfs编码。dfs编码的英文全称为depth-firstsearchcode,即深度优先搜索编码,是图模式挖掘领域中一种描述图结构的编码技术。一个图结构可能有多个dfs编码,这些dfs编码可以按字典序比较大小。因此,一个图结构可能有多个dfs编码,但其最小dfs编码存在且唯一。故:一个最小dfs编码可以代表一种图结构;不同图对象的同构测试等价于对比这些图对象的最小dfs编码。

实施例一

根据本公开的一个或多个实施例的一个方面,提供一种基于多粒度图模式挖掘的生存预测方法。

步骤s1:接收参保人的就医历史数据,统计构造参保人的统计特征;

步骤s2:对每个参保人,根据其就医历史数据构造异构信息网络;

步骤s3:采用多粒度图模式挖掘算法从异构信息网络中挖掘就医模式,作为模式特征;

步骤s4:采用cox生存预测模型,分别评估所述统计特征和所述模式特征的偏回归系数,基于比例风险假设计算各个特征的风险,作为增强的特征;

步骤s5:将统计特征、模式特征和增强的特征合并为完整特征集,采用增加评估删失数据预测情况的随机森林评分函数进行生存预测。

在本公开的一个或多个实施例的步骤s1中,使用统计方法构造参保人的“统计特征”。

具体地,基于某地级市的社保系统获取就医历史数据为应用实例,该社保系统的数据包含了同一个患者在不同医院的就医记录,从而使我们能够获得患者更加完整的历史就医记录。选择了6种患病人数较多的疾病作为“基本疾病”来生成6组实验的数据集。选定的疾病分别是动态未定肿瘤(dut)、肺癌(lun)、肺炎(pne)、冠心病(cor)、脑梗塞(cer)和糖尿病(dia)。以动态未定肿瘤为例,该数据集所包含的患者都患动态未定肿瘤这种疾病,且,对于属于该数据集的患者,其历史上的所有疾病的患病记录都包含在该数据集中。表1所示为6种疾病对应的数据集的统计信息。其中,就医事件记录总数和医疗项目种类数并非仅包含“基本疾病”的就医记录和医疗项目,还包含了该数据集的患者所患其他疾病的就医记录和医疗项目。

表1.数据集统计信息

在本公开的一个或多个实施例的步骤s2中,对每个参保人,根据其就医行为记录构造一个异构信息网络(hin),该hin用来描述该参保人的就医行为记录。

具体地,本实施例为每个患者创建一个单独的hin,如图2中所示。图3为某个患者的hin。其中,矩形代表一次患病事件,由事件时间和疾病名称唯一标识。圆形代表一种医疗项目,由医疗项目编号唯一标识。医疗项目包括药品、检查、具体的治疗手段(如静脉注射、持续低流量吸氧等)。相邻2个事件之间的关系上标有两个事件的时间间隔。从图3中可以看出,该患者先后患过2种疾病。第2、3次患病共同采用的医疗项目有2种。

在本公开的一个或多个实施例的步骤s3中,利用多粒度图模式挖掘,从hins中挖掘就医模式。

首先在表2中描述了出现在多粒度图模式挖掘过程中的重要符号的含义。

表2多粒度模式挖掘算法中出现的重要符号的含义

在本公开中,一个“最小dfs编码”代表一种图结构,当该图结构满足本实施例中设定的最小支持度时,该图结构就被看做一种就医模式。因此,在本实施例中,模式集合p、列表lc和ln中的元素均为“最小dfs编码”,即,一串根据dfs编码技术产生的、代表一种图结构的字符序列。在表述时,称列表lc和ln中的元素为“最小dfs编码”,称模式集合p中的元素为“就医模式”。

从hins中挖掘就医模式的具体步骤包括:

步骤s31:多粒度图模式挖掘,就是在多个时间粒度下进行多次图模式挖掘,如算法1所示。其中,fpwg(p,gr)是一个算法,将在步骤s32中详细描述,其作用是在特定的时间粒度gr下,对现有的就医模式集合p进行补充或更新。最终输出就医模式集合p,p中的每个元素看作一个“模式特征”。

步骤s32:在特定时间粒度下挖掘就医模式(fpwg),如算法2所示,包括:

步骤s321:将所有边长为1的子图所对应的最小dfs编码添加到lc中。

步骤s322:对于列表lc,考察lc中的每个最小dfs编码是否满足最小支持度(min_sup),并将不满足条件的最小dfs编码剔除。

步骤s323:如果lc为空,说明已经无法从图集g中挖掘到新的就医模式,则,挖掘过程终止。否则,转至步骤s324。

步骤s324:将lc中的最小dfs编码将被添加到p中。

步骤s325:若p中的就医模式个数大于设定的阈值b,则:

(1)p中仅保留支持度较大的b个模式,多出的模式被从p中移除;

(2)更新lc,lc中仅保留存在于p中模式,以供产生ln。此步骤即为基于集束宽阈值对模式挖掘进行剪枝。

步骤s326:根据lc,由算法gnld(lc)获得ln。其中,gnld(lc)的作用是生成下一层的最小dfs编码,具体步骤将在步骤s33中展示。

步骤s327:用ln更新lc,并转至步骤s323。

步骤s33:生成下一层的最小dfs编码(gnld),如算法3所示,包括:

步骤s331:初始化ln为空列表。

步骤s332:如图4所示,对于ln中的每个最小dfs编码指向的每个图对象s,s通过添加一条边形成新的图对象s′。s通过添加不同的边可以形成不同的图对象s′。对于每一个新生成的图对象s′,执行步骤s333和步骤s334。

步骤s333:对于每一个新生成的图对象s′,利用最小dfs编码技术,生成s′的最小dfs编码,记为ds′。

步骤s334:若ln不包含ds′,则,将ds′添加到ln中,并添加ds′到s′的指针。若ln已包含ds′,则,判断s′是否已存在于ds′指向的对象中,若不存在,添加ds′到s′的指针。

步骤s335:ln剔除不满足min_sup的d。

在本公开的一个或多个实施例的步骤s4中,利用cox生存预测模型,将“统计特征”和“模式特征”映射为“增强的特征”。表3展示了在生成增强的特征模块中出现的重要符号的含义,其中,u代表参保人。

表3生成增强的特征模块中出现的重要符号的含义

具体步骤包括:

步骤s41:对于特征f∈fp∪fs,利用cox生存预测模型,计算f的偏回归系数βf,例如,本实施例利用ibmspssstatistics中的cox回归工具,统计了每个特征的偏回归系数。

步骤s42:计算各个特征的“风险”。对于特征f,令fe代表该特征的增强的特征。设样本a在特征f上的取值为x=f(a),则本实施例通过指数函数将样本a在f上的取值转化为特征f为样本a带来的风险:

fe(a)=exp(βf*x)

因此,原始特征与增强的特征(风险)将表现出不同的分布。

在本公开的一个或多个实施例的步骤s5中,基于改进的随机森林进行生存预测。

经典的回归树根据均方误差gain_σ选择对数据集进行划分的特征和特征取值。设表示完整的样本集,vj是特征fi的一个取值,样本集由特征fi的取值vj将样本集划分为s1和s2。cart使用gain_σ(s|fi,vj)=σ(s1)+σ(s2)来衡量划分效果的好坏。其中,σ(s1)是s1中元素的方差。方差越小,说明划分效果越好。每次划分时,cart选择产生最小gain_σ的<fi,vj>对进行划分。

然而,对于生存预测任务来讲,如果不考虑删失数据,则有可能给模型训练和结果预测带来偏差。在实施例中,我们用x表示样本,并用x*表示删失样本。为了充分利用删失数据,受ci的启示,我们引入违反率gain_vr(s|fi,vj)

gain_vr(s|fi,vj)=vr(s1)+vr(s2)

其中,

其中,card(a)表示集合a中元素的个数。

vr(s)描述的是集合s中,删失数据的标签与预测值是否冲突。

注意,gain_vr(s|fi,vj)的取值范围为[0,1]。在统筹考虑gain_σ(s|fi,vj)和gain_vr(s|fi,vj)之前,我们应当对gain_σ(s|fi,vj)进行归一化。至此,我们有决策树根据<fi,vj>进行划分之后的代价函数

α用来调整两个项的权重。在本实施例中,取α=0.5。

显然,cost越小越好。

本公开的一个或多个实施例还包括步骤6,在以上6种疾病构成的数据集上进行生存预测。并以平均绝对误差(meanabsoluteerror,mae)和一致性指数(concordanceindex,ci)对模型的预测效果进行评价。

表4.平均绝对误差(mae)

表5.一致性指数(ci)

从表4和表5可以看出,本实施例,即基于多粒度模式挖掘的生存预测模型(在表中,用m表示),在大多数情况下比现有模型具有更好的预测能力。

实施例二

根据本公开的一个或多个实施例的一个方面,提供一种计算机可读存储介质。

一种计算机可读存储介质,其中存储有多条指令,所述指令适于由终端设备的处理器加载并执行所述的一种基于多粒度图模式挖掘的生存预测方法。

实施例三

根据本公开的一个或多个实施例的一个方面,提供一种终端设备。

一种终端设备,其包括处理器和计算机可读存储介质,处理器用于实现各指令;计算机可读存储介质用于存储多条指令,所述指令适于由处理器加载并执行所述的一种基于多粒度图模式挖掘的生存预测方法。

这些计算机可执行指令在设备中运行时使得该设备执行根据本公开中的各个实施例所描述的方法或过程。

在中,计算机程序产品可以包括计算机可读存储介质,其上载有用于执行本公开的各个方面的计算机可读程序指令。计算机可读存储介质可以是可以保持和存储由指令执行设备使用的指令的有形设备。计算机可读存储介质例如可以是――但不限于――电存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备或者上述的任意合适的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:便携式计算机盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、静态随机存取存储器(sram)、便携式压缩盘只读存储器(cd-rom)、数字多功能盘(dvd)、记忆棒、软盘、机械编码设备、例如其上存储有指令的打孔卡或凹槽内凸起结构、以及上述的任意合适的组合。这里所使用的计算机可读存储介质不被解释为瞬时信号本身,诸如无线电波或者其他自由传播的电磁波、通过波导或其他传输媒介传播的电磁波(例如,通过光纤电缆的光脉冲)、或者通过电线传输的电信号。

本文所描述的计算机可读程序指令可以从计算机可读存储介质下载到各个计算/处理设备,或者通过网络、例如因特网、局域网、广域网和/或无线网下载到外部计算机或外部存储设备。网络可以包括铜传输电缆、光纤传输、无线传输、路由器、防火墙、交换机、网关计算机和/或边缘服务器。每个计算/处理设备中的网络适配卡或者网络接口从网络接收计算机可读程序指令,并转发该计算机可读程序指令,以供存储在各个计算/处理设备中的计算机可读存储介质中。

用于执行本公开内容操作的计算机程序指令可以是汇编指令、指令集架构(isa)指令、机器指令、机器相关指令、微代码、固件指令、状态设置数据、或者以一种或多种编程语言的任意组合编写的源代码或目标代码,所述编程语言包括面向对象的编程语言—诸如c++等,以及常规的过程式编程语言—诸如“c”语言或类似的编程语言。计算机可读程序指令可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络—包括局域网(lan)或广域网(wan)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。在一些实施例中,通过利用计算机可读程序指令的状态信息来个性化定制电子电路,例如可编程逻辑电路、现场可编程门阵列(fpga)或可编程逻辑阵列(pla),该电子电路可以执行计算机可读程序指令,从而实现本公开内容的各个方面。

实施例四

根据本公开的一个或多个实施例的一个方面,提供一种基于多粒度图模式挖掘的生存预测装置。

如图5所示,一种基于多粒度图模式挖掘的生存预测装置,基于所述的一种基于多粒度图模式挖掘的生存预测方法,包括:

统计特征提取模块,被配置为接收参保人的就医历史数据,统计构造参保人的统计特征;

异构信息网络构造模块,被配置为对每个参保人,根据其就医历史数据构造异构信息网络;

多粒度就医模式挖掘模块,被配置为采用多粒度图模式挖掘算法从异构信息网络中挖掘就医模式,作为模式特征;

增强的特征生成模块,被配置为采用cox生存预测模型,分别评估所述统计特征和所述模式特征的偏回归系数,基于比例风险假设计算各个特征的风险,作为增强的特征;

随机森林预测模块,被配置为将统计特征、模式特征和增强的特征合并为完整特征集,采用增加评估删失数据预测情况的随机森林评分函数进行生存预测。

应当注意,尽管在上文的详细描述中提及了设备的若干模块或子模块,但是这种划分仅仅是示例性而非强制性的。实际上,根据本公开的实施例,上文描述的两个或更多模块的特征和功能可以在一个模块中具体化。反之,上文描述的一个模块的特征和功能可以进一步划分为由多个模块来具体化。

以上所述仅为本申请的优选实施例而已,并不用于限制本申请,对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。因此,本公开将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

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