基于XGBoost模型的心律失常分类算法研究

李云,吴水才,袁丽

北京工业大学 生命科学与生物工程学院,北京 100124

[摘 要] 为了提高心律失常自动诊断的识别率,本文提出一种基于XGBoost模型的心律失常分类方法。对MLII导联信号进行分析,提取信号投影特征和RR间期特征形成特征向量,标准化后输入到XGBoost分类器。通过训练,得到的基于XGBoost的心律失常分类模型可以将心电信号按照AAMI标准分为四类:正常或束支传导阻滞节拍(N)、室上性异常节拍(S)、心室异常节拍(V)和融合节拍(F)。采用MIT-BIH心律失常数据库进行测试,在相同数据集的情况下,与已有心律失常检测方法进行对比,平均识别准确率进一步提高,达到94.1%。

[关键词] 心电信号;XGBoost;心律失常;特征提取;机器学习

引言

心律失常是一种常见的心血管疾病[1],严重威胁着中老年人的身体健康,某些心律失常(如心室颤动和心动过速)会出现致死现象。心电图(Electrocardiograph,ECG)能直接反映心脏的电生理活动,但心律失常的出现具有偶然性和突发性,目前比较有效的方法是采用动态心电监护仪记录30 min或更长时间的心电信号,但人工分析较长时间(>30 min)的ECG存在效率低、仅凭借医生经验等问题。随着信息传输技术和机器学习算法的高速发展,越来越多的学者开始使用计算机自动识别技术对心电信号进行分类,在保证分类结果具有较高准确率的同时使心律失常实时分类成为可能。

心律失常自动分类的主要技术手段通常是在特征提取[2](如形态特征[3]、RR间期[4]、独立成分分析[5]、小波特征[6])的基础上,利用各种机器学习分类器,如人工神经网络[6]、支持向量机[7]、随机森林[8]、贝叶斯网络[9]和深度学习[10]等对心律失常进行分类。Knvps等 [11]采用经验模式分解将ECG信号分解为固有模式函数,随后提取样本熵、变异系数、奇异值和IMF的频带功率作为特征,输入到基于多项式核函数的最小优化支持向量机中,结果表明心律失常分类准确率高达99.2%,但此算法只包括了五种特定类型的心电信号,并没有涵盖所有的心律失常。Shadmand等[12]借助Hermit激活函数(多项式)提取ECG信号中的形态特征和RR间期特征形成特征向量,输入到粒子群算法优化的人工神经网络分类器中,结果根据美国医疗促进协会(Association for the Advancement of Medical Instrumentation,AAMI)制定的标准将心律失常类型分为五类,平均识别准确率达到97%,但是由于其测试集与训练集含有相同患者的数据,因此这种方法泛化能力[13]比较弱,只适用于给每个个体建立一个特异性模型[14]。Oliveira等[15]提出采用动态贝叶斯网络(Dynamic Bayesian Network,DBN)来解决ECG信号分类问题,使用DBN基于室性早搏(Premature Ventricular contraction,PVC)构建拓扑结构,对PVC最大识别率为99%。以上心电分类研究获得了较好的分类效果,但是存在识别种类不全面或者没有考虑不同患者间心电信号的差异性问题。

本文提出一种基于极限梯度提升(Extreme Gradient Boosting,XGBoost)模型的心律失常分类方法,考虑到患者间的个体差异, 将心律类型按照AAMI标准分为四类。首先采用小波中值阈值法对心电信号去噪,根据R波峰位置分割心电信号,提取每个心拍的投影特征和RR间期相关特征,输入到XGBoost分类器中,实现对心律失常的分类。该算法在MIT-BIH心律失常数据库上进行测试,实验结果表明心律失常分类平均识别准确率达到94.1%,高于同类文献[3,5,7]的结果。

1 材料和方法

1.1 数据来源

