首页> 中国专利> 一种基于特征提取算法的数据特征分类方法

一种基于特征提取算法的数据特征分类方法

摘要

本发明属于临床数据检测和数据挖掘技术领域,具体涉及是一种基于特征提取算法的数据特征分类方法,包括以下步骤:首先,收集并构建正常人的生命体征数据库N;其次,收集病人的生命体征数据S-1;然后,从数据库N中选取与收集的病人生命体征数据S-1相匹配的正常人的生命体征数据N-1,引入特征提取算法,从病人生命体征数据S-1的时间特征序列中提取出最有鉴别能力的特征;再次,从提取的全部特征中选取相应的特征子集;最后,用数据挖掘算法将选取的特征子集进行分类。该方法,通过挖掘无线医疗设备检测的实时的、高频率的病人生命体征数据,防止病人临床恶化的同时为出现的死亡提供早期预警,适用性强,提高了工作效率。

著录项

  • 公开/公告号CN104765846A

    专利类型发明专利

  • 公开/公告日2015-07-08

    原文格式PDF

  • 申请/专利权人 西安电子科技大学;

    申请/专利号CN201510184753.7

  • 发明设计人 闫允一;闫长虎;郭宝龙;孟繁杰;

    申请日2015-04-17

  • 分类号

  • 代理机构西安智萃知识产权代理有限公司;

  • 代理人李东京

  • 地址 710071 陕西省西安市太白南路2号西安电子科技大学

  • 入库时间 2023-12-18 09:43:13

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2018-01-23

    授权

    授权

  • 2015-08-05

    实质审查的生效 IPC(主分类):G06F17/30 申请日:20150417

    实质审查的生效

  • 2015-07-08

    公开

    公开

说明书

技术领域

本发明属于临床数据检测和数据挖掘技术领域,具体涉及是一种基于特征提取 算法的数据特征分类方法。

背景技术

在现代任何一家医院,重症监护病房(ICU,Intensive Care Unit)都是死亡率 最高的部分(8-19%)。因此,实时检测重症监护病房中病人的生命体征,并对其生 命体征中的心率和血氧饱和浓度进行特征提取和分析,在防止ICU病人的病情突然 恶化甚至是死亡方面起着重要作用。

研究发现,由于生物系统的特质,实时临床数据具有一些独特的功能。现有技 术中对临床数据进行分析时存在两个主要问题:首先,在建立模型时往往只考虑病 人的一个重要体征,而这难以对多个时间序列进行分析;其次,时间序列数据中包 含着丰富的信息,对单一时间序列来讲,有一阶,二阶时间序列特征,还有一些复 杂的特征,如趋势波动分析,频谱分析,近似熵等,然而这些特征没有被充分利用。

针对这种情况,本发明提供了一种基于特征提取算法的数据特征分类方法,包 括以下步骤:首先,收集正常人的生命体征数据,并构建成数据库N存储;其次, 收集病人的生命体征数据S-1;然后,从数据库N中选取与收集的病人生命体征数据 S-1相匹配的正常人的生命体征数据N-1,引入特征提取算法,从病人生命体征数据 S-1的时间特征序列中提取出呼吸、心率、血氧饱和度、血压这四种最有鉴别能力的 特征;再次,从提取的全部特征中选取相应的特征子集;最后,用数据挖掘算法将 选取的特征子集进行分类。通过挖掘无线医疗设备检测的实时的、高频率的病人生 命体征数据,在防止病人临床恶化以及为可能出现的死亡提供早期预警方面起了重 要作用,适用性强,提高了工作效率。

发明内容

本发明的目的是克服现有技术中的不足,充分利用时间序列数据中的信息,同 时对多个特征数据进行提取和分类,使诊断更加准确有效。

为此,本发明提供了一种基于特征提取算法的数据特征分类方法,包括如下步 骤:

步骤一、收集正常人的生命体征数据,并构建成数据库N存储,通过无线医疗 监控系统收集实时的、高频率的正常人的生命体征数据;

步骤二、收集病人的生命体征数据S-1,通过无线医疗监控系统收集实时的、高 频率的病人的生命体征数据;

步骤三、从数据库N中选取与收集的病人的生命体征数据S-1相匹配的正常人 的生命体征数据N-1,引入特征提取算法,从病人的生命体征数据S-1的时间特征序 列中提取出呼吸、心率、血氧饱和度、血压这四种最具有鉴别能力的特征;

步骤四、从提取的全部特征中选取相应的组合特征子集;

步骤五、用数据挖掘算法将选择出的特征子集进行分类。

