一种面向高血压疾病检测的BCG信号分析方法与流程

文档序号:16373122发布日期:2018-12-22 08:52阅读:378来源:国知局
一种面向高血压疾病检测的BCG信号分析方法与流程

本发明涉及生物医学领域,具体地,涉及一种面向高血压疾病检测的bcg信号分析方法。

背景技术

近年来,高血压作为一种常见且危害极大的心脑血管疾病,已成为威胁人类健康的重要因素。据世界卫生组织有关数据显示,全球25岁以上人口中大约40%患有高血压,共计超过10亿人。高血压会引起中风、心脏病、肾衰竭等一系列重大疾病,每年导致940余万人丧生。高血压具有发病隐匿、难以及时确诊的特点,如何对高血压进行早期精确诊断已成为亟待解决的重点问题。

现有高血压疾病监测方法主要分为两大类:1)基于袖带式血压计等专业医学设备的高血压疾病监测;2)基于智能腕表等可穿戴式设备的高血压疾病监测。前者在监测时需要受试者佩戴专门的袖带,会降低使用过程的舒适性;其次血压时刻处于动态变化,但该类方法只能间断式使用,因此无法准确评估受试者的血压情况。后者虽然可以持续地监测受试者血压状况,但它所采用的模式识别方法仅没有充分考虑特征与特征之间、特征与类别之间的相互关系,会遗漏大量与高血压相关的信息,这使得该种方法的高血压疾病监测准确率往往较低。



技术实现要素:

本发明提供一种面向高血压疾病检测的bcg信号分析方法,以解决非干预式高血压疾病监测准确率较低的问题。

本发明的技术方案为:一种面向高血压疾病检测的bcg信号分析方法,对bcg信号进行归一化和滤波处理,计算心跳间期序列;对心跳间期序列进行时域、频域、非线性域分析,提取能精确刻画高血压患者生理状态的特征,并对其进行离散化处理;从离散化特征中挖掘能够表征特征间相互关系的类关联规则;基于挖掘出的类关联规则的分布、冗余度、覆盖度特性,从中挑选一组具有较强分类能力的类关联规则;根据所挑选出的类关联规则的相似性及权重指标,构建基于类关联规则的高血压识别模型,进而判断该bcg信号所有者的高血压是否异常;包括以下步骤:

s1:对bcg信号进行预处理操作,以消除信号噪音以及受试者个体差异对信号幅值造成的影响,并提取准确的心跳间期序列;

s2:对s1输出的心跳间期序列进行时域、频域、非线性分析,提取能够准确反映受试者生理状态的多维特征,并对其进行离散化处理;

s3:从s2输出的离散化特征中,利用优化的apriori算法,挖掘能够表征特征间相互关系的类关联规则;

s4:从s3输出的类关联规则中,根据规则的分布、训练集的覆盖度、规则的冗余度指标,挑选出一组具有较强分类能力的类关联规则;

s5:基于s4输出的类关联规则的相似度、权重指标,构建基于类关联规则的高血压识别模型,得到分析结果。

进一步地,一种面向高血压疾病检测的bcg信号分析方法,所述s1中对bcg信号进行预处理操作包括:首先使用z-score方法对bcg信号进行归一化处理;然后利用椭圆带通滤波器对其进行滤波操作;最后采用交叠滑动窗口算法定位每次心跳的发生时刻,进而提取心跳间期序列。

进一步地,一种面向高血压疾病检测的bcg信号分析方法,所述s2中提取能够刻画高血压患者生理状态的特征并对其进行离散化处理包括:对心跳间期序列进行时域分析,提取中值、均方差与心跳间期序列分布相关的统计信息;对心跳间期序列进行频域分析,计算不同频带所蕴含的信号能量;对心跳间期序列进行非线性域分析,提取样本熵、dfa等能够反映信号复杂度、稳定性的特征;采用等箱分割法将每个特征的值划分成若干区间,并用唯一的标识对每个区间进行标记。

进一步地,一种面向高血压疾病检测的bcg信号分析方法,所述s3中从多维特征中挖掘能够表征特征间相互关系的类关联规则是指:对传统apriori算法的链接、剪枝关键步骤进行优化处理,并基于此从离散化后的特征序列中挖掘出所有含有类标签且满足指定的支持度、置信度要求的关联规则。