MIT-BIH心律失常数据库由美国麻省理工学院提供,是研究心律失常分类算法的常用数据库之一,并已被广泛用于心律失常算法的验证[5,7,16-17]。本研究选择该数据库作为研究对象,包含47位患者的48条记录,其中23条记录(编号范围是 100~109、111~119、121~124)是常规心律失常样本,25条记录(编号范围是200~203、205、207~210、212~215、217、219~223、228、230~234)是临床罕见的心律失常情况,每条记录包含30 min的心电信号,采样率为360 Hz。本研究采用AAMI制定的心律失常分类标准,表1给出了MIT-BIH数据库注释类型与AAMI分类标准的对应关系[18]

表1 AAMI心律分类标准与MIT-BIH心律注释对照表

AAMI组标签 MIT-BIH类标签 类名N NLRej正常搏动左束支传导阻滞右束支传导阻滞心房逸搏交界性逸搏S AaJS房性早搏异常房性早搏交界性早搏室上性早搏V V E室性早搏室性逸搏F F 心室融合心拍U PfU起搏心拍心律融合心拍未分类心拍

1.2 心律失常算法评价方案

目前国内外评价心律失常分类算法的方式有两种:一种是被称为患者内的心律分类方式,另一种是患者间的心律分类方式。基于患者内的研究[2,4,16]往往在测试集上有较好的分类效果,但训练集和测试集中含有同一个患者的心电样本,忽略了不同患者间的心电信号存在差异性。为了解决这个问题,de Chazal等[3]提出了患者间的心律分类方式,使训练集和测试集的数据样本来自不同的患者个体。多项研究[3,5,7]表明,基于患者间的心律分类具有更好的临床价值和优秀的泛化能力。本研究考虑到患者间的个体差异,实现患者间的心律失常自动分类,将MIT-BIH数据库中受试者分成两组,分别为训练集和测试集,去掉数据库中含有起搏心拍的受试者(102、104、107、214),具体见表2。

表2 数据集划分情况

名称 MIT-BIH数据库中数据编号训练集 101, 106, 108, 109, 112, 114, 115, 116, 118, 119, 122,124, 201, 203, 205, 207, 208, 209, 215, 220, 223, 230测试集 100, 103, 105, 111, 113, 117, 121, 123, 200, 202, 210,212, 213, 214, 219, 221, 222, 228, 231, 232, 233, 234

1.3 心律失常检测方法

本文所提出的心律失常分类方法分为3个部分,即预处理、特征提取和特征分类,算法流程如图1所示。

图1 心律失常算法流程图

1.3.1 预处理

在心电信号采集过程中往往会受到噪声的干扰,这些噪声主要是基线漂移、肌电干扰和工频干扰[2]。本研究对心电信号进行小波变换,将心电信号分解到不同尺度,利用中值阈值法[19]去除不同尺度上的噪声分量,从而得到心电信号的有效信息。小波变换的核心是基函数和分解尺度,本研究为保证信号的完整性及算法的实时性,选择DB 1(Daubechies 1)小波作为基函数,分解尺度定为8。首先去除第八层的近似系数(频率范围小于1 Hz)以去除基线漂移,其次对小波分解的一阶、二阶、三阶的细节系数进行阈值处理以去除肌电干扰和工频干扰,其阈值t如公式(1)所示:

其中n为小波系数向量长度,L为小波分解层数,K为小波分解当前层数(取值范围是1~3), 是噪声方差,其估计值见公式(2):

其中abs是取绝对值,median取中位数,x为当前系数向量。最后由于肌电干扰接近高斯白噪声分布,按照模型(3)得到去噪后的小波系数y

将小波系数按照软阈值的方式进重构得到有效信号。图2是信号去噪的前后对比图,可以看出在保证信号完整性的基础上,对去噪有明显的效果。

图2 心电信号去噪对比图

特征提取之前需要对心电信号进行切片分割。本研究的目的是心律失常分类,因此直接通过MIT-BIH心律失常数据库标记的R峰位置分割信号。一个完整的心电周期包括P波、PR间期、QRS波、ST段、T段和QT间期。不同波群反应心脏不同的活动情况[4],P波代表了从窦房结到房室结、从右心房到左心房的去极化过程,通常间隔小于80 ms,PR间期反映了电脉冲从窦房结传递到房室结的时间,间隔为120~200 ms,QRS波群反映了左右心室的快速去极化过程,宽度一般为80~100 ms,ST段是连接QRS波和T波的一段区域,代表了心室去极化之后的一段时间。QT间期指从QRS波开始到T波结束的一段时间,间隔通常小于440 ms。根据QRS波形的特征,R峰前200 ms和R峰后440 ms一般能包含心拍的一个完整周期,因此我们取R峰前80、后160个点形成特征片段。