上述一种基于特征提取算法的数据特征分类方法,所述步骤三的特征提取算法 包括如下步骤:

(3.1)用趋势波动分析算法获取病人的生命体征数据S-1与正常人的生命体征 数据N-1的线性拟合特征数据;

设时间序列为{x(i)},1≤i≤N,定标指数的计算过程如下:

(3.1.1)构造去均值的和序列:

Y(i)=Σi=1j[x(i)-<x>],1jN

其中<x>=1NΣi=1Nx(i).

(3.1.2)把和序列Y(i)不重叠地分解成长度为n的不重叠的片段(片段个数 Nn≡[N/n])。由于数据长度N不一定是时间尺度n的整数倍,为了不忽视剩余部分数 据,从Y(i)的另一端开始重复划分一次,这样一共得到2Nn个片段。

(3.1.3)从每一个片段序列v中去除其趋势Yn(i)=Y(i)-pv(i)。其中趋势pv(i)为 第v个片段的拟合多项式,多项式的阶次n可以为1(线性),2(平方),3(立方), 甚至更高。

(3.1.4)求2Nn个去趋势片段的均方根,即DFA波动函数:

Fn2(v)=<Yn2(i)>=1NΣi=1NYn2[(v-1)n+i]

F(n)=12NΣv=12NsFn2(v)

由不同的去趋势阶次n得到的波动函数F(s)表示为F(n)(s)。如果原始序列x(i)为 长程幂函数相关的,则波动函数以幂函数增加,F(n)(n)与n的依赖关系为:

F(n)(n)∝nα

其中,α(≠1/2)成为定标函数。

(3.1.5)以双对数坐标画出F(n)与n的函数关系,并且通过线性拟合计算曲线的 斜率,即α的值。将曲线分为两部分,然后对两段曲线分别进行线性拟合,从而得到 两段的不同定标函数α1和α2。其中,α1为当1≤n≤φ(N)时,log(F(n))与log(n)拟 合所得的曲线的斜率;α2为当φ(N)≤n≤N时,log(F(n))与log(n)拟合所得的曲线的 斜率。我们定义φ(N)为N的函数:φ(N)=γ*N。首先从在医院死亡和存活的病人中 各采样一部分数据,然后固定γ,得到相应的α1和α2;如此挑选出最有鉴别力的γ。

(3.2)用近似熵算法描述数据的复杂度特征;

其中,提取近似熵的算法如下:将时间序列分割成N-M+1个子序列,计算子序 列之间的相似性。在容许偏差r情况下,计算重构后的矢量平均自相关程度。定义从 原始时间序列中进行空间重构后的长度为m的子序列为

v(n)=[x(n),x(n+1),…,x(n+m-1)],n=1,…,N-m+1

子序列v(i)和v(j)之间的距离定义为序列标量分量之间的最大距离,计算公式如 下:

Cm,r(i)=Nm,r(i)N-m+1

其中Nm,r(i)为使得序列v(i)和v(j)距离小于r的向量j的数量。r为容许偏差。 Cm,r(i)定义为找到的一个序列,使之与v(i)距离小于r的概率。

对所有子序列的Cm,r(i)概率取对数平均得到:

Fm,r=Σi=1N-m+1ln(Cm,r(i))N-m+1

ApEn由如下公式计算:

ApEnm,r=Fm,r-Fm+1,r

(3.3)用频谱分析算法提取数据的能量普特征;

其中,提取频谱分析的算法如下:

对信号源发出的信号强度按频率顺序展开,使其成为频率的函数,并考察变化 规律,称为频谱分析。

(3.4)用分析数据的一阶特征算法提取数据的均值、标准差、偏度、和峰度特征;

其中,提取一阶特征的算法如下:对于一阶特征,引入传统的统计特征如, 均值(Mean,μ):标准差(Standard Deviation,σ):偏度(Skewness,γ1):在实际应用中,通常将峰度值进行减3处理, 使得正态分布的峰度0。峰度(Kurtosis,γ2)

(3.5)用分析数据的二阶特征算法提取时间序列内部的共生关系特征:熵、惯 性系数、相关系数和局部同质性;

其中,提取二阶特征的算法如下:将时间序列量化为Q个等级,建立二维矩阵 c(i,j)(1≤i,j≤Q),其中点(i,j)代表在序列中,等级i与等级j距离为d1的次数。在得到 的二维矩阵的基础上,计算序列的能量(Energy),熵(Entropy),惯性系数(Inertia), 相关系数(Correlation(COR))和局部同质性(Local Homogeneity(LH))。

