本发明涉及预测模型领域,尤其涉及一种基于图表模型的健康风险预测方法。
背景技术:
半监督学习(ssl)在基于电子健康记录(ehrs)的医疗保健应用中引起了越来越多的关注。例如,专利网中的一种基于图形的ssl方法,该方法能够了解患者风险组,进行患者风险分层;一种基于图形的ssl联合训练方法,用于乳腺癌生存率预测。当学习者达成共识时,它迭代地将伪标签分配给无标签数据,并在有标签的集合中包含有伪标签实例,直到无标签集合停止减少;一种基于排序的肺结节图像分类的二部分图、一种基于事件序列构建了时间表型的时间图等;但是,这些方法中没有一个考虑“未知”类,并且它们都有针对所有类的预定义实例,无论是由专家还是通过其他机制实现的。
一般健康检查在许多国家是医疗保健的一个组成部分,识别有风险的参与者对早期预警和预防干预是很重要的。尽管电子健康记录已经吸引了越来越多的研究关注在近年来数据挖掘和机器学习社区,挖掘一般健康检查数据是一个尚未充分探讨过了,除了少数研究风险预测等慢性疾病预警系统的提出和以前工作中对健康分数分类框架。然而,这些都没有考虑到未标记的数据。学习风险预测分类模型的基本挑战在于,未标记数据构成了所收集数据的大部分。特别的,未标记的数据描述了健康检查参与者,他们的健康状况可能从健康到重病有很大的不同,区分他们的健康状况没有标准的答案。
技术实现要素:
本发明目的是针对上述问题,提供一种基于图表模型的健康风险预测方法。
为了实现上述目的,本发明的技术方案是:
本发明通过挖掘健康检查记录(hers)的方法,构建了一种基于图表的半监督学习算法用于对风险预测的模型,这种算法被称为shg-health(半监督异构健康图),探索了一个基于her的异类图,称为heteroher图,用大部分未标记的数据对逐步发展的情况进行分类。首先,健康检查记录用图表表示,将所有相关病例联系在一起。其次,捕获数据项的多类型关系,并将其自然地映射到异构图中。第三,特性通过异类图上的标签传播过程以自己的类型加权。
该风险预测模型的建模方法包括以下步骤:
步骤1)设置n位参与者的健康测试记录输入形式;
步骤2)构建heteroher图模型;
步骤3)建立风险预测模型。
所述步骤1)具体操作如下:
1.1)设
1.2)定义:
1.3)令
所述步骤2)具体操作如下:
图形建模允许对稀疏的数据建模。为了捕捉健康检查项目中自然存在的异质性,本发明构建了一个名为heteroher的图表,其中包含基于健康检查记录的多类型节点。
2.1)首先将所有记录值离散化并转化为0-1二进制表示,作为离散值缺乏/存在的指标向量。特别地,对于实值,比如年龄,首先被分为固定的时间间隔。然后,将所有序数和分类值转换为二进制表示。
2.2)节点插入:在步骤2.1中获得二进制表示值为1的每个元素都被建模为heteroher图中的一个节点,不同的是,只有异常结果被建模为检测项目(包括物理和心理)。
2.3)节点类型:每个节点根据其原始值所属的测试类别进行划分,连接到记录类型节点的所有其他非记录类型节点可以看作是这些记录类型节点的属性。
2.4)链接插入:每个属性(非记录)类型节点都链接到一个记录类型节点,该节点表示观察最初的记录。链接的权重是基于一个假设来计算的,这个假设为记录越新,在风险预测方面越重要。定义一个简单的函数g(·)如下:
g(t)=(t-s+1)÷l
式中,t是当前记录时间,l是所关注的时间窗口,s是时间窗口的开始时间。也可使用其他函数,如截断高斯分布和卡方分布。窗口长度是模型考虑的记录的时间段。窗口长度只设置范围。链路加权函数控制时间t记录到模型的贡献。
2.5)输出一个异构图,表示为两个互相连接的任意类型节点i、j的一组权重矩阵wij。
所述步骤3)具体操作如下:
风险预测模型由shg-health算法和heteroher图组成:
3.1)将健康检查数据(ghe)和描述的死亡标签相关原因作为shg-health算法的输入。
3.2)由heteroher图获得权重矩阵wij。
3.3)通过
其中dij是ni×ni对角阵,(p,p)元素是dij,pp,dij,pp=∑qwij,pq是wij中行p的和。
3.4)在i型节点统一初始化fi,i=1,...,m。
3.5)设z=[z1,...,zm]t,0≤zj≤1是第j个类节点的权重。γij定义为i类节点和j类节点中间类型权重:
3.6)i型节点在(t+1)时的软标签由以下两方面决定:1).在t时刻通过链接传播的相邻节点的计算标签得分,2).i型节点的初始标签。对角矩阵
3.7)通过:
其中
3.8)当fi收敛时,返回fi。
与现有技术相比,本发明具有的优点和积极效果是:
本发明提出了一种基于图表模型的健康风险预测方法,其利用半监督学习(ssl)算法对疾病风险进行预测,半监督学习(ssl)算法被称为shg-health(半监督异构健康图),并且探索了一个基于her的异类图,用大部分未标记的数据在异类图中对逐步发展的情况进行分类。首先,健康检查记录用图表进行表示,将所有相关病例联系在一起;然后,捕获检测数据项的多类型关系,并将其自然地映射到异构图中;最后,特性通过异类图上的标签传播过程以自己的类型加权。本发明可以通过查询参与者pi的记录,shg-health预测参与者pi是否属于高风险疾病类别或“未知”类别,其在健康检查数据集和合成数据集上具有显著的预测效果,相较于其他预测模型,其预测准确度较高,给疾病风险预测领域做出了极大的贡献。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为参加者在三个非连续年份参加测试的健康检查记录示意图;
图2为从图1中抽取出的健康检检查记录异类图;
图3为本发明的模型结构图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
本发明提出了一种基于图表模型的健康风险预测方法,其利用半监督学习(ssl)算法对疾病风险进行预测,半监督学习(ssl)算法被称为shg-health(半监督异构健康图),并且探索了一个基于her的异类图,称为heteroher图,用大部分未标记的数据在异类图中对逐步发展的情况进行分类。其主要解决未标记数据的预测问题;该风险预测模型的建模方法包括以下步骤:
步骤1,设置n位参与者的健康测试记录输入形式,
步骤2,构建heteroher图模型,
步骤3,建立风险预测模型。
所述步骤1包括
定义n位参与者的健康测试记录输入为集合:s={s1,...,sl,sl+1,...,sn},其中
所述步骤1还包括
定义:
所述步骤1还包括
令
所述步骤2包括
首先将所有记录值离散化并转化为0-1二进制表示,作为离散值缺乏/存在的指标向量。特别地,对于实值,比如年龄,首先被分为固定的时间间隔。然后,将所有序数和分类值转换为二进制表示。
将获得二进制表示值为1的每个元素都被建模为heteroher图中的一个节点,不同的是,只有异常结果被建模为检测项目(包括物理和心理)。如图1所示,这是参加者p1在三个非连续年份参加测试的健康检查记录的一个例子,其中包括不同类别的测试项目,异常结果标记为黑色。配置文件c包括所有患者的人口统计信息和习惯。
每个节点根据其原始值所属的测试类别进行划分,连接到记录类型节点的所有其他非记录类型节点可以看作是这些记录类型节点的属性。
每个属性(非记录)类型节点都链接到一个记录类型节点,该节点表示观察最初的记录。链接的权重是基于一个假设来计算的,这个假设为记录越新,在风险预测方面越重要。定义一个简单的函数g(·)如下:
g(t)=(t-s+1)÷l
式中,t是当前记录时间,l是所关注的时间窗口,s是时间窗口的开始时间。也可使用其他函数,如截断高斯分布或卡方分布。窗口长度是模型考虑的记录的时间段。窗口长度只设置范围。链路加权函数控制时间t记录到模型的贡献。
输出一个异构图,表示为两个互相连接的任意类型节点i、j的一组权重矩阵wij。如图2所示,为从图1例子中抽取出的健康测试记录异构图,若a3(a类的第三项)的结果在r11(p1的第一个记录)中异常,则r11和a3有链接。链接用g(t)表示权重,
所述步骤3包括
将健康检查数据(ghe)和描述的死亡标签相关原因作为shg-health算法的输入。
如图3所示,为所提出的shg-health算法对风险预测的模型。
由下式计算i,j=1,...,m的归一化权重:
其中dij是ni×ni对角阵,(p,p)元素是dij,pp,dij,pp=∑qwij,pq是wij中行p的和。
在i型节点统一初始化fi,i=1,...,m。
设z=[z1,...,zm]t,0≤zj≤1是第j个类节点的权重。
γij定义为i类节点和j类节点中间类型权重:
i型节点在(t+1)时的软标签由以下两方面决定:1).在t时刻通过链接传播的相邻节点的计算标签得分,2).i型节点的初始标签。对角矩阵
通过下式更新fi:
其中
当fi收敛时,返回fi。
为了说明本发明的技术效果,通过实验对本发明进行实施验证。
实验使用了基于真实数据集分布生成的两组合成数据集,分别是平衡数据集和未标记数据集。选择10个icd疾病类别作为高危疾病类别。icd10的前三位数字用于定义疾病类别,并映射到2009年以前记录的相应分3位icd9代码。建模四种节点类型:记录、物理测试、心理评估和配置文件。通过查询参与者的记录,shg-health可以预测pi是否属于高风险疾病类别或“未知”类别。
实验流程:
实验一:
列出老年健康检查关键属性,如表1:
表1
列出按参与人数(p)及纪录(r)划分的10种疾病类别及未标记个案,如表2:
表2
实验二:
执行以下算法:(1)使用g(t)构建图的shg-health(算法1);(2)使用截断chi平方加权函数构建图的shg-health(算法2);(3)使用截断高斯函数构建图的shg-health(算法3);(4)支持向量机(算法4);(5)最近邻分类器(算法5);(7)gnetmine(算法6);(7)基于图的一般半监督学习(算法7)。
本实验设计了两阶段评估策略来评估提出的shg-health。
在第一阶段,评估了算法识别高风险病历的能力即测试算法预测死亡风险的能力。由于对于消极或健康的病例没有基本事实,本实验使用了侧重于积极预测的方法,即准确性、召回/灵敏度和f-分数。f-分数计算精确度与全查度之间的调和平均值。
在第二阶段,评估预测正确疾病类别,采用宏观精确度和宏观召回措施。宏观平均取每个类计算出的准确率或召回率的平均值。它假设所有的类别都是同等重要的,因此少数类型的表现可以反映在宏观平均分数上。
实验结果及分析
表3显示了二值预测结果。
表3
在两阶段评估的第一阶段,算法2获得了99.33%的准确率,shg-health算法获得了43.93%的召回率和60.32%的f评分。算法7的召回率为100%,但其准确率极低,为5.21%。算法6完全偏向于“未知”类,因此具有零准确率、召回率和f分。所有方法的召回分数低于50%的事实也表明,从大的、嘈杂的、没有标记的病例中捕获阳性病例是困难的。
表4进一步评估了算法在多类分类中的条件性能。
表4
在第二阶段,进一步评估了算法在多类分类中的条件性能。表4显示,本文的shg-health,尤其是算法2,优于所有其他算法,宏准确率为90.58%,宏召回率为90.73%。
综上所述,本发明提出一种基于图表模型的健康风险预测方法,并且在真实世界hers数据集中验证了该模型的有效性。根据实验结果,该方法通过选择权重函数可以有效解决未标记数据的预测问题。