1.3.2 特征提取

1.3.2.1 高斯随机矩阵

高斯随机投影矩阵提供了一种有效的方法来减少波形特征的数量。Shadmand等 [12]也证明了随机投影矩阵在对数据进行50%的压缩比例情况下,重建的信号与原始信号几乎重合,均方误差为0.0005,表明投影特征包含了原始心电的大部分有效信息。

在投影变换式(4)中,数据域X通过高斯随机矩阵 变换到压缩域Y,N为原始数据X的维度,M是压缩后数据Y的维度。M决定了分类器的运行性能,Chen等[20]对M值进行了试验,在M为30的时候既能保证运行效率且使准确率最大化,因此本文的M值初始化为30。

1.3.2.2 RR间期

RR间期表示心脏活动的频率,包含了心脏活动的动态特征信息。文献[15]表明RR间期可以检测和分类某些类型的心律失常如室性早搏、心室颤动和传导阻滞等。

本文计算心电的平均RR间期、前RR间期和后RR间期作为心电的动态信息特征。前RR间期是当前R波峰位置与前一R波峰位置之间的距离;后RR间期是当前R波峰位置与后一R波峰位置之间的距离,这两个特征代表了心电信号的瞬时特征。由于MIT-BIH数据库中每条记录的长度在30 min,计算平均RR间期是不现实的,因此取当前R波峰之前的10个RR间隔的平均距离计算为平均RR间期,其优点是能立即计算出当前节拍的平均RR间期,保证实时特征提取。图3统计了4种心电类型的3种RR间期情况,每个类别随机获取了100个RR间期,心电类型依次为N、S、V、F。从图中可以看出N、F类的前RR间期与S、V类有明显的区别,F类的后RR间期与N、S、V类也有显著的差异。

图3 RR间期统计表

1.3.3 XGboost分类器

XGboost分类器是数据挖掘和机器学习中最常用的算法之一。由于其分类效果显著,计算复杂度不高,对输入要求不敏感,经常被用在一些比赛中[10,16]。XGBoost的分布式版本有广泛的可移植性,支持在多种平台上运行。XGBoost的基本组成部分是回归树(Regression Tree),采用集成思想,将多个回归树进行组合达到准确的分类效果。其建树过程为,首先确定初始树为那么建立第t棵树时的预测模型为:

其中xi是属于样本集中第i个样本,fk表示第K棵树,表示样本xi的预测结果。在建立模型过程中不断优化目标损失函数,使其最小,如(6):

其中是样本训练误差,树的正则项。正则项表示每棵树的复杂度,其表达式为:

其中γ、λ分别表示惩罚系数,T表示树的叶子结点数,w为叶子结点的取值。XGBoost通过将使用二阶泰勒公式展开得:

其中, gihi表示在第i个样本下泰勒展开式的一阶导数、二阶导数,通过(8)可以得到是关于wj的一元二次方程,因此能够找到使取值最小的wj。为简化公式,定义,那么当:

通过以上步骤完成第t棵树的建立。XGBoost模型在工作时需要设置三类参数。分别是通用参数、Booster参数和学习目标参数。通用参数包括基础模型的设置和多线程控制等;Booster参数是设置基础模型的参数,以树形结构为例,包括学习率、树的最大深度、最大叶子数量等;学习目标参数包括定义目标损失函数、树的复杂度和随机数的种子。在本研究中基础模型选择了树形结构,目标损失函数为负对数似然函数(Mlogloss),Booster参数的调整通过训练集验证来确定,具体参数设置如表3。

表3 XGboost模型参数

参数类名 参数名 取值 解释通用参数 booster gbtree 基础模型nthread 4 线程数量Booster eta 0.15 学习速率min_child_weight 1 最小叶子权重和max_depth 9 树的最大深度max_leaf_nodes 81 最大叶子数量gamma 1 最小损失函数下降值学习目标参数objective multi:spftprob需要被最小化的损失函数eval_metric mlogloss 数据度量方法seed 0 随机数的种子