(3.5.1)能量的计算方法如下:

其中,令求熵(Entropy),熵(entropy)指的是体系的混乱的 程度。具体计算公式为:

S=Σi=1QΣj=1Qc(i,j)log(c(i,j))

(3.5.2)求取惯性系数(Inertia),惯性系数计算公式如下:

F=Σi=1QΣj=1Q(i-j)2c(i,j)

(3.5.3)求取相关系数(Correlation(COR)),相关系数主要衡量数据内部的相关 关系,计算公式如下:

ρx,y=Σi=1QΣj=1Q(i-μx)(j-μy)c(i,j)σxσy

其中μx=Σi=1QiΣj=1Qc(i,j)Q,

μy=Σj=1QjΣi=1Qc(i,j)Qσx2=Σi=1Q(i-μx)2Σj=1Qc(i,j)Q,σy2=Σj=1Q(i-μy)2Σi=1Qc(i,j)Q

(3.5.4)求取局部同质性(Local Homogeneity(LH)),同质性(Homogeneity), 也叫均匀性,很大程度上关联到时间序列的局部信息,反应局部区域的一致性。计 算公式如下:

LH=Σi=1QΣj=1Q11+(i-j)2c(i,j)

(3.6)用时间序列间的特征算法提取数据的线性相关系数和互相关系数;

其中,时间序列间的特征求取如下:时间序列间的特征包含以下分量:

(3.6.1)线性相关关系(Linear Correlation),相关系数是衡量两个事物相似程度的 数字,计算公式如下:

γ1,2=E[(X1(t)-E(X1(t))(X2(t)-E(X2(t))]Var[X1(t)]·Var[X2(t)]

(3.6.2)互相关系数(Coherence),其计算公式如下:

C1,2=φX1X2[φX1X1φX2X2]1/2

其中,φX1X2为互谱密度,x1(t)和x2(t)为两个随机信号。

上述一种基于特征提取算法的数据特征分类方法,所述步骤四的特征选择 (Feature Selection)也称特征子集选择(Feature Subset Selection,FSS), 或属性选择(Attribute Selection),是指从全部特征中选取一个特征子集,使 构造出来的模型更好,所述特征子集的选取包括如下步骤:

(4.1)用完全搜索(Complete),启发式搜索(Heuristic),随机搜索(Random)3大 类搜索算法从特征全集中产生出一个特征子集;

(4.2)用筛选器(Filter)、封装器(Wrapper)两大类评价函数对该特征子集进行评 价;

(4.3)将评价的结果与特征选择的评价标准(停止准则)AUC,F-score进行 比较,若评价结果符合停止准则就停止,否则就继续产生下一组特征子集,继续对 特征子集进行评价;

(4.4)验证选出来的特征子集的有效性。

上述一种基于特征提取算法的数据特征分类方法,所述步骤五、用数据挖掘算 法对特征子集进行分类,其中,对特征子集进行分类的具体步骤为:

(5.1)在病人的生命体征数据的特征稀疏时,核函数SVM要优于线性SVM, 具有更好的分类效果,故引入非线性分类器--核函数SVM;

(5.2)核SVM在少量特征时往往比逻辑回归有着更好的结果。然而随着特征 的增加,逻辑回归的分类效果在数据集上有着更好的表现。因此,在系统计算复杂 程度和分类性能的双重考虑下,我们选择逻辑回归为我们系统的最后选择。

(5.3)考虑到数据类间的不平衡性,再将探索性下采样引入系统中来提高分类 效果。

本发明与现有技术相比的有益效果是:本发明公开了一种基于特征提取算法的 数据特征分类方法,将一些基于非线性动力学的专用算法用于临床数据分析,在建 立模型时考虑到了病人的多元化组合特征集,涉及混沌理论(DFA),信号处理(频 谱分析,熵)等多个领域;其次,充分利用时间序列数据中包含着的丰富的信息, 解决了以前的工作存在两个主要问题;分类中,采用鲁棒性更好的分类器,如RBF 核的SVM等来对医学时间序列进行分类,高了分类器最终的分类效果。本发明通过 挖掘无线医疗设备检测的实时的、高频率的病人数据,防止病人临床恶化的同时又 为可能出现的死亡提供早期预警,适用性强,提高了工作效率,具有良好的应用前 景。

以下将结合附图对本发明做进一步详细说明。

附图说明

图1为本发明流程图。

图2为本发明的特征选择流程图。

具体实施方式

如图1所示,一种基于特征提取算法的系统分类方法,用无线医疗监控 (Real-time Data Sensing(RDS))系统采集病人的实时生命体征数据,所述无线医疗监 控系统主要靠无线传感器收集病人的实时生命体征数据,所述无线传感器由小型嵌 入式无线电设备组成。以心率和血氧饱和度为例,包括如下步骤:

1)将无线传感器夹住病人的食指收集脉搏和血氧饱和度数据;

2)对步骤1)中的心率和血氧饱和度的时间序列,结合正常人的脉搏和血氧饱 和度数据,引入特征提取算法,提取单一时间序列特征,两个时间序列之间的特征, 其中引入的特征提取算法如下:

(3.1)用趋势波动分析算法获取病人的生命体征脉搏和血氧饱和度数据S-1与 正常人的生命体征脉搏和血氧饱和度数据N-1的线性拟合特征数据;

设时间序列为{x(i)},1≤i≤N,定标指数的计算过程如下:

(3.1.1)构造去均值的和序列

Y(i)=Σi=1j[x(i)-<x>],1jN

其中<x>=1NΣi=1Nx(i)

(3.1.2)把和序列Y(i)不重叠地分解成长度为n的不重叠的片段(片段个数 Nn≡[N/n])。由于数据长度N不一定是时间尺度n倍,为了不忽视剩余部分数据,从 Y(i)的另一端开始重复划分一次,这样一共得到2Nn个片段。

(3.1.3)从每一个片段序列v中去除其趋势Yn(i)=Y(i)-pv(i)。其中趋势pv(i)为 第v个片段的拟合多项式,多项式的阶次n可以为1(线性),2(平方),3(立方), 甚至更高。

(3.1.4)求2Nn个去趋势片段的均方根,即DFA波动函数

Fn2(v)=<Yn2(i)>=1NΣi=1NYn2[(v-1)n+i]

F(n)=12NΣv=12NsFn2(v)

由不同的去趋势阶次n得到的波动函数F(s)表示为F(n)(s)。如果原始序列x(i)为 长程幂函数相关的,则波动函数以幂函数增加,F(n)(n)与n的依赖关系为

F(n)(n)∝nα

其中,α(≠1/2)成为定标函数

(3.1.5)以双对数坐标画出F(n)与n的函数关系,并且通过线性拟合计算曲线的 斜率,即α的值。将曲线分为两部分,然后对两段曲线分别进行线性拟合,从而得到 两段的不同定标函数α1和α2。其中,α1为当1≤n≤φ(N)时,log(F(n))与log(n)拟 合所得的曲线的斜率;α2为当φ(N)≤n≤N时,log(F(n))与log(n)拟合所得的曲线的 斜率。我们定义φ(N)为N的函数:φ(N)=γ*N。首先从在医院死亡和存活的病人中 个采样一部分数据,然后固定γ,得到相应的α1和α2;如此挑选出最有鉴别力的γ。

(3.2)使用了提取近似熵的算法;

近似熵是对非线性时间序列复杂度的一种非负定量描述。将时间序列分割成 N-M+1个子序列,计算子序列之间的相似性。在容许偏差r的情况下,计算重构后 的矢量平均自相关程度。定义从原始时间序列中进行空间重构后的长度为m的子序 列为:

v(n)=[x(n),x(n+1),…,x(n+m-1)],n=1,…,N-m+1

子序列v(i)和v(j)之间的距离定义为序列标量分量之间的最大距离,计算公式如 下:

Cm,r(i)=Nm,r(i)N-m+1

其中Nm,r(i)为使得序列v(i)和v(j)距离小于r的向量j的数量。r为容许偏差。 Cm,r(i)定义为找到的一个序列,使之与v(i)距离小于r的概率。

对所有子序列的Cm,r(i)概率取对数平均得到:

Fm,r=Σi=1N-m+1ln(Cm,r(i))N-m+1

ApEn由如下公式计算:

ApEnm,r=Fm,r-Fm+1,r

(3.3)使用了提取频谱分析的算法;

对信号源发出的信号强度按频率顺序展开,使其成为频率的函数,并考察变化 规律,称为频谱分析。

(3.4)使用了提取一阶特征的算法;

对于一阶特征,引入传统的统计特征如,均值(Mean,μ):标准差 (Standard Deviation,σ):偏度(Skewness,γ1):在 实际应用中,通常将峰度值进行减3处理,使得正态分布的峰度0。

峰度(Kurtosis,γ2)γ2=Σi=1N(x(i)-μ)44-3.