进一步地,一种面向高血压疾病检测的bcg信号分析方法,所述s3在进行类关联规则挖掘前,需要对训练集实例进行规范化表示,第k个实例slk可表示为:

slk=<f1,f2,…fi…fn,cl>;

其中,fi表示该实例第i个特征fi的具体编号值,cl表示该实例所属的类别。

进一步地,一种面向高血压疾病检测的bcg信号分析方法,所述apriori算法能够对挖掘类关联规则过程中最耗时的步骤进行优化,所述优化内容主要包括:

对频繁k-1项集集合的链接操作进行优化:先将频繁k-1项集集合中的元素按照字典序排序,并分别记其中两个频繁k-1项集为l1与l2,在进行链接操作时,若l1<l2,且l1与l2不可链接,则可证明l1与l2之后的频繁k-1项集均无法链接,因此立即停止尝试将l1与l2之后的频繁k-1项集进行链接操作;

对候选k项集集合的剪枝操作进行优化:记任一候选k项集为c,并将c的任意一个k-1项子集记为c1,在进行剪枝操作时,若c1与频繁k-1项集集合(集合中的元素按字典序排列)中的某个元素lx不相等,且c1<lx,则可证明c1与lx之后的所有频繁k-1项集都不可能相等,也即说明c不可能是频繁k项集,故此时可提前从候选k项集集合中删除c;

在进行链接操作前,提前删除频繁k-1项集集合中不可能链接生成频繁k项集的元素:记数据集中所有频繁1项集分别为f1,f2,…,fn,分别统计频繁k-1项集集合中每个频繁1项集的父集的个数,并记为n1,n2,…,nn;可证明若某个频繁k-1项集中包含某个父集个数小于k-1的频繁1项集,则该由该频繁k-1项集链接生成的候选k项集不可能是频繁的,因此可以在进行链接操作前删除该频繁k-1项集,从而减少链接操作次数,提升列关联规则挖掘速度。

进一步地,一种面向高血压疾病检测的bcg信号分析方法,所述s4中从所挖掘的类关联规则中挑选一组具有较强分类能力的类关联规则是指:首先根据类关联规则的支持度与置信度的分布情况将所有类关联规则划分为若干个簇,使得每个簇中的类关联规则具有相似的支持度和置信度;然后从每个簇中挑选出具有较强分类能力的类关联规则;最后基于训练集数据的覆盖度以及每条类关联规则的冗余度,对上述所得类关联规则进行二次筛选,挑选出覆盖度与冗余度均适中的类关联规则集合。

进一步地,一种面向高血压疾病检测的bcg信号分析方法,所述s5中基于挑选出的类关联规则构建高血压识别模型是指:首先计算每条类关联规则的权重以及其与受试者生理状态之间的相似度,并将所有类关联规则根据其类标签进行分组;然后分别从两组中选择与受试者生理状态相似度最高的若干类关联规则;结合所选出的类关联规则的相似度、权重、类标签信息,进而判断该bcg信号所有者的高血压是否异常。

进一步地,一种面向高血压疾病检测的bcg信号分析方法,所述类关联规则与instance之间的相似度定义为:

其中,maxi与mini分别表示第i个离散化特征的最大序号值与最小序号值;instancei与cari分别表示该instance与该类关联规则的第i个离散化特征的实际序号值;n表示该类关联规则所包含的离散化特征的个数。

进一步地,一种面向高血压疾病检测的bcg信号分析方法,对于某条类关联规则(记为car)而言,其对于某个类别(记为a)的权重记为w(car,a),所述类关联规则的权重定义如下:

其中,n为car所包含的离散化特征的个数,w(itemi,a)表示car中第i个离散化特征相对于类别a的权重,其定义如下:

其中,函数freq(itemi,a)表示car中第i个离散化特征itemi在类标签为a的类关联规则中出现的频率,表示a的补集,即表示类标签不为a。

进一步地,一种面向高血压疾病检测的bcg信号分析方法,所述识别模型按照如下公式进行识别:

其中,cari与carj分别表示从hypertensive组中挑出的第i个类关联规则以及从healthy组中挑选出的第j个类关联规则,simi与simj分别表示cari、carj与instance的相似度。