2 结果与分析

2.1 算法评价指标

本文计算灵敏度(Sensitivity,Se)、真阳性检测率(Positive Predictive Value,+P)、准确率(Accuracy,Acc)作为衡量分类器的性能指标。其计算方法如公式(11)(12)(13)所示,其中TP表示真阳性数量,FP为假阳性数量,TN为真阴性数量,FN为假阴性数量。

2.2 结果分析

AAMI规定了心律失常分类检测算法的评估标准,一般通过混淆矩阵表示算法测试结果,实验结果如表4中矩阵所示,表中横轴表示真实标签数据情况,纵轴表示预测标签情况,对角线上的数据表示准确的预测值,混淆矩阵中给出了N、S、V和F类的分类情况。为了体现算法的优越性,在使用同样的训练集和数据集的情况下,与已有研究[3,5,7]的结果进行了比较,结果见表5。

表4 实验结果

预测标签 真实标签N S V F N 44697 1302 436 338 S 429 500 6 0 V 125 240 2996 53 F 12 0 1 1

表5 试验结果对比

de Chazal等[3] Ye等[5]Zhang等[7]Chen等[20]本文方法平均准确率 (%) 81.9 86.4 86.7 93.1 94.1‘N’类灵敏度 (%) 86.9 88.5 88.9 98.4 98.7‘N’类阳性预测值 (%) 99.2 97.5 99.0 95.4 95.5‘S’ 类灵敏度 (%) 75.9 60.8 79.1 29.5 24.5‘S’类阳性预测值 (%) 38.5 52.3 36.0 38.4 53.5‘V’类灵敏度 (%) 77.7 81.5 85.5 70.8 87.1‘V’类阳性预测值( %) 81.9 63.1 92.8 85.1 87.7

从表5中可以看出,本算法在全局准确度和N、V类的灵敏度方面有较好的表现。N、V类的阳性预测值略低于之前的研究,然而S类的阳性预测值、灵敏度普遍不高,其原因可能有两点,一是训练数据相对较少,其次S类中的室上性早搏与N类的波形极其相似。值得说明的是,由于不同个体之间心电信号存在着差异,因此基于患者间的评估方案有很高的临床价值。本文平均识别准确率达到94.1%,S类阳性预测值、V类灵敏度进一步提高,因此本文方法对于心律失常分类研究有很高的参考价值。

3 结论

本文针对动态心电监护中数据量大、人工分析效率低及准确率难以保证等问题,提取心电信号的投影特征和RR间期特征,训练了一个XGBoost模型,成功将心律类型按照AAMI标准分为4类。经过MIT-BIH心律失常数据库的验证,本方法的平均识别准确率高达94.1%,可作为医护人员诊断心脏疾病的参考依据。另外,XGBoost模型速度快、准确率高,可分布式部署,能集成到当前流行的Hadoop、spark数据处理框架之中,使得本方法可快速移植到服务器软件平台。

[参考文献]

[1] 陈伟伟,高润霖,刘力生,等.《中国心血管病报告2017》概要[J].中国循环杂志,2018,33(1):1-8.

[2] Ebrahimzadeh E,Manuchehri MS,Amoozegar S,et al.A time local subset feature selection for prediction of sudden cardiac death from ECG signal[J].Med Biol Eng Comput,2017,56(7):1-18.

[3] de Chazal P,O'Dwyer M,Reilly RB.Automatic classification of heartbeats using ECG morphology and heartbeat interval features[J].IEEE Trans Biomed Eng,2004,51(7):1196-1206.

[4] Tsipouras MG,Fotiadis DI,Sideris D.An arrhythmia classification system based on the RR-interval signal[J].Artif Intell Med,2005,33(3):237-250.

[5] Ye C,Kumar BV,Coimbra MT.Heartbeat classification using morphological and dynamic features of ECG signals[J].IEEE Trans Biomed Eng,2012,59(10):2930-2941.