(3.5)使用了提取二阶特征的算法;

二阶特征是可以描述一维时间序列内部的共生关系特征。将间序列量化为Q个 等级,建立二维矩阵c(i,j)(1≤i,j≤Q),其中点(i,j)代表在序列中,等级i与等级j距离 为d1的次数。在得到的二维矩阵的基础上,计算序列的能量(Energy),熵(Entropy), 惯性系数(Inertia),相关系数(Correlation(COR))和局部同质性(Local  Homogeneity(LH))。

(3.5.1)能量的计算方法如下:

其中,令求取熵,熵(entropy)指的是体系的混乱的程度。具 体计算公式为:

S=Σi=1QΣj=1Qc(i,j)log(c(i,j))

(3.5.2)求取惯性系数,惯性系数计算公式如下:

F=Σi=1QΣj=1Q(i-j)2c(i,j)

(3.5.3)求取相关系数,相关系数主要衡量数据内部的相关关系,计算公式如 下:

ρx,y=Σi=1QΣj=1Q(i-μx)(j-μy)c(i,j)σxσy

其中μx=Σi=1QiΣj=1Qc(i,j)Q,

μy=Σj=1QjΣi=1Qc(i,j)Qσx2=Σi=1Q(i-μx)2Σj=1Qc(i,j)Q,σy2=Σj=1Q(i-μy)2Σi=1Qc(i,j)Q

(3.5.4)求取局部同质性(Local Homogeneity(LH)),同质性(Homogeneity), 也叫均匀性,很大程度上关联到时间序列的局部信息,反应局部区域的一致性。计 算公式如下:

LH=Σi=1QΣj=1Q11+(i-j)2c(i,j)

(3.6)求取时间序列间的特征;

时间序列间的特征包含以下分量:

(3.6.1)线性相关关系(Linear Correlation),相关系数是衡量两个事物相似程度 的数字,计算公式如下:

γ1,2=E[(X1(t)-E(X1(t))(X2(t)-E(X2(t))]Var[X1(t)]·Var[X2(t)]

(3.6.2)互相关系数(Coherence),其计算公式如下:

C1,2=φX1X2[φX1X1φX2X2]1/2

其中,φX1X2为互谱密度,x1(t)和x2(t)为两个随机信号。

3)如图2所示将步骤2)中提取出来的特征进行选择,其具体步骤如下:

(4.1)首先,用完全搜索(Complete),启发式搜索(Heuristic),随机搜索(Random) 3大类搜索算法从特征全集中产生出一个特征子集;

(4.2)然后,用筛选器(Filter)、封装器(Wrapper)两大类评价函数对该特征子集 进行评价;

(4.3)将评价的结果与特征选择的评价标准(停止准则)AUC,F-score进行 比较,若评价结果符合停止准则就停止,否则就继续产生下一组特征子集,继续对 特征子集进行评价;

(4.4)验证选出来的特征子集的有效性。

4)将步骤3)中选择出的特征输入到数据挖掘算法中进行分类,具体步骤如下:

(5.1)在病人的生命体征数据的特征稀疏时,核函数SVM要优于线性SVM, 具有更好的分类效果,故引入非线性分类器--核函数SVM。

如表1所示,以重症监护病房(ICU)病人的医疗记录数据为例来测试我们的算 法。

表1:不同时间序列DFA特征在不同分类器中的分类效果

(5.2)核SVM在少量特征时往往比逻辑回归有着更好的结果。然而随着特征 的增加,逻辑回归的分类效果在数据集上有着更好的表现,如表2和表3所示。因 此,在系统计算复杂程度和分类性能的双重考虑下,我们选择逻辑回归为我们系统 的最后选择。

表2:逻辑回归前向特征选择选择出来的前12个特征

表3:逻辑回归模型中的前10个最高权重变量

(5.3)考虑到数据类间的不平衡性,再将探索性下采样引入系统中来提高分类 效果,效果如表4所示:

表4:探索性下采样后的结果(特征选择为基于AUC)

方法 AUC 特异性 敏感度 逻辑回归+所有特征 0.7402 0.9483 0.3646 逻辑回归+所有特征+探索性下采样 0.7767 0.9500 0.4615 逻辑回归+探索性下采样+特征选择 0.8082 0.9473 0.4865

本发明说明书中未做详细描述的内容属于本领域技术人员中的公知技术。以上 例举仅仅是对本发明的举例说明,并不构成对本发明的保护范围的限制,凡是与本 发明相同或相似的设计均属于本发明的保护范围之内。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号