孙小宇 姚 晨 康晓平△
支持向量机在建立冠心病早期诊断模型中的应用*
孙小宇1姚 晨2康晓平1△
目的探索支持向量机方法在建立冠心病早期诊断模型中的应用,为冠心病危险因素在早期诊断中的合理应用提供理论依据。方法 首先应用logistic回归分析方法筛选冠心病危险因素,将有统计学意义的危险因素与24 h动态心电图检查结果共同构建支持向量机模型,并应用测试数据集对各模型的诊断能力进行评价。结果 24 h动态心电图检查结果与危险因素共同构建的支持向量机模型较单独应用24 h动态心电图诊断有更好的诊断准确率和灵敏度,特异度较低。对应用不同变量构建的模型进行比较,应用24 h动态心电图,结合年龄、性别、糖尿病、高血压构建的模型诊断效果较好,准确率为70.35%,灵敏度为90.27%,特异度为34.76%。结论 应用支持向量机可以建立合适的冠心病早期诊断模型;结合主要危险因素进行冠心病的早期诊断可以提高诊断准确率。
支持向量机 冠心病 诊断模型 24 h动态心电图
*:“十一五”国家科技支撑计划项目(2006BAI01A02)
1.北京大学公共卫生学院流行病与卫生统计学系(100191)
2.北京大学第一医院(100034)
△通讯作者:康晓平,E-mail:Xpkang@bjmu.edu.cn
冠状动脉粥样硬化性心脏病(简称冠心病)已成为世界范围内的首位死亡原因,明确诊断是防治的首要任务〔1〕。现研究已证实,核素心肌灌注显像、冠状动脉成像、冠状动脉造影等检查方法的诊断能力较强〔2-4〕。但这些方法由于设备昂贵、操作技术要求高、检查费用高且为侵入性检查,使它们更适用于疾病的确定性诊断,而不适合在早期诊断中应用,特别是在基层医院还不能作为常规检查普及。基于该问题,一些研究者提出了联合多种无创检查方法的诊断策略,其中研究较多的是动态心电图、运动心电图及多排螺旋CT冠脉成像之间的组合。但联合诊断虽能一定程度上提高疾病诊断效率,却同样存在技术、人员、费用上的限制。美国冠心病诊疗指南中提出,冠心病的诊断应结合对直接危险因素的评估进行〔5〕。在中国基层医院的临床实践中,医生对冠心病的诊治多数凭个人临床经验,缺少科学应用指南的循证依据,导致较高的假阴性率或假阳性率出现。在影响冠心病的众多因素中,哪些组合能提高诊断的灵敏度和特异度,有关的研究较少。因此,本研究将应用支持向量机(support vectormachine,SVM)这种可以解决非线性可分问题的模式识别方法,结合临床中普及面较广的24 h动态心电图检查及冠心病常见危险因素,建立不同组合的冠心病诊断模型,并比较其诊断准确率,探索适用于冠心病早期诊断的组合模型。
数据来源于国内20家三级甲等医院中自2000年1月至2007年12月期间就诊疑诊冠心病并初次进行诊断性冠脉造影患者的资料。本文选取其中进行24h动态心电图检查,并能提供人口学及现病史资料的病例,共3 469例。其中,确诊为冠心病者为2 237例,非冠心病者1 232例;性别分布为男性2 144例,女性1 325例,平均年龄为61岁。
(1)金标准的选择 本研究中冠心病诊断的金标准为冠状动脉造影检查结果,其中以至少一支主要冠状动脉或其主要分支的内径有≥50%的狭窄诊断为阳性。
(2)24h动态心电图诊断标准 诊断结果共分为三类,即明确心肌缺血改变、可疑缺血改变以及正常,定义如下:明确心肌缺血改变:ST段呈水平型或下斜型压低≥1mm且持续时间≥1min,且两次缺血发作间隔至少1min;可疑缺血改变:有ST段压低、T波倒置或高尖、QT间期延长、U波倒置等缺血心电图表现,但未达到明确心肌缺血改变诊断标准;或室性早搏≥100次/24h;或II度2型房室传导阻滞。
(3)影响因素的筛选及赋值
以金标准诊断的是否患病为因变量,以患者性别、年龄、体质指数、吸烟史、饮酒史、是否患有高血压、高脂血症、糖尿病、脑血管病等为自变量进行logistic回归,应用后退法筛选变量,检验水准定为0.10。经筛选具有统计学意义的主要危险因素(年龄、性别、是否患有高血压、高脂血症、糖尿病)及24h动态心电图检查结果的赋值见表1。
该理论是Vapnik等人1995年首先提出来的一种模式识别的新方法,在解决有限样本、非线性及高维问题中表现出特有的优势,它追求的是在现有信息下的最优解,克服了神经网络学习方法中合理结构难以确定和存在局部最优等缺陷,大大提高了学习方法的推广能力〔6〕。
表1 筛选出的各变量赋值表
支持向量机通过非线性映射φ:Rn→H,将输入空间的样本映射到高维特征空间H中,在该空间中构造最优分类超平面。该最优分类平面以结构风险最小化为原则,使错分个数最少以保证经验风险最小,间隔最大使推广界的置信范围最小。当数据为二维两类线性可分,假设分类面方程为ω·x+b=0,将判别函数进行归一化后,则要求所有样本满足如下约束:
其中,支持向量(SV)就是使式(1)中等号成立的样本,其是训练集中的关键元素,它们离决策边界最近。分类间隔算式为:
为控制模型推广能力,则需最大化分类间隔,即通过最小化‖ω‖2来实现。为解决此问题,引入如式(3)所示Lagrange函数:
式中αi>0为Lagrange系数,此函数对ω和b最小化,对αi最大化。将上述问题转化为其对偶问题,根据KKT条件,最终求解得到的最优分类函数是:
当需要将输入空间映射到高维特征空间时,只需通过核函数 K,使得 K(xi,xj)= φ(xi)·φ(xj),就可以得到高维特征空间中的内积,相应的决策函数就变为:
常用的核函数有多项式核函数、径向基核函数、Sigmoid核函数等。当训练样本为线性不可分时,将允许一些错分点的存在,此时引入一个非负松弛变量ξi≥1,i=1,…,l。此时,式(1) 变为:
则是在上述条件下求下列目标函数的极小值:
其中,C是一个用户自定义的惩罚因子,用于控制对错分的惩罚程度,以保持样本偏差与机器泛化能力之间的平衡。这样,同时考虑最少错分样本和最大分类间隔,就得到了线性不可分情况下的最优超平面。
本研究中应用的核函数为支持向量机中应用较多的径向基核函数,应用中需要确定的参数有g和C,借助参数寻优函数,分别在10-2~102之间寻找,经交叉验证为最优结果时,确定两参数的值。
研究中将所有病例资料随机抽取70%(2 427例)为训练样本,剩余30%(1 042例)为测试样本,训练样本用于构建支持向量机模型,测试样本用于评价模型的分类效果。准确率、灵敏度及特异度为模型好坏的评价指标。
计量指标以均数和标准差描述,计数指标以例数及百分数描述。
支持向量机模型的建立应用Matlab 7.0软件,结合台湾林智仁教授等编写的Libsvm-2.89-3支持向量机工具包实现〔7〕;统计学描述应用SAS 9.1.3软件实现。
测试数据集内样本共1 042例,其中非冠心病患者374例,冠心病患者668例。通过将24h动态心电图诊断结果中可疑心肌缺血和明确心肌缺血归类为阳性,正常为阴性,24h动态心电图检查结果的诊断灵敏度为68.11%,特异度为44.12%,准确率为59.50%。对测试数据集内研究对象的基本情况进行描述性统计,结果见表2。
表2 测试数据集内研究对象基本情况描述
以是否患有冠心病为因变量,对变量进行logistic回归分析筛选主要的因素,表3列出有统计学意义的变量及统计量。
表3 logistic回归模型的变量及统计量
应用Libsvm-2.89-3工具包及Matlab 7.0软件建立支持向量机模型,核函数选择径向基函数。将纳入的研究因素划分为人口学因素及现病史两部分,人口学因素包括年龄及性别,现病史包括高血压、高脂血症及糖尿病。首先应用24h动态心电图检查结果与人口学因素构建诊断模型,继而根据OR值大小依次纳入病史信息,分别构建不同的模型。不同模型的参数选取及测试结果如表4所见。
表4 纳入不同变量构建模型的参数及评价
支持向量机方法已逐渐应用在医学诊断领域,尤其对于一些非线性可分数据,更显示了它的优势,并且其设计简单,建模涉及参数较少〔8〕。本研究中建立的支持向量机模型仅有两个参数,分别为径向基核函数的参数g以及惩罚因子C。在既往一些研究中,模型参数通常使用默认值,但此时建立的模型很可能不是最优模型。武振宇等人的研究中提到,应对核函数参数进行调整,以确定最优参数〔9〕。本研究中应用了参数寻优函数,对选取不同参数的模型进行比较,确定最优参数。研究中五个模型的最优参数g变动幅度不大,包括0.25和0.5两种取值,而惩罚因子C变动稍大,取值变化范围为0.5~8。惩罚因子反应了模型对离群点的重视程度,当离群点带来的损失不容忽视时,则需要相应提高惩罚因子的大小。在应用年龄、性别和24h动态心电图构建模型时,可能由于仅有三个变量用于建模,一些离群点对于模型构建的影响不可忽视,因此,经寻优函数选取的最优C值为8,较其他模型的C值大。由于计算机业的迅速发展,用支持向量机计算及建立模型的方法变得简单,应用中的关键则是如何进行参数寻找、评价模型效果及建立合适的模型。
本研究中,仅用24h动态心电图检查诊断冠心病时诊断灵敏度为68.11%,特异度为44.12%,准确率为59.50%。构建支持向量机模型时,在24h动态心电图检查的基础上加入人口学因素,模型的诊断准确率及灵敏度高于单独应用24h动态心电图,但特异度有所下降;继而根据OR值的大小先后在模型中加入是否患有糖尿病、高血压,模型的准确率及灵敏度得到了进一步的上升,特异度变化不大,均较低。这说明了对与冠心病密切相关的危险因素水平的评估有助于冠心病诊断灵敏度的提高。但在加入高脂血症后,模型的准确率有所下降,这与既往研究中高脂血症与冠心病关系密切的研究结果不符,这可能由于本研究中病例组和对照组的高脂血症患病率均较高,分别为57.04%和51.60%,远高于2006年中国心血管病报告中的血脂异常患病率18.6%〔10〕。导致这种情况发生的原因可能与本研究纳入标准有关,本研究所选病例为同时进行了24h动态心电图及冠状动脉造影的患者,为疑诊冠心病患者,其血脂水平可能高于正常人群,而两组高脂血症患病率均高掩盖了血脂因素对疾病的影响。对于logistic回归中OR值较小的年龄,考察将其移除模型的诊断结果,虽然灵敏度有所提高,但特异度大幅度下降,准确率也有所下降,因此,作为冠心病的直接危险因素,年龄应保留在模型中。本研究中的各模型诊断特异度均不高,一方面由于支持向量机模型以高总体正确率为目标,若样本中患者数多于非患者数,两类的不均衡导致少数类错分更多,特异度有可能较低。在下一步的工作中,可考虑尝试一些解决非均衡数据问题的新方法构建模型〔11〕,探索提高特异度的方法;另一方面,本研究是将24h动态心电图检查结果与各种冠心病高危因素组合后出现的假阳性增高现象,使误诊率升高,这也说明在冠心病的早期诊断中,将高危人群纳入监测是非常重要的。
冠心病的早期诊断对及时治疗疾病,控制病情发展有重要意义,但应用何种早期诊断方法一直是研究的热点。一些诊断效率高的诊断方法对操作人员、检查费用等均有较高要求,不适于基层医院的应用和疾病的早期诊断;其他检查方法如静息心电图的诊断效率较低,运动或药物负荷心电图对操作者、患者状态均有要求,这些不足也限制了他们与其他无创检查方法联合诊断的推广和应用。因此,探索适合冠心病早期诊断的方法有重要意义。美国冠心病诊断与治疗指南中提出冠心病的诊断需结合冠心病的直接危险因素进行,因此,本研究探索了结合危险因素进行早期诊断,为其在临床实践中应用提供理论依据。结果显示,在应用较易实现的24h动态心电图检查的基础上,结合患者年龄、性别、是否患有糖尿病、高血压的情况,借助支持向量机模型,提高了对冠心病诊断的准确率和灵敏度。尽管诊断模型的特异度不高,但对于冠心病一类有确定性诊断方法且有系统治疗方案的疾病,早期诊断的高灵敏度即降低疾病的漏诊率至关重要,且被误诊的患者亦是冠心病的高危人群,应予以重视。
1.The global burden of disease:2004 update.http://www.who.int/healthinfo/global_burden_disease/2004_report_update/en/index.htm l.
2.Loong CY,Anagnostopoulos C.Diagnosis of coronary artery disease by radionuclide myocardial perfusi on imaging.Heart,2004,90 Suppl5:v2-v9.
3.M iller JM,Rochitte CE,Dewey M,et al.Diagnostic performance of coronary angiography by 64-row CT.N Engl JMed,2008,359(22):2324-2336.
4.Hamon M,Biondi-Zoccai GG,Malagutti P,et al.Diagnostic performance ofmultislice spiral computed tomography of coronary arteries as compared with conventional invasive coronary angiography:a meta-analysis.JAm Coll Cardiol,2006,48(9):1896-1910.
5.Gibbons RJ,Abrams J,Chatterjee K,et al.ACC/AHA 2002 guideline update for the management of patients with chronic stable angina—summary article:a report of the American College of Cardiology/American Heart Association Task Force on practice guidelines(Committee on the Management of Patients With Chronic Stable Angina).JAm Coll Cardiol,2003,41(1):159-168.
6.高隽.人工神经网络原理与仿真实例.北京:机械工业出版社,2007,78-93.
7.Chang C,Lin C.LIBSVM—A Library for Support Vector Machines.http://www.csie.ntu.edu.tw/~cjlin/libsvm/.
8.李磊,黄水平.支持向量机原理及其在医学分类中的应用.中国卫生统计,2009(1):22-25.
9.武振宇,李康.支持向量机在基因表达数据分类中的应用研究.中国卫生统计,2007(1):8-10.
10.孔灵芝,胡盛兽.中国心血管病报告.北京:中国大百科全书出版社,2006,21-21.
11.解丹蕊,韩建新,薛惠锋,等.非均衡数据的支持向量机新方法.计算机应用研究,2009(5):1654-1656.
The Application of Support Vector Machine in Building the Early Diagnostic Model of Coronary Artery Disease
SunXi-aoyu,YaoChen,KangXiaoping.DepartmentofEpidemiologyand Biostatistics,SchoolofPublicHealth,PekingUniversity(100191),Beijing
Objective To explore the application of the Support Vector Machine(SVM)in the diagnosis of Coronary Artery Disease(CAD);And to provide the theory basis for the usage of risk factors in the early diagnosis.Methods Backward logistic regression was used to choose significant variables.We used significant variables and 24-hour holter to build the SVM.Then different models were evaluated with the same test dataset.ResultsThe accuracy and sensitivity of the SVM which was built with risk factors were higher than 24-hour holter to diagnose CHD,and the specificity was lower.After contrasting the diagnostic capabilities among different SVM models,we found that the model built with 24-hour holter,combined with age,sex,diabetes,hypertension was better.The accuracy was 70.35%,the sensitivity was 90.27% and the specificity was 34.76%.ConclusionSVM could be used as the early diagnostic method for CHD,and the accuracy of early diagnosis would be higher in consideration of major risk factors.
Support vector machine;Coronary artery disease;Diagnostic model;24-hour holter