[6] Thomas M,Das MK,Ari S.Automatic ECG arrhythmia classi fication using dual tree complex wavelet based features[J].Int J Electron Commun,2015,69(4):715-721.

[7] Zhang Z,Dong J,Luo X,et al.Heartbeat classification using disease-specific feature selection[J].Comput Biol Med,2014,46:79-89.

[8] Li T,Zhou M.ECG Classi fication using wavelet packet entropy and random forests[J].Entropy,2016, 18(8):285.

[9] Elhaj FA,Salim N,Ahmed T,et al.Hybrid classification of Bayesian and extreme learning machine for heartbeat classification of arrhythmia detection[A].ICT International Student Project Conference[C].2017:1-4.

[10] Cardiologist-level arrhythmia detection with convolutional neural networks[EB/OL].(2017-07-06).https://arxiv.org/pdf/1707.01836.pdf.

[11] Knvps R,Dhuli R.Classification of ECG heartbeats using nonlinear decomposition methods and support vector machine[J].Comput Biol Med,2017,87:271.

[12] Shadmand S,MashoufiB.A new personalized ECG signal classification algorithm using Block-based Neural Network and Particle Swarm Optimization[J].Biomed Signal Process Control,2016,25:12-23.

[13] 张翊丹,刘文涵,张梦新,等.基于级联分类器的心律失常检测[J].中国医学物理学杂志,2018,35(8):945-950.

[14] 黄佼,宾光宇,吴水才.基于一维卷积神经网络的患者特异性心拍分类方法研究[J].中国医疗设备,2018,33(3):11-14.

[15] Oliveira LSC,Andreao RV,Filho MS.Bayesian network with decision threshold for heart beat classification[J].IEEE Latin America Transactions,2016,14(3):1103-1108.

[16] Zabihi M,Rad AB,Katsaggelos AK,et al.Detection of Atrial Fibrillation in ECG Hand-held Devices using a Random Forest Classi fier[A].Computing in Cardiology[C].2017.

[17] Ghorbani Afkhami R,Azarnia G,Tinati MA.Cardiac arrhythmia classi fication using statistical and mixture modeling features of ECG signals[J].Pattern Recognit Lett,2016,70:45-51.

[18] 潘佳斌.心电特征检测与心律不齐疾病分类[D].哈尔滨:哈尔滨工业大学,2016.

[19] Poornachandra S.Wavelet-based denoising using subband dependent threshold for ECG signals[J].Digit Signal Process,2008,18(1):49-55.

[20] Chen S,Hua W,Li Z,et al.Heartbeat classi fication using projected and dynamic features of ECG signal[J]. Biomed Signal Process Control,2017,31:165-173.

Research on Arrhythmia Classi fication Algorithm Based on XGBoost Model

LI Yun, WU Shuicai, YUAN Li
College of Life Science and Bio-engineering, Beijing University of Technology, Beijing 100124, China

Abstract: In order to improve the recognition rate of arrhythmia automatic diagnosis, we proposed a classi fication method of arrhythmia based on XGBoost model. The feature vector of MLII lead signal was composed by signal projection feature and RR interval feature. After standardized processing of feature vector, it was inputted to the XGBoost classi fier. According to the AAMI standard, the XGBoost-based arrhythmia classi fication model can classify the ECG signals into four categories: normal beat (N), supraventricular ectopic beat (S), ventricular ectopic beat (V) and fusion beat (F), respectively. The MIT-BIH arrhythmia database was employed in model test. Comparison with the existing arrhythmia detection method using the case of the same data set, the average recognition accuracy of XGBoost model was further improved to 94.1%.

Key words: electrocardiograph signal; XGBoost; arrhythmia; feature extraction; machine learning

收稿日期:2018-12-11

修回日期:2018-12-17

基金项目:国家自然科学基金国际(地区)合作项目(7151101018)。

通讯作者:吴水才,教授,主要研究方向为生物医学信号与图像处理和生物医学电子与医疗仪器。

通讯作者邮箱:wushuicai@bjut.edu.cn

[中图分类号] R540.4+1

[文献标识码] A

doi:10.3969/j.issn.1674-1633.2019.07.006

[文章编号] 1674-1633(2019)07-0024-05