本发明的有益效果为:所述的高血压疾病监测方法,可以从非干预式设备所采集的含有大量噪音的bcg信号中,提取精确的心跳间期序列,并基于时域分析、频域分析、非线性域分析从中提取能精确刻画高血压患者生理状态的多维特征,然后借助优化后的apriori算法充分挖掘能够准确表征特征与特征之间、特征与类标签之间相互关系的类关联规则,并从中挑选具有较强分类能力的规则。最后根据这些类关联规则的相似性及权重信息,构建基于多条类关联规则的分类模型,这极大程度上提升了高血压疾病监测的准确性。此外,该方法生成的类关联规则,可以准确反映受试者的生理状态,便于医生更加深入分析患者的健康水平,这对及时诊断高血压疾病以及维持患者健康水平具有重要意义。

附图说明

图1是本发明一种面向高血压疾病检测的bcg信号分析方法总体流程示意图;

图2是本发明实施例中对bcg信号进行预处理操作并准确定位心跳时刻的示意图;

图3是本发明实施例中对所挖掘的两组类关联规则进行对比的示意图。

具体实施方式

为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明的实施例及其附图,对本发明中的技术方案进行清楚、完整地描述。

如图1所示,一种面向高血压疾病检测的bcg信号分析方法,对bcg信号进行归一化和滤波处理,计算心跳间期序列;对心跳间期序列进行时域、频域、非线性域分析,提取能精确刻画高血压患者生理状态的特征,并对其进行离散化处理;从离散化特征中挖掘能够表征特征间相互关系的类关联规则;基于挖掘出的类关联规则的分布、冗余度、覆盖度特性,从中挑选一组具有较强分类能力的类关联规则;根据所挑选出的类关联规则的相似性及权重指标,构建基于类关联规则的高血压识别模型,得到分析结果;包括以下步骤:

s1:对bcg信号进行预处理操作,以消除信号噪音以及受试者个体差异对信号幅值造成的影响,并提取准确的心跳间期序列;

其中,对bcg信号进行预处理操作包括:首先使用z-score方法对bcg信号进行归一化处理;然后利用椭圆带通滤波器对其进行滤波操作;最后采用交叠滑动窗口算法定位每次心跳的发生时刻,进而提取心跳间期序列。

在本发明实例中,受试者个体差异主要指体重差异,不同的体重会导致胸冲击(bcg)信号强度有所不同,影响高血压疾病监测的准确性。原始bcg信号如图2(a)所示。具体地,首先使用z-socre方法对bcg信号进行归一化处理,如下公式所示:

其中,μ为bcg信号序列的平均值,σ为信号序列的标准差,xi是bcg信号序列中第i个信号值,xnor_i是xi经过归一化处理后的值。然后,设计椭圆带通滤波器对bcg信号进行滤波操作,以消除与心脏跳动无关的频率成分。鉴于心率的正常范围为60~100次/分钟(高血压患者可能比之较高),为尽可能保全bcg信号中心跳相关信息并消除其它信号噪音,本实例将该椭圆带通滤波器的通带转角频率和阻带转角频率分别设置为为5/6hz及13/6hz,通带波纹和阻带衰减分别设置为0.2及8,经过椭圆滤波器处理后的bcg信号如图2(b)所示。最后,从处理后的bcg信号中提取心跳间期序列(心跳间期是指相邻两次心跳的时间间隔)。血压的变化由交感神经与副交感神经共同控制,而心跳间期序列的变化被公认为是交感神经与副交感神经相互作用的最直观表现。因此分析心跳间期序列可以间接地反推某受试者是否患有高血压疾病,这也是本发明的理论基础。本发明实施例采用交叠滑动窗口方法监测bcg近似层信号的波峰,从而计算得到初级的心跳间期序列,如图2(c)所示。具体地,滑动窗口采用矩形窗,其窗口大小设置为100采样点(bcg信号采样频率为100hz),交叠部分为20采样点,从而使得每个窗口大小等于或略小于一次心跳持续时间,从而保证不遗漏任何可能的心跳信息。每个窗口中最大值所对应的时刻即为该窗口内心跳发生的时刻,并将第i个窗口所对应的时刻记为ti,则心跳时刻序列t可表示为:

t=t1,t2,…ti…tn

其中,窗口的个数为n。若将第i个心跳间期记为rri,则初级心跳间期序列rr可表示为:

rr=rr1,rr2,…rri,…rrn-1

即:rr=t2-t1,t3-t2,…ti+1-ti…tn-tn-1

s2:对s1输出的心跳间期序列进行时域、频域、非线性分析,提取能够准确反映受试者生理状态的多维特征,并对其进行离散化处理;

