贝叶斯网络在疾病预测诊断中的应用与优化
摘要
当前国际及国内疫情形势依然严峻。新冠疫情对人们的日常生活造成了重大影响,并对经济活动产生了深远影响。从疫情对经济的影响来看,最直观的表现包括旅游景点关闭、餐厅停业歇业、电影院暂时关闭等现象,这些变化都在提醒我们疫情防控的重要性。值得注意的是,在全球范围内,新冠肺炎病毒正不断变异,这对人类健康构成了持续威胁。贝叶斯网络作为一种处理问题不确定性的有效工具,不仅能够完成复杂系统的后验概率推理,而且能清晰地揭示变量之间的相互依存关系,具有重要的应用价值。基于此,它能够有效地帮助医疗工作者识别出感染可能性较高的患者群体
本文主要针对具有类似新冠肺炎症状的人群开展研究,提出了一种基于贝叶斯网络的新冠肺炎检测方法。该方法以目标人群的各项特征数据为基础,结合贝叶斯网络的学习机制,构建了疾病预测与优化预测模型。通过系统化的分析与计算,该模型能够精确评估人群中的感染风险水平
关键词:医疗诊断、贝叶斯网络、新冠肺炎疫情
ABSTRACT
目前全球疫情防控形势依然严峻。新冠肺炎疫情对人们的生活造成了重大影响,并对全球经济造成了一定影响。疫情对经济的实际影响非常直观可感。例如,在旅游景点关闭、餐厅正常营业受到影响、电影院关闭等情况下均可观察到经济活动的变化。新冠肺炎也是一种不断进化的新病种,在全球疫苗接种普及的大背景下也不断演变,在此过程中给人们的生命财产安全带来了巨大威胁。贝叶斯网络作为一种不确定性问题推理的有效手段,融合了概率论与图论的相关知识。它不仅可以完成问题的后验概率推理,并且能清晰描述变量间的依赖关系,在应用价值方面具有显著优势。因此,在公共卫生人员的努力下,新冠肺炎病例能够得到有效的筛查。
本研究选取新冠肺炎患者作为分析对象,并基于性别、年龄、症状、数据等信息建立基于贝叶斯网络的新冠病毒肺炎预测模型。通过贝叶斯网络可以预测出新冠肺炎的概率,并在此基础上提升公共卫生管理效率及医疗人员判断患者病情的重点 misplaced
Key words:medical diagnosis; Bayesian netw orks; COVID-19
一、绪论
(一)研究背景
新冠疫情具有极强的传染性,在人类社会中造成了广泛的威胁与挑战。其主要传播途径包括飞沫传播以及直接接触传播等多种方式。由于其极强的传染性特征,在过去的一段时间里各国对新冠病毒均有不同程度的影响。疫情初期的研究发现新冠病毒具有显著的潜伏期,在这种情况下许多感染者通常难以在症状出现前发现病例这一现象给医疗工作者带来了极大的困扰。因此科学上如何快速识别出新冠肺炎病例成为一个亟需突破的关键课题
(二)目的和意义
常用的检测手段包括核酸检测,在考虑到新冠病毒具有较长的潜伏期的情况下,则可能出现检测结果为阴性但仍被感染的情形。CT影像通常是主要的诊断工具,在操作上较为繁琐且耗时较长,并存在一定误诊可能性。本研究旨在利用贝叶斯网络整合患者近期的各项健康状况信息(如接触过高风险区域、吸烟频率及发热情况等),进而计算出新冠肺炎患病概率并辅助临床医生识别高危患者群
目前新冠疫情广泛存在,并将持续长达一段时间甚至在未来与人类长期共存。本课题利用贝叶斯网络提前收集患者的各项状况数据,并预测其新冠肺炎患病概率。这些信息有助于医护人员将患者分为低风险、中风险及高风险类别,并采取相应的预防措施以有效规避潜在风险。与传统的CT影像和核酸检测相比这种方法能够显著缩短诊断时间并实现自动化检测过程从而大大减轻医生的工作负担同时提高了诊断效率和准确性。
(三)国内外发展情况
春柳等人在[1]中提出了一种基于关联规则的贝叶斯网络,对654份河南省新冠肺炎临床资料进行分析,从所有患者表现出的临床症候中选出关联较强的症候群,并分析症候对诊断结果的贡献度,以此为基础建立条件概率表。该研究方向为临床诊断新冠肺炎供给了一种新的思路。张君辉等人在其文献[2]中阐述了一种基于贝叶斯网络的大型油轮上感染新冠高风险人群识别,以风险程度作为节点概率表,利用各节点之间的逻辑关系确立概率,使用该模型判断患病高风险人群的预测准确率达到了81%左右。曹杰等人在其文献[3]中提出一种新的构建贝叶斯网络结构的思路,从搜索评分的结构分析方法、节点数量庞大导致复杂度高、贝叶斯网络的多标签分类方法、去改良贝叶斯网络的构建以及创新。刘继等人在其文献[4]对新冠疫情的事情特点、关注度、传播扩散度及网民观念偏向等方面构建网络舆情态势评价指标,从而可以有针对性的对“新冠肺炎疫情”相关网络舆情管理提出了建议。王庆等人在其文献[5]针对我国抗击新冠疫情的有效措施构建了基于贝叶斯优化的模型,分析得出管控后疫情得到有效控制,以此来帮助国外疫情,给出一定的指导意义。葛洪磊等人在其文献[6]针对我国以及全球应急物资保障体系存在突出短板,应用贝叶斯决策分析进行应急物资配置决策建模,能够帮助国家有效的应对此情况做出较为正确的处理。春柳,谢洋等人在其文献[7]提取证候要素 25个,其中病位证素 12个,以肺、心神(脑)、脾为主;病性证素 13个,以湿、热(火)、毒、气虚为主,研究疾病初中后期的病位,从而帮助辨别新否为新冠肺炎,以证候要素为节点构建贝叶斯网络,通过患新冠的患者的不同时期时出现的症状,预测患新冠患者处于患病的时期。高山等人在其文献[8]阐述了针对突发公共卫生事件的不确定性通过贝叶斯网络建立模型,以有效的预防此类突发卫生事件的发送,以情景状态为节点构建模型,有效的得出出现该情景时需要做出的预防和措施,是一种很好的处理方式。
一、贝叶斯相关理论(一)贝叶斯网络基本原理1.1贝叶斯网络概述贝叶斯网络(Bayesian network),又称信念网络(Belief Network),或称有向无环图模型,是一种概率图模型,它是一种模拟人类推理过程中因果关系的不确定性处理模型,其网络拓朴结构是一个有向无环图(DAG),作为一种数据分析和不确定性推理的有效工具,贝叶斯网络可助力人们实现概率统计在复杂领域 的实际应用,有效解决各种复杂问题[9]贝叶斯网络。贝叶斯网络一是将多元知识图解可视化的一种概率知识表达与推理模型,它能够在众多数据中,做出精准的预测,从而不被干扰,所以更能够接收和理解,二是贝叶斯网络可以处理有较大不确定性问题的能力,贝叶斯网络的条件概率表能够清晰的表达个要素之间的关系,能够在不完整,不确定的条件下进行训练和学习,三是贝叶斯网络可以有效避免对数据的过度拟合,贝叶斯网络具有坚实的理论基础和强大的知识表达及推理能力,加之模型直观易懂,被广泛应用于诸多不确定问题的处理,如医学病例的诊断、灾害的风险分析、事故的预测等[10]。这些成功的应用,充分体现了贝叶斯网络是有效处理不完整的数据集的充分印证。学习能力越来越强,使用范围不断扩大。随着机器学习的进步,关于贝叶斯网络的研讨会数量不断增加,可见贝叶斯网络是一个值得认真研究和讨论的话题。 这里我们来举例说明一下表示创业的贝叶斯网络的例子,在这个贝叶斯模型中包含了3个关于创业品质的节点,节点A表示的事件为有方法,节点B表示的事件为做事有毅力,节点C表示创业是否成功,每个事件的取值都只有0和1两个取值,也就是代表有或者没有。 如图,每一个节点都有自己对应的条件概率表,当创业有方法时,成功的概率为0.6,即P(A|C)=0.8,事件A,B都相互独立,进而可以逐步推导出该网 方法 毅力
0.70.3
0.70.3
0.70.3
A=1B=00.6A=0B=10.6A=1B=10.9A=0B=00 创业 图1.1 一个贝叶斯网络的例子络的联合概率为:P(A, B, C,) = P(A)P(B)P(C | A),可以用过这个式子表示出节点与节点之间的依赖关系,贝叶斯网络可以通过图形模型展示节点间的因果关系,因此可以通过样本和先验概率模型相结合,找到节点之间的依赖,为需要推理预测的问题加以指导。 1.2贝叶斯网络的定理要明白贝叶斯网络的定理,我们首先需要明白什么是条件概率,以及什么是联合概率、全概率、边缘概率[11],这些相关概念它们有什么含义,首先,条件概率(后验概率)是事件A给定另一个事件B的概率。 条件概率表示为P(A | B),读作“条件B下A的概率”: 联合概率指的是含有多个条件且这些条件同时成立的概率,记P=(X=a,X=b),必须要留意的是所有条件在同一时刻成立,边缘概率则与联合概率与之对应,指的是某个事件产生的概率,即事件A的边缘概率可以记作P(A),事件B则可记作P(B),如果确定事件A的概率为P(A),则事件B的概率为P(B),当事件A出现事件B发生的概率(A的后验概率)和事件B发生的情况下事件A的概率(B的后验概率)可以分别表示为P(A|B)和P(B|A),根据条件概率的定义直接得到贝叶斯方程。即因为P(A,B) = P(A)P(B|A) = P(B)P(A|B),所以P根据条件概率的公式定义可得贝叶斯网络公式: 贝叶斯网络是一个由节点和有向线段组成,线段则表示两个节点之间的关联,线段是有方向的,节点可以表示变量或事件,所以贝叶斯网络是一个有向无环图,它可以通过图形的方式来表达变量之间的因果关系,所以我们可以通过将先验模型事件与我们要训练数据相互结合,来确定事件之间的依赖关系,得出有效的预测。 (二)贝叶斯网络学习2.1 贝叶斯网络参数学习贝叶斯网络的学习分为两类,一是结构学习,二是参数学习,参数学习主要是学习节点的条件概率表,通过网络结构来确定每个节点的参数,我们通常在获得数据的时候不一定完善,所以对于数据来书参数学习也分为完备的数据参数学习和不完备的数据参数学习。完备的数据指的是获得数据比较全面,没有出现数据丢失的情况,不完备的数据则是与之相反,当一个数据比较完善的情况下,通常采用的贝叶斯方法和最大似然估计法,他们2个都要满足在给定互相独立的参数时且节点的条件概率分布相同。采用贝叶斯估计法对节点参数进行估计的流程可以分为一下几个步骤: 图2.1 贝叶斯参数估计流程2.2 D-分离,简单地说,这是传统的判断独立性的方法。如果有向图中的两个变量a和b对于另一组变量c被D分离,则可以在这样的图中表示的所有概率分布都与c无关。你什么意思?这意味着两个变量a和b独立c。因此一旦你知道c,即使知道a并不会给你任何关于b的更多信息。2.3贝叶斯网络管道模型在贝叶斯网络信息管道模型中[12][13],节点被以为是阀门,节点之间的边被以为是信息流管道。节点被认为是阀门,节点之间的边缘被认为是数据流通道。碰撞节点(带收敛箭头的节点)代表的阀门关闭,通信关闭。显现后的开放空间。都是由无碰撞节点所代表的阀门在实施时打开和关闭。弧线方向的两个节点之间的路径称为有向路径,称为路径,不符合该方向的路径称为无方向路径,称为链接。贝叶斯网络有两条路径。第一个是节点不冲突的路径,称为数据流可以流动的开路。当节点被实例化时,数据流被阻塞。另一个是包含碰撞的路径。称为闭环的节点只要在一切碰撞节点都被实例化同时非碰撞节点没有被实例化的情况下才能遍历。
一、基于贝叶斯网络的新冠肺炎预测模型的构建(一)贝叶斯网络建模1.1建模方法贝叶斯网络的构建过程中,第一个贝叶斯网络的结构图需要确定的,一个直接表示贝叶斯网络节点之间关系的拓扑图。一般来说,获取贝叶斯网络图通常有两种方法。一种是通过训练数据集获得,但该方法不仅需要大量数据作为支持,否则贝叶斯网络结构不可靠。然而,如果在贝叶斯结构的研究中使用大量的数据集,事故网络的图随着事故数量的增加呈指数增长,所以根据情况选择所需的方法更可靠,也会更高。第二种方法是利用专家的经验和知识手动王城贝叶斯网络图的创建。该方法具有构造加单、精度高、易于理解、相关性强等优点。其次,专家经验和机器学习模型结合以上两种方法,在机器学习建模过程之中增加经验,配合完成贝叶斯模型网络的构建。这种办法不只提高了贝叶斯网络在机器学习中的效率,并且减少了建模过程中产出的错误数目,从而提高了模型的准确性。这种方法使您可以对机器学习过程进行一定程度的控制,并为您的系统提供更可预测的贝叶斯网络。今天,大多数贝叶斯网络模型都使用这种集成方法,并且正在进行更多相关研究。至于是贝叶斯网络特定拓扑,应该指定每个节点状态中的信息,而对于节点无法确定的状态,贝叶斯条件概率表务必传达显示节点的状态。同时,每个节点信息的下一个参数应该使用现有的统计数据,通过训练得到一些条件概率。此外,根据专家经验,统计无法实现条件概率。通常的方法是引入直观的模糊函数或专家判断来进行确定概率。条件概率表[49]。目前,使用合适的工具学习贝叶斯条件概率表需要大量的相关数据,但新冠肺炎数据每天不断扩大。例如,得到的条件概率表有不合逻辑的概率。随机学习是一个不可避免的错误。因此,需要利用专家的经验优化通过随机学习获得的条件概率表。 1.2建模步骤一旦确定了建模方法,就可以按照一定的步骤建立模型。创建贝叶斯网络模型通常包括以下几个阶段进行,第一阶段:选择节点变量并确定模型的预值。我们需要从模型中选择一个可变因素。需要选择模型的因子变量,即每一个几点对应一个贝叶斯网络。选择变量的相应节点后,必须确定指定变量的值。通常情况下,节点值应该都是离散的,如果节点变量是连续变量或特征变量,则应该是离散化变量。第二步:建立贝叶斯网络确定模型的模型变量后,就可以开始链接到贝叶斯网络的模型了。一般来说,贝叶斯网络是通过先验知识模型来研究的,并且测试数据处于良好状态。结构学习是将链接网络节点依照相关关系连接起来构成的有向无环图,学习结构是通过连接网络节点的无环图,根据因果关系确定学习参数,并给出贝叶斯网络节点之间的值。通过研究贝叶斯网络的结构和参数,得到一个完整的贝叶斯网络,并用贝叶斯方法计算预测节点的概率分布。第三步:建立贝叶斯网络的逻辑布局,研究整个贝叶斯网络,选择合适的方法进行逻辑推理分析。贝叶斯理论是基于网络节点间条件传移的概率理论,通过模型分析,可以推导出网络节点中任意变量的概率分布,并对模型进行逻辑论证。通过三个主要步骤,就可以构建一个较为完整贝叶斯网络模型。通过上述3个步骤,我们就可以构建基本的贝叶斯网络模型,贝叶斯网络模型构建流程图如下: 图3.1 贝叶斯建模流程 (二)构建新冠肺炎检测的贝叶斯网络模型2.1变量的选择与处理在目前已有的数据基础上,结合实际情况分析,筛选了一部分数据作为研究变量: 症状变量:发热、疲惫、干咳、呼吸困难、喉咙痛、无症状、疼痛、鼻塞、流鼻涕、腹泻 年龄变量:小孩(0-9岁)、青少年(10-19岁)、青年(20-24)、中年(24-59岁)、老年(60+) 严重程度:轻度、中度、中度本文的新冠肺炎数据来自于世界卫生组织(WHO)who.int和印度卫生与家庭福利部给出的指南得出的数据,根据WHO的定义,COVID-19的主要5种症状分别是发烧、疲倦、呼吸困难、干咳和喉咙痛,而疼痛、鼻塞、流鼻涕、腹泻则是数据经历其他任何症状,严重程度这方面主要是基于新冠的严重程度,这里把它们统一合并成了感染新冠,使用这些分类变量,将变量中的每一个标签生成一个组合,因此,数据创建了8000个组合。由于贝叶斯网络的学习会将0认为是缺失值,所以我们设置值的时候取1开始,由于变量数据过多,本着降低模型复杂度的原则下,合并了一些数据的分支,例如症状的严重程度,依据WHO定制的主要症状以及专家学者的经验,将各变量的取值表展示,见表3.2.1. 图3.2.1感染新冠影响变量 2.2贝叶斯网络节点的选取与值的确定通过我们对已有变量的选取和确定,在建模的过程中我们是可以对已有变量进行使用的。我们将新冠肺炎相关数据进行了一个整合处理,构成了一个新的样本数据集,我们这里将数据整合成一个矩阵,行代表新冠肺炎数据的个数,列代表为具体变量的个数,下面会展示一部分数据如图3.2.2所示,是一个nxm矩阵。 图3.2.2贝叶斯建模的部分数据 2.3变量相关性分析利用spss Statistics对变量进行相关性分析,相关代码展示,以及其中个变量与决策变量的相关性分析结果如图3.2.3所示。通过此表可以得出,除年龄在数据处理以及学习范畴,其他变量对感染新冠肺炎都有一定的影响,其中与新冠肺炎相关性较强的变量有发热、疲惫、喉咙痛、干咳、流鼻涕5个变量,与决策变量与事故严重程度相关性较弱的是疼痛、呼吸困难、腹泻、鼻塞、年龄,此处我们需要注意的是虽然年龄、性别两方面,也有较强相关性,但是症状是第一重要性,在排列完症状后,在考虑年龄问题。根据变量和感染新冠的相关性分析,我们可以将各个变量从大到小进行排列,排序的结果如下:新冠感染程度:发热、流鼻涕、疲惫、喉咙痛、干咳、疼痛、呼吸困难、腹泻、鼻塞、年龄、性别。 根据各变量与感染新冠可能性的相关性分析,再介个专家建模经验以及先验概率确定节点的变量顺序为;1-发热、2-呼吸困难、3-疲惫、4-喉咙痛、5-干咳、6-疼痛、7-腹泻、8-流鼻涕、9-鼻塞、10-age09、11-age60+、12-age1019、13-age2024、14-age2559、15-男性、16-女性。确定了网络节点排序后,就可以依据机器学习,进行贝叶斯网络结构模型的建立,本次研究借助了MATLAB软件,使用了基于MATLAB的工具箱full-BNT,学习数据集贝叶斯网络结构,主要的操作流程是,将需要的数据集导入MATLAB中,输入节点的名称,将它们进行编号、排序,以及节点的取值,最后调用full-BNT工具箱的算法,对贝叶斯网络模型进行学习,建立出初步的贝叶斯网络模型。代码见附录A 图3.2.3各变量与事故严重程度的相关性分析 2.3数据预处理采用SPSS和SPSS Modeler 对数据进行挖掘,建立贝叶斯网络模型,分析影响感染习惯肺炎可能性的因素;通过实证判别对其的相关风险,并预测将来潜在感染新冠肺炎病毒的人群。 2.4模型建立通过Spss Modeler进行操作,具体分为以下几个步骤:1.选择源节点,导入新冠相关数据的Excel表格,表格的内容都是已经完善的数据2.选择字段选项,找到类型,这一步操作主的目的是区别输入和输出字段,同时点击读取值可以读取数据的值.3.建模,建立训练模型,完成贝叶斯网络的构建4.运行基础的贝叶斯网络模型 (2.5.1) 2.5预测结果分析从性别可以看出女性感染的概率比男性大,从症状来看,发热占到了第一的概率 二、总结与展望(一)总结构建贝叶斯网络模型主要由建立各个节点条件概率的计算和贝叶斯网络结构的建立这两个部分构成,第一,贝叶斯的网络结构建立必须大量的数据模型进行支撑,首先需要获得新冠肺炎的相关的一系列数据,从而得到较优的网络结构。第二,如何确定贝叶斯的各个节点以及确定节点与节点的弧和弧的方向,可以选取一些关键因素,例如年龄、肺部CT 图、是否往返过高风险地区等等作为贝叶斯网络的节点。第三,需要确定节点概率表,才能构建出完整的贝叶斯网络模型。本文通过新冠数据及专家意见调查,构建疾病优化与预测的贝叶斯网络模型,并且以此模型对新冠肺炎患病的风险进行了预测计算,通过相关节点进行预测,可以在一定程度上进行患病风险评估。并借助该模型,对人们在外出过程中可能遇到的新冠肺炎患者后自己有疑似新冠肺炎症状以及自身因数的15个重要的风险因子进行了患新冠肺炎的等级划分。在构建模型的同时,也遇到了对需要处理的数据不健全等问题,通过大量找寻数据得到了解决,在构建贝叶斯模型的时候,使用了Spss-Modeler,构建流模型,对数据类型进行了分析,同时预测了变量的重要性,当有重要风险因子出现时,应该立即采取针对措施来规避或降低风险,从而帮助减轻新冠病毒的大量传播。(二)创新通过贝叶斯网络构建疾病预测模型在目前在国内是很少有人研究的方向,是一个新型的研究,贝叶斯网络作为一个可以对不确定数据集以及推理范畴最有效的理论模型之一,应对在我们在目前状况下新冠病毒不断变异的情况下,有着强有力的预测水准。可以高效的帮助医护人员辨别高危人群,早日实现“动态清零”的目标(三)展望本文通过构建贝叶斯网络在疾病预测和优化的模型,成功的构建了模型,而且在疾病预测方面取得了一定的进展,但基于贝叶斯网络的模型优化,还需要一定的加强。在今后的研究过程中,需要加强对大量数据进行一定的筛选判断,在实际的应用中,我们很难去获得那么多完整的数据,如何从不完整的大量数据中建立较为真实的网络结构模型,这是一个需要加强研究探索的方向。通过实际数据与专家经验的结合,完善每一个节点的概率,加强每一个节点的准确性,同时发觉每一个节点的更大用途,总而言之,对于概率模型以及节点概率表的改进,是对贝叶斯疾病预测与优化的模型是最直接,最有效的方法
