一种基于机器学习的遗传代谢病检出率提升方法
技术领域
本发明涉及医疗数据处理领域,尤其涉及一种基于机器学习的遗传代谢病检出率提升方法。
背景技术
遗传性代谢缺陷疾病是指基因突变引起的酶缺陷,细胞功能异常或受体缺陷导致机体生化代谢紊乱,中间或旁路代谢产物蓄积终末代谢产物缺乏,出现系列临床症状的一组疾病。1990年Milington等开始将MS/MS技术应用于疾病筛查领域,使得一次实验检测多种疾病成为可能,能在2分钟内实现对几十种小分子物质的检测。快速、灵敏、特异性强、通量高、选择性强等特点使串联质谱技术在国际上被广泛应用,近几年在国内也被广泛推广。2000年8月由美国儿科学会第一次提到应用串联质谱技术检测先天性遗传代谢病组合成为可能,即用一个试验检测多种疾病,有多个标志物和多个临界值(临界值范围从0.1μm到1.000μm)。目前国际上许多国家在应用MS/MS技术对氨基酸、有机酸、酰基肉碱进行检测,从美国CDC的室间质量评估报告来看,正有1100多家实验室正在使用串联质谱检测技术,发表论文数百篇,我国在不同刊物上发表论文数十篇,从不同病种、不同区域、不同国家等角度对串联质谱筛查结果进行了分析评估并作出论述。
人工智能是一门综合了计算机科学、电子工程、自动化、神经生物学、认知科学、心理学等的交叉学科。1956年,一场在美国达特茅斯(Dartmouth)大学召开的学术会议被认定为全球人工智能研究的起点。经过60多年的发展,人工智能技术在理论上取得了长足的进步,人工智能技术在医疗行业的应用也备受青睐,已成为医疗健康应用发展新的驱动力,推动着大数据医疗健康人工智能发展总体框架的深度应用,在疾病诊疗、健康管理、药物研发、精准医学等方面作用凸显。
由于遗传代谢病多为罕见病,难以积累病例提升医生判读能力,同时针对常见的70多个指标和比值构成的指标库难以提取疾病相关指标,基于大样本数据和病例,采用人工智能技术进行遗传代谢病风险评估的方法。
发明内容
本发明的目的是针对现有技术的缺陷,提供了一种基于机器学习的遗传代谢病检出率提升方法,提高了疾病检测的准确度,有效的降低了各遗传代谢病筛查的召回率,提升检出率,有效利用医疗资源。
为了实现以上目的,本发明采用以下技术方案:
一种基于机器学习的遗传代谢病检出率提升方法,包括以下步骤:
S1、利用遗传代谢病的大样本数据,构建遗传代谢病风险评估模型;
S2、从遗传代谢病风险评估模型中预测每种疾病的分数,并将分数映射为风险值;
S3、利用新加入的筛查和确诊数据,遗传代谢病风险评估模型通过迭代提升筛查的检出率。
进一步的,所述遗传代谢病风险评估模型,其构建过程包括数据以下步骤:
S11、数据处理:包括基于人群大样本数据,该数据包括样本的背景信息,比如居住地、母亲年龄、孕周、出生体重以及MS/MS串联质谱检测的指标浓度等。指标浓度值按地区进行分类,分别进行地区标准化中位数倍数MoM值处理、样本去重、剔除串列数据、去除标签性异常数据、修改更正错误的疾病标签;
S12、数据学习:接收S11步骤处理后的数据集,分成训练集与测试集,采用机器学习中的集成方法对训练集进行训练,用测试集调优评估,得到最终的机器学习模型;
S13、风险值评分:将机器学习模型对客户提供的样本进行预测,预测样本患上每种疾病的风险,通过风险值映射算法(转换为0-100的分值,;
S14、判别分类:针对S3中风险值评分的分值,根据不同遗传代谢病在各地区的发病率的结果,设定各疾病不同的风险判断截断值,判别是否为疾病高风险;
S15、显示,将判别分类结果进行显示。
进一步的,所述地区标准化中位数倍数MoM值处理包括基于大样本增量计算不同采血间隔的指标中位数、中位数倍数MoM值映射,地区中位数倍数MoM值标准化计算方法如下:对应人口特征值的增量=大样本对应人口特征值的中位数-大样本不区分人口特征值时的指标中位数;
各地区中位数表=各地区不区分人口特征值时的中位数+对应人口特征值的增量;
对应地区中位数倍数MoM=地区串联指标绝对值/对应地区对应人口特征值的中位数。
基于MS/MS串联质谱指标会随采血间隔、孕周、体重人口特征波动的情况,而各人口特征样本量均可能对中位数的准确度产生影响,于是使用了一套增量方案对各地区的中位数进行调整,以获得更加精确的中位数表。
进一步的,S11中去除标签性异常数据的算法如下:在数据处理阶段基于异常点检测算法K最近邻算法(KNN)、极端梯度提升算法(eXtreme Gradient Boosting)建立模型对标签异常的点进行筛选,在数据学习阶段使用异常检测算法对于分类边界的异常点单点去除。
进一步的,所述的数据学习步骤,将训练数据按遗传代谢病疾病分型分类,S11中修改更正错误的疾病标签的训练,根据疾病在MS/MS串联质谱指标表征上的一致性,训练过程如下:
S111、特征工程优选使用综合特征,对各项指标进行求均值、中位数、众数、比值的方法进行合并,使用估计统计量的重采样方法进行子抽样,设置随机种子,使用轻量级梯度提升算法Light Gradient Boosting Machine,LightGBM(机器学习领域方法为现有技术)叶子节点提取差异性的有效特征,重复100次,得出最终的特征向量,再进行子抽样,发送给判别分类单元。
S112、使用异常检测算法或调整训练模型的规模权重参数的方法修改模型在正负样本上的权重,解决不平衡数据可能对模型结果造成的不良影响。
S113、优选使用自适应增强算法(Adaptive Boosting),梯度提升树算法(Gradient Boosting Decison Tree),极端梯度提升算法(eXtreme Gradient Boosting,)轻量级梯度提升算法(Light Gradient Boosting Machine),具有分类特征支持的梯度提升算法(CatBoost算法)对模型进行训练;
S114、优选使用套袋分层(Bagging Stacking),对各类模型结果进行融合。
进一步的,步骤S13风险值评分还包括将大样本数据使用S12数据学习步骤建立的机器学习模型进行预测,将原有的大样本数据得到模型结果与后续客户提供的新样本得出的模型结果合并,排序得出新样本在大样本数据中的排名情况。风险计算公式如下:
其中,
RiskScore为最终风险值评分,
Rankconcat为新样本与大样本的合并数据集中的排名,
Ranknew为新样本在新样本数据集中的排名
Countall为大样本的总数。
进一步的,所述S15显示步骤中,将判别分类的结果,疾病是否高风险显示,同时展示对应数据是否存在蛋白污染的情况,提供辅助建议,蛋白污染判别条件:
Median(AnimosMoM)>2
其中,
AnimosMoM为对应氨基酸的标准化中位数倍数MoM值向量,
Median为对应中位数。
进一步的,新的筛查和确诊数据可持续纳入数据库。随着数据量的增多,会为模型带来新的特征,定期利用所有数据更新所有模型,提升模型的效果。
采用本发明技术方案,本发明的有益效果为:与现有技术相比,本发明建立标准的遗传代谢病信息数据库,可以统一各单位的数据信息,将各个地区的信息整理在一起可以充分发挥并挖掘数据的价值。本发明提高了疾病检测的准确度,有效的降低了各遗传代谢病筛查的召回率,提升检出率,有效利用医疗资源。对32种遗传代谢病进行风险评估,辅助医生诊断,提高了医生的诊断效率。
附图说明
图1是本发明提供的一种基于机器学习的遗传代谢病检出率提升方法工作流程图;
图2是本发明提供的一种基于机器学习的遗传代谢病检出率提升方法数据库表关联图。
图3是本发明提供的实例新样本A风险值计算及结果显示流程图;
图4是本发明提供的实例对于单疾病D模型训练及迭代流程图。
具体实施方式
结合附图对本发明具体方案具体实施例作进一步的阐述。
一种基于机器学习的遗传代谢病检出率提升方法,包括以下步骤:
S1、利用遗传代谢病的大样本数据,构建遗传代谢病风险评估模型;
S2、从遗传代谢病风险评估模型中预测每种疾病的分数,并将分数映射为风险值;
S3、利用新加入的筛查和确诊数据,遗传代谢病风险评估模型通过迭代提升筛查的检出率,可降低各遗传代谢病筛查的召回率。
所述遗传代谢病风险评估模型,其构建过程包括数据以下步骤:
S11、数据处理:包括基于人群大样本数据,该数据包括样本的背景信息,比如居住地、母亲年龄、孕周、出生体重以及MS/MS串联质谱检测的指标浓度等。指标浓度值按地区进行分类,分别进行地区标准化中位数倍数MoM值处理、样本去重、剔除串列数据、去除标签性异常数据、修改更正错误的疾病标签。
目前串联质谱检测是指利用串联质谱仪检测干血滤纸片中的氨基酸、游离肉碱及酰基肉碱的水平,串联质谱检测的优点是提高了特异性及灵敏度,可减少假阳性或假阴性。将大样本数据进行样本去重、剔除串列数据,指标浓度值按地区进行分类,分别进行地区标准化中位数倍数MoM值处理得到MoM值数据集,分疾病分析去除更正疾病标签异常数据。
S12、数据学习:接收S11步骤处理后的数据集作为数据学习的初始数据集,对初始数据做特征工程处理生成最终训练数据,处理细节见S111,将特征工程后的训练数据按照比例6:2:2分成训练集、验证集和测试集,采用机器学习中的集成方法对训练集进行训练,用验证集调优评估,具体训练算法及调优方案描述见S113,得到最终的机器学习模型,在测试集上测试模型效果。
S13、风险值评分:使用机器学习模型对客户提供的样本进行预测,得到的模型结果为0-1的小数,预测样本患上每种疾病的风险,通过风险值映射算法,(具体算法公式见S114)转换为0-100的分值;
S14、判别分类:针对S3中风险值评分的分值,根据不同遗传代谢病在各地区的发病率的结果,设定各疾病不同的风险判断截断值,判别是否为疾病高风险;
S15、显示,将判别分类结果进行显示。
所述地区标准化中位数倍数MoM值处理包括基于大样本增量计算不同采血间隔的指标中位数、中位数倍数MoM值映射,基于MS/MS串联质谱指标会随采血间隔、孕周、体重人口特征波动的情况,而各人口特征样本量均可能对中位数的准确度产生影响,于是使用了一套增量方案对各地区的中位数进行调整,以获得更加精确的中位数表。
具体基于增量方案的地区中位数倍数MoM值标准化计算方法如下:对应人口特征值的增量=大样本对应人口特征值的中位数-大样本不区分人口特征值时的指标中位数;
各地区中位数表=各地区不区分人口特征值时的中位数+对应人口特征值的增量;
对应地区中位数倍数MoM=地区串联指标绝对值/对应地区对应人口特征值的中位数。
基于MS/MS串联质谱指标会随采血间隔、孕周、体重人口特征波动的情况,而各人口特征样本量均可能对中位数的准确度产生影响,于是使用了一套增量方案对各地区的中位数进行调整,以获得更加精确的中位数表。
S11中去除更正标签性异常数据的算法如下:在数据学习阶段使用异常检测算法对于分类边界的异常点单点去除。
去除规则为:如果有两个不同类别的样本A、B,它们的最近邻都是对方,也就是A的最近邻是B,B的最近邻是A,那么A,B就是Tomek link。我们要做的就是将所有Tomek link都删除掉。那么一个删除Tomek link的方法就是,将组成Tomek link的两个样本,如果有一个属于多数类样本,就将该多数类样本删除掉。
剔除所有Tomek link后,基于该数据集,基于异常点检测算法K最近邻算法(KNN)、极端梯度提升算法(Xgboost,eXtreme Gradient Boosting)建立异常点检测模型选出一部分模型难以筛出的样本作为标签异常点,暂时不纳入数据学习的训练部分,所有标签无异常的样本进入训练数据集,进入数据学习部分建立初版模型。
在模型迭代部分,继续使用初版模型作为异常点检测模型,将模型难以筛出的样本做为标签异常点,同时使用初版模型修改标签异常点的标签,纳入原训练数据集,更新训练数据集,训练新模型,如此反复迭代,直至训练数据集稳定。
所述的数据学习步骤,将训练数据按遗传代谢病疾病分型分类,S11中修改更正错误的疾病标签的训练,根据疾病在MS/MS串联质谱指标表征上的一致性,训练过程如下:
S111、特征工程优选使用综合特征,对各项指标进行求均值、中位数、众数、比值的方法进行合并,使用估计统计量的重采样方法进行子抽样,设置随机种子,使用轻量级梯度提升算法Light Gradient Boosting Machine,LightGBM树分支节点提取差异性的有效特征,设定树算法的深度为6,树颗数为1000,设定随机种子,自助法抽样建立100个不同的LightGBM模型,取100个LightGBM模型中作为父节点最多的5-10个特征作为优选的特征向量,在模型迭代部分,根据医学知识和在部分验证集样本上的表现进行微调,得出最终特征向量,作为模型训练的特征发送给判别分类单元。
S112、使用人造少数群体过采样技术SMOTE(synthetic minority over-samplingtechnique)算法或调整训练模型的规模权重参数的方法修改模型在正负样本上的权重,解决不平衡数据可能对模型结果造成的不良影响。具体处理方案为:对于确诊样本量大于20的疾病模型,在数据处理过程之后特征工程之前,使用SMOTE算法对不平衡数据集进行处理,构建正负样本比1:1的数据集。对于确诊样本量小于20的疾病模型,在模型训练的过程中,采用欠采样与调整训练模型规模权重参数结合的方式,在模型学习过程中会赋予判断正确正样本更高的评分权重,以达到解决不平衡数据可能对模型结果造成的不良影响的目的。
S113、S12所述训练模型所使用集成方法优选使用自适应增强算法(AdaptiveBoosting),梯度提升树算法(Gradient Boosting Decison Tree),极端梯度提升算法(eXtreme Gradient Boosting,)轻量级梯度提升算法(Light Gradient BoostingMachine),具有分类特征支持的梯度提升算法(CatBoost算法);先分别使用五种算法对训练样本学习,分别调优。模型调优评估过程包括模型参数调优与模型选择。
模型选择标准为F1,对于二分类问题,可将样例根据真实类别与模型预测类别的组合划分为真正例TP、假正例FP、真反例TN、假反例FN,定义查准率P与查全率R。其中P的计算公式为:
其中R的计算公式为:
F1计算公式如下:
模型参数调优使用遗传算法和贝叶斯优化算法,确诊样本量小于20的疾病模型使用贝叶斯优化算法,确诊样本量大于20的疾病模型使用遗传算法,具体算法描述见S113。
取参数最优时测试集上的模型评分值作为该模型的评分,将评分排序,其中会有2-3个模型表现会明显优于其他模型,优选出表现较优的模型做模型融合,融合方案优选使用套袋分层(Bagging Stacking),对表现优异的模型结果进行平均作为最终的结果输出;如疾病D对应的训练数据集经过五个集成方法算法训练各得到调参后最优模型M1、M2、M3、M4、M5,对应F1值分别为99.97、99.98、99.5、98.3、99.99,则取M1、M2、M5模型风险值的平均值作为疾病D最终的模型输出结果。
S114、S13所述风险值映射算法步骤如下:
模型同时计算1000例新样本的风险值时,通过模型得到1000个0-1的模型结果,对于其中的某一例样本A,A在1000例样本中疾病风险值排序为Ranknew,假设大样本总样本数为Countall,将原有的大样本数据得到模型结果与新样本得出的模型结果合并,得到Countall+1000例模型结果的合并向量,对应样本A的模型结果在长度为Countall+1000的合并向量中的排序为Rankconcat,则样本A该疾病的风险值RiskScore计算公式如下:
S115、所述S15显示步骤中,将判别分类的结果,疾病是否高风险显示,同时展示对应数据是否存在蛋白污染的情况,提供辅助建议。蛋白污染判别算法步骤如下:
对于其中的某一例样本A,取样本A的丙氨酸ALA,瓜氨酸CIT,甘氨酸GLY,亮氨酸+异亮氨酸+羟基脯氨酸LEU+ILE+PRO-OH,鸟氨酸ORN,酪氨酸TYR,缬氨酸VAL对应的MoM值构建向量AnimosMoM,计算对应向量AnimosMoM的中位数为Median(AnimosMoM),蛋白污染判别条件:
Median(AnimosMoM)>2
若判别条件符合,则显示样本A存在蛋白污染可能,反之,显示蛋白污染检测正常。
新的筛查和确诊数据可持续纳入数据库,随着数据量的增多,会为模型带来新的特征,定期利用所有数据更新所有模型,提升模型的效果。
如图1,本发明具体实现步骤如下:
服务器端工作流程如下:
步骤1:首先制定遗传代谢病的数据标准,如符合各指标数据分布标准,收集符合标准的数据。数据中包含以下信息:
(1)实验室情况调查,包括仪器型号,试剂供应商,实验室指控规则等实验室背景以及分析物的低值和高值等。
(2)筛查样本信息,包括样本的背景信息、母亲背景信息、孕周、体重以及串联质谱检测分析物指标浓度值等。
(3)质控信息,包括质控编号、质控类型、质控批号以及分析物指标浓度等。
(4)确诊病例信息,包括疾病名称、尿有机酸检测、血氨检测、血气分析、血常规、肝功能、VB12、影像学检测以及基因信息等。
步骤2:建立大样本遗传代谢病数据库:
(1)所述收集的数据,进行标准化处理,每一种数据信息建立统一数据字段,进行标准化处理,样本去重等,对不同地区的实验结果添加地区名字段。
(2)所述收集的数据建立数据表进行存储,分别构建实验室情况调查表、筛查样本信息表、质控靶值表和质控实测表以及确诊病例信息表,并且为每个表构建数据统计、每天新增数据量以及数据来源等描述性信息。
(3)所述筛查样本信息表进行清洗,该表中主要存储新生儿筛查数据,根据实验要求,当采血间隔超过30天时,会影响实验结果,所以去除采血间隔超过30天的样本,采血间隔为,采血日期减去出生日期。
(4)所述数据表建立关联信息如图2,实验室情况调查表通过所属医院与其它表进行关联;质控信息表分为质控靶值表与质控实测表,这两个表通过质量批号进行关联;筛查样本信息表通过样本编号和所属医院与确诊病例信息表进行关联;筛查样本信息表通过所属医院与实验时间与质控实测表进行关联。
步骤3:通过上述数据和方法进行人工智能模型构建。
步骤4:模型结果映射评分,在人工智能模型的基础上设计了一套平行比较映射算法,将模型输出结果转化为可以理解的分值,为每一种遗传代谢病打分,分值越高,风险越高。
客户端工作流程如下:
步骤1:客户将新的遗传代谢病检测数据样本上传到遗传代谢病人工智能辅助诊断系统。
步骤2:调用服务器端存储的人工智能模型为样本打分,同时判断样本是否有蛋白污染,并给出辅助意见,然后调用32个疾病模型为样本进行风险评估,可出具针对各遗传代谢病筛查的风险报告,报告格式为html或pdf。
步骤3:对高风险样本进行诊断和回访。
步骤4:新的筛查和确诊数据可持续纳入服务器端数据库,经过人工智能模型的自我迭代学习,提升模型的效果,使得模型判断更加准确。
本发明预测的每种疾病包括以下几种遗传病:
注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。