提取能够刻画高血压患者生理状态的特征并对其进行离散化处理包括:对心跳间期序列进行时域分析,提取中值、均方差与心跳间期序列分布相关的统计信息;对心跳间期序列进行频域分析,计算不同频带所蕴含的信号能量;对心跳间期序列进行非线性域分析,提取样本熵、dfa等能够反映信号复杂度、稳定性的特征;采用等箱分割法将每个特征的值划分成若干区间,并用唯一的标识对每个区间进行标记。

本发明实施例从心跳间期序列中提取有效特征以精确刻画高血压模式。首先对心跳间期进行时域、频域、非线性域分析:进行时域分析时,对心跳间期序列进行统计处理,从中提取的时域特征主要包括心跳间期均值、标准差等;进行频域分析时,对心跳间期序列进行lomb-scargle(ls)periodogram能量谱密度估计,然后将频谱中0hz-0.04hz频带记为超低频(vlf:verylowfrequency),0.04hz-0.15hz频带记为低频(lf:lowfrequency),0.15hz-0.4hz频带记为高频(hf:highfrequency),最终从频域中提取的特征主要包括低频和高频比值(lf/hf)、总能量值等;进行非线性域分析时,主要从心跳间期序列中提取poincareplot、样本熵、去趋势波动分析等特征,其中样本熵的参数r与m分别设定为r=0.15*std(standarddeviation)和m=2,去趋势波动分析的参数s设定为30≤s≤300。本发明实施例采用等箱法进行特征离散化操作。具体地,针对每个特征,分别选取其采样值的5等分点作为分箱的边界,从而将每个特征离散化为5个区间,并为每个区间进行编号。例如,第一个特征f1的五个区间依次编号为1,2,3,4,5,则下一个特征f2的五个区间编号依次为6,7,8,9,10,以此类推完成特征离散化处理。

s3:从s2输出的离散化特征中,利用优化的apriori算法,挖掘能够表征特征间相互关系的类关联规则。

从多维特征中挖掘能够表征特征间相互关系的类关联规则是指:对传统apriori算法的链接、剪枝关键步骤进行优化处理,并基于此从离散化后的特征序列中挖掘出所有含有类标签且满足指定的支持度、置信度要求的关联规则。

在进行类关联规则挖掘前,需要对训练集实例进行规范化表示,第k个实例slk可表示为:

slk=<f1,f2,…fi…fn,cl>;

其中,fi表示该实例第i个特征fi的具体编号值,cl表示该实例所属的类别。

所述apriori算法能够对挖掘类关联规则过程中最耗时的步骤进行优化,所述优化内容主要包括:

对频繁k-1项集集合的链接操作进行优化:先将频繁k-1项集集合中的元素按照字典序排序,并分别记其中两个频繁k-1项集为l1与l2,在进行链接操作时,若l1<l2,且l1与l2不可链接,则可证明l1与l2之后的频繁k-1项集均无法链接,因此立即停止尝试将l1与l2之后的频繁k-1项集进行链接操作;

对候选k项集集合的剪枝操作进行优化:记任一候选k项集为c,并将c的任意一个k-1项子集记为c1,在进行剪枝操作时,若c1与频繁k-1项集集合(集合中的元素按字典序排列)中的某个元素lx不相等,且c1<lx,则可证明c1与lx之后的所有频繁k-1项集都不可能相等,也即说明c不可能是频繁k项集,故此时可提前从候选k项集集合中删除c;

在进行链接操作前,提前删除频繁k-1项集集合中不可能链接生成频繁k项集的元素:记数据集中所有频繁1项集分别为f1,f2,…,fn,分别统计频繁k-1项集集合中每个频繁1项集的父集的个数,并记为n1,n2,…,nn;可证明若某个频繁k-1项集中包含某个父集个数小于k-1的频繁1项集,则该由该频繁k-1项集链接生成的候选k项集不可能是频繁的,因此可以在进行链接操作前删除该频繁k-1项集,从而减少链接操作次数,提升列关联规则挖掘速度。

s4:从s3输出的类关联规则中,根据规则的分布、训练集的覆盖度、规则的冗余度指标,挑选出一组具有较强分类能力的类关联规则;

从所挖掘的类关联规则中挑选一组具有较强分类能力的类关联规则是指:首先根据类关联规则的支持度与置信度的分布情况将所有类关联规则划分为若干个簇,使得每个簇中的类关联规则具有相似的支持度和置信度;然后从每个簇中挑选出具有较强分类能力的类关联规则;最后基于训练集数据的覆盖度以及每条类关联规则的冗余度,对上述所得类关联规则进行二次筛选,挑选出覆盖度与冗余度均适中的类关联规则集合。

首先将所有类关联规则划分成若干组,使得每组中的类关联规则的前k项均相同,即具有相同的前缀。其次从每组中分别挑出长度最长、置信度最大、支持度最大所对应的类关联规则,并将此时挑选出来的类关联规则集合记为ruleset。然后再对ruleset进行二次筛选,挑选出具有较强分类能力的类关联规则。二次筛选的步骤如下:1)根据支持度、置信度等信息对ruleset中的类关联规则进行排序:给定两个规则rule1与rule2,则rule1优先于rule2,当且仅当满足如下条件:

其中,sup1、conf1及length1,sup2、conf2及length2分别表示rule1与rule2的支持度、置信度以及长度。2)结合训练集的覆盖度(coverage)及每条类关联规则的冗余度(redundancy),从排序后的类关联规则中,从头至尾地逐个地挑选一组包含冗余信息最少且规则数量适中的子集。其中,coverage与redundancy分别定义如下:

其中,nc、nt、ncc及npc分别代表训练集中可以与当前已选规则集合中的任意一条规则匹配的实例的个数,训练集中实例的总个数、训练集中能与当前规则匹配的实例的个数、ncc中能够与其他已选规则匹配的实例的个数。具体地,从头至尾考察排序后的ruleset中的每条规则时,先判断当前训练集的coverage是否小于给定的覆盖度阈值c,若不满足条件,则放弃该规则,继续考察下一条规则;若满足条件,则判断当前规则的redundancy是否小于给定的冗余度阈值r,若不满足条件,则放弃该规则,继续考察下一条规则;若满足条件,则标记该规则、更新coverage,并继续考察ruleset中的下一条规则,直到ruleset中所有规则均已被考察或训练集的coveragae已经超过阈值c为止,此时由所有被标记的规则组成集合finalruleset即为从步骤s3所得的类关联规则中挑选出的具有较强分类能力的类关联规则集合。需要注意的是:覆盖度阈值c及冗余度阈值r的具体取值需要由具体的数据集而定,通常采用参数网格法对阈值c与r的取值进行优化,使得c与r的取值能使所构建的高血压识别模型取得最高的准确率。

s5:基于s4输出的类关联规则的相似度、权重指标,构建基于类关联规则;

所述s5中基于挑选出的类关联规则构建高血压识别模型是指:首先计算每条类关联规则的权重以及其与受试者生理状态之间的相似度,并将所有类关联规则根据其类标签进行分组;然后分别从两组中选择与受试者生理状态相似度最高的若干类关联规则;结合所选出的类关联规则的相似度、权重、类标签信息,进而判断该bcg信号所有者的高血压是否异常。

根据类标签的取值将s4挑选出的类关联规则分成两组,并将类标签为“高血压”的类关联规则集合记为hypertensive,将类标签为“健康”的类关联规则集合记为healthy。由图3可知,两组中的类关联规则能够有效区分高血压病人及健康人的生理健康状态,在判断给定实例(记为instance)是否患有高血压疾病时,分别从两组规则中挑选k条与该instance最相似的规则。所述类关联规则与instance之间的相似度定义为:

其中,maxi与mini分别表示第i个离散化特征的最大序号值与最小序号值;instancei与cari分别表示该instance与该类关联规则的第i个离散化特征的实际序号值;n表示该类关联规则所包含的离散化特征的个数。

对于某条类关联规则(记为car)而言,其对于某个类别(记为a)的权重记为w(car,a),所述类关联规则的权重定义如下:

其中,n为car所包含的离散化特征的个数,w(itemi,a)表示car中第i个离散化特征相对于类别a的权重,其定义如下:

其中,函数freq(itemi,a)表示car中第i个离散化特征itemi在类标签为a的类关联规则中出现的频率,表示a的补集,即表示类标签不为a。

所述识别模型按照如下公式进行识别:

其中,cari与carj分别表示从hypertensive组中挑出的第i个类关联规则以及从healthy组中挑选出的第j个类关联规则,simi与simj分别表示cari、carj与instance的相似度。

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