1. 引言
在当今世界,心血管疾病(CVD)成为导致死亡的主要原因,其中冠心病是最常见的心血管疾病。2021年,全球有6.21亿例CVD患者,2050万例患者死亡,这对全球健康系统构成重大压力。世界卫生组织的数据显示,每年全球约有892万人死于冠心病。依据《中国心血管健康与疾病报告2021》,我国目前有大约3.3亿CVD患者,其中冠心病患者约1139万人[1]。冠心病的成因复杂,受年龄、气候等多种因素的影响,因此预测冠心病在医学数据处理领域具有关键性挑战。而机器学习已被证明在大量医疗数据中预测疾病方面有效,这使得智慧医疗成为热门研究领域。
2. 文献综述
近年来机器学习技术运用于心血管疾病的诊断和预测已成热门[2]。但机器学习算法种类多样,每种算法各有特点和适用场景,需要通过多种模型的对比试验来确定适用于冠心病预测的指标集合和算法类型[3]。冠心病是多种因素交织作用的结果。经过多年研究,已发现吸烟喝酒、运动时间、糖尿病和高血压、肾病、血脂血糖、脂蛋白a、口腔、社会健康及空气颗粒物等与冠心病相关[4]-[10]。在这诸多因素中筛选出对冠心病预测具有关键影响的特征集,对于提升预测模型的效能至关重要。当前,特征选择方法包括互信息、层次聚类、MIFS、mRMR [11] [12]等,虽然它们易于实现并有助于降低特征子集维度,但由于其静态贪婪搜索机制,所选择的特征不能在以后被改变,可能错失更优的特征组合。为克服这一局限,Hancer et al.创新性地提出MIRFFS [13],通过融合前向搜索与后向搜索策略,动态探索并锁定最优特征子集。值得注意的是,现有研究成果多数缺乏对数据不平衡性考虑,特征子集的性能仍有提升空间[14]-[16]。鉴于此,本文首先对数据进行不平衡处理,随后提出基于层次聚类和均值Fisher评分[17]的双重特征选择方法,通过层次聚类能够将特征划分为不相关的类别,利用Fisher评分计算类内和类间距离来确定特征的重要性,结合两种方法筛选出高性能特征子集。为验证所提方法的有效性,本文构建KNN、RF及SVM模型评估特征子集性能。深入挖掘冠心病数据,为改进医疗实践和患者护理寻求新的可借鉴技术方法。
3. 模型与方法
3.1. 资料来源
采用上海崇明某医院2020年1月至2022年12月的患者数据实例,此外,基于上海气象局和上海生态环境局提供的崇明区气候数据。根据医院冠心病相关专家建议及过往研究,共选取1149条数据和20个特征。本研究通过上海健康医学院附属崇明医院伦理委员会临床研究项目审批(CMEC-2023-KT-05)。
3.2. 基于层次聚类和均值Fisher评分的双重特征选择方法(HC_MFS)
本文提出HC_MFS方法,层次聚类能够将特征划分为不相关的类别,降低同一类别内特征的相似性。Fisher评分则通过计算类内和类间距离来确定特征的重要性,选择与目标相关性最大的特征。
层次聚类ward算法认为同类样本之间的离差平方和应该尽量小,不同类之间的离差平方和应该尽量大。假设,现在有n个样本,我们要将他分成k类,那么第t类样本的离差平和
以及整个类内的离差平方和
。方法数学表达式如下所示:
(1)
(2)
其中,
表示第t类样本的个数,
表示第t类样本中的第i个样本,
表示第t类样本的均值点。
Fisher Score是特征选择的有效方法之一,其主要思想是鉴别性能较强的特征表现为类内距离尽可能小,类间距离尽可能大。详细地说,给定一个特征集合d,用S表示,fisher score过滤式的特征选择的目标是选择一个特征子集m (m < d),由用T表示,从而最大化某些数学标准F。数学表达式如下所示:
(3)
其中,s.t.表示约束条件,
是集合的个数。
结合两种方法筛选出更高性能的特征子集,具体步骤如下:
步骤1:对原始特征序列
采用Ward聚类;
步骤2:计算特征的Fisher评分(FS),进行特征排序,并计算类别均值FS (MFS);
步骤3:FS高于MFS的特征纳入初始特征子集
,因为它们具有更高的类区分能力;
步骤4:基于
,利用向前搜索和向后搜索,将使得模型准确率提升的特征加入到
,直至遍历完所有特征;
步骤5:比较向前搜索(F)和向后搜索(R)的准确率,取准确率高的特征子集;若相等,则取特征数目少的特征子集。
3.3. 机器学习模型构建与评价
模型建立和评估分为3个步骤:(1) 数据预处理:数据集少量缺失值采用均值填充,由于研究样本数据存在不平衡性,给实验结果带来干扰。为此,本研究采用Bordrline_smote [18]法对数据进行不平衡处理,并标准化处理数据,最终获得1314条数据,按照8:2分为训练集和测试集。(2) 特征选择:本文提出HC_MFS方法筛选重要特征,并与均值互信息(MMI)、距离相关系数(DCFS)、基于决策树模型法(DT)、特征递归消除(RFE)和极致梯度提升树(Xgboost)做性能对比实验,使用准确率、精确度、特异性、召回率、方差(std)、拟合系数(R2)和均方根误差(RMSE)评估模型。(3) 最优模型:为选出适配本研究的机器学习算法,引入KNN、RF和SVM模型,通过网格搜索寻找最佳参数,并进行性能对比。
3.4. 统计学方法
使用python 3.9进行数据分析,符合正态分布的计量资料采用(
)表示,两组间比较采用独立样本t检验,计数资料以相对数表示,组间比较采用χ2检验。以P < 0.05为差异有统计学意义。
4. 实证研究结果
4.1. 患者特征
共纳入1314例对象,冠心病组和非冠心病组各657例。根据医院专家建议及过往研究,共选取20个特征。统计分析结果显示,除血小板外,两组的差异均有统计学意义(P < 0.05)。见表1。
Table 1. Basic conditions of coronary heart disease and its statistical analysis
表1. 冠心病的基本情况及其统计学分析
特征 |
非冠心病组(n = 657) |
冠心病组(n = 657) |
t/χ2 |
P值 |
甘油三酯/(mmol/L) |
1.28 ± 0.77 |
1.48 ± 1.14 |
−3.696 |
P < 0.05 |
最低温/℃ Minimum |
13.38 ± 9.21 |
12.14 ± 9.66 |
2.383 |
P < 0.05 |
PM10/(μg/m³) |
31.44 ± 15.66 |
34.06 ± 16.00 |
−3.000 |
P < 0.05 |
季节 |
|
|
105.027 |
P < 0.05 |
春季/n |
135 (20.55%) |
138 (21.00%) |
|
|
夏季/n |
143 (21.77%) |
141 (21.46%) |
|
|
秋季/n |
140 (21.31%) |
165 (25.11%) |
|
|
冬季/n |
239 (36.38%) |
213 (32.42%) |
|
|
C反应蛋白/(mg·L−1) CRP/(mg·L−1) |
24.85 ± 48.80 |
16.08 ± 32.92 |
3.823 |
P < 0.05 |
血小板/(L−1) Platelets/(L−1) |
192.72 ± 80.81 |
186.47 ± 66.64 |
1.530 |
0.126 |
血小板分布宽度/(%) |
12.46 ± 2.29 |
13.13 ± 2.65 |
−4.879 |
P < 0.05 |
大型血小板比率/(%) |
29.78 ± 7.86 |
31.51 ± 8.58 |
−3.795 |
P < 0.05 |
平均血小板体积/fL |
10.62 ± 1.02 |
10.89 ± 1.13 |
−4.526 |
P < 0.05 |
前白蛋白/(g/L) |
0.18 ± 0.08 |
0.19 ± 0.08 |
−3.594 |
P < 0.05 |
低密度脂蛋白/(mg·L−1) |
2.42 ± 0.95 |
2.16 ± 0.87 |
4.988 |
P < 0.05 |
尿酸/(μmol·L−1) Uric Acid/(μmol·L−1) |
0.35 ± 0.13 |
0.37 ± 0.15 |
−3.676 |
P < 0.05 |
总胆固醇/(mmol·L−1) |
4.42 ± 1.20 |
4.05 ± 1.17 |
5.619 |
P < 0.05 |
高血压/mmHg |
442 (67.28%) |
564 (85.84%) |
80.776 |
P < 0.05 |
糖尿病/(mmol/L) |
192 (29.22%) |
273 (41.55%) |
21.302 |
P < 0.05 |
肌酸激酶同功酶/(U/L) |
12.91 ± 14.87 |
15.66 ± 22.43 |
−2.261 |
P < 0.05 |
乳酸脱氢酶/(U/L) |
212.42 ± 116.61 |
235.96 ± 180.90 |
−2.804 |
P < 0.05 |
淋巴细胞比率/% |
19.66 ± 9.87 |
21.63 ± 10.33 |
−3.547 |
P < 0.05 |
淋巴细胞数/(109/L) |
1.30 ± 0.63 |
1.46 ± 1.03 |
−3.223 |
P < 0.05 |
平均血红蛋白浓度/(g/L) |
329.00 ± 14.91 |
330.80 ± 14.66 |
−2.206 |
P < 0.05 |
4.2. 参数设置
本文基于python 3.9进行实验,使用KNN、RF和SVM分类模型,对HC_MFS与MMI、DT、RFE、DCFS和Xgboost在同一数据集上进行对比实验,并通过网格搜索寻找模型最佳参数,参数设置如表2。
Table 2. Model parameter settings
表2. 模型参数设置
模型名称 |
方法 |
参数名 |
参数值 |
KNN |
HC_MFS/RFE/DCFS/XGBoost |
n_neighbors |
14 |
p |
1 |
weights |
distance |
MMI |
n_neighbors |
16 |
p |
1 |
weights |
distance |
DT |
n_neighbors |
17 |
p |
1 |
weights |
distance |
RF |
HC_MFS |
max_depth |
11 |
min_samples_leaf |
2 |
min_samples_split |
2 |
n_estimators |
300 |
MMI |
max_depth |
15 |
min_samples_leaf |
2 |
min_samples_split |
2 |
n_estimators |
300 |
DT/RFE/XGBoost |
max_depth |
8 |
min_samples_leaf |
2 |
min_samples_split |
2 |
n_estimators |
100 |
DCFS |
max_depth |
5 |
min_samples_leaf |
2 |
min_samples_split |
2 |
n_estimators |
100 |
SVM |
六种方法 |
C |
1 |
kernel |
linear |
4.3. HC_MFS双重特征选择方法
数据均衡处理后,首先,采用倾向于形成相对紧凑和均衡的簇Ward法聚类,结果如表3。结果显示,特征分为三类比较显著。其次,基于Fisher评分计算特征得分并进行排序,将大于等于类MFS的特征纳入初始特征子集。引入MMI、DT、RFE、DCFS和Xgboost,对特征进行排序,将特征得分大于等于平均得分的特征作为初始特征子集,特征重要性排序如图1。
此外,引入SHAP值解释预测模型,SHAP值通过计算每个特征对模型预测结果的贡献计算特征贡献度,特征SHAP值如图2。通过特征重要性排序(图1)和SHAP值(图2)均可以看出,季节和C反应蛋白是最重要的影响因素,这也与我们的分类实验结果相符合。
Table 3. Hierarchical clustering result
表3. 层次聚类结果
类别 |
特征 |
第一类 |
总胆固醇,高血压,糖尿病,前白蛋白,尿酸,季节,最低温,低密度脂蛋白,淋巴细胞数,甘油三酯,肌酸激酶同功酶,血小板分布宽度,平均血小板体积,C反应蛋白,PM10,大型血小板比率,淋巴细胞比率 |
第二类 |
乳酸脱氢酶,血小板 |
第三类 |
平均血红蛋白浓度 |
Figure 1. Ranking of importance of CHD
图1. 冠心病特征重要性排序
Figure 2. SHAP value of CHD
图2. 冠心病特征SHAP值
4.4. 分类结果
为科学地评估HC_MFS方法,本文进行多方面性能评估,结果如表4。HC_MFS、DT、RFE、DCFS和Xgboost方法均在随机森林模型中获得最佳性能,准确率分别为83.84%、77.04%、76.32%、76.81%和77.57%,受试患者曲线下面积(Area under carve, AUC)分别为0.852、0.819、0.805、0.796和0.787。MMI在KNN模型中获得最佳性能,准确率为74.90%,AUC为0.813。HC_MFS三个模型的AUC如图3所示。经分析发现,HC_MFS方法在三个模型中的各项性能指标表现均优于现有方法:KNN模型中准确率平均提升6.42%;RF模型中表现尤为突出,平均准确率提升11.25%;SVM模型中准确率平均提升9%。实验中在三个模型中均方根误差最高降低13.16%,性能提升和误差降低显著。最终筛选出的特征子集如表5。尽管基于未做不平衡数据处理的实验结果显示,HC_MFS性能虽然提升,但是效果甚微,其准确率最高提升7.94%,这也反映出不平衡数据处理的必要性和合理性。
为进一步验证HC_MFS方法的有效性,本研究采用Kaggle心脏病公开数据集验证方法的泛化能力。通过对心脏病数据集进行实验,实验结果显示,HC_MFS方法在KNN、RF和SVM模型中的各项性能指标表现均优于现有方法,并在RF模型中达到100%准确率,具体结果如表6。再度确证了HC_MFS方法在特征子集选择领域中的优越性,该方法显著促进了疾病预测模型整体性能的全面提升。在疾病预测的复杂框架下,精准地识别并提取出高性能的特征子集是预测精准度的核心基石。因此,HC_MFS方法不仅在特征优化层面具有技术实力,还在提升疾病预测模型效能方面的重要应用价值。
Table 4. Prediction model assessment metrics of CHD
表4. 冠心病预测模型评估指标
方法 |
HC_MFS (RF模型) |
MMI (KNN模型) |
DT (RF模型) |
RFE (RF模型) |
DCFS (RF模型) |
Xgboost (RF模型) |
准确率(%) |
83.84 |
74.90 |
77.04 |
76.32 |
76.81 |
77.57 |
精确度(%) |
89.96 |
82.64 |
82.31 |
81.54 |
81.82 |
82.58 |
召回率(%) |
80.03 |
68.97 |
74.26 |
73.58 |
74.48 |
75.17 |
AUC |
0.852 |
0.813 |
0.819 |
0.805 |
0.796 |
0.787 |
std |
0.431 |
0.493 |
0.476 |
0.469 |
0.479 |
0.474 |
R2 |
0.627 |
0.511 |
0.538 |
0.516 |
0.539 |
0.554 |
RMSE |
0.435 |
0.501 |
0.478 |
0.488 |
0.482 |
0.471 |
Table 5. Subset of final features
表5. 最终特征子集
方法 |
最终特征子集 |
HC_MFS |
{高血压,C反应蛋白,平均血小板体积,血小板分布宽度,总胆固醇,前白蛋白,乳酸脱氢酶,平均血红蛋白浓度,季节,低密度脂蛋白,甘油三酯,最低温} |
MMI |
{C反应蛋白,总胆固醇,淋巴细胞比率,大型血小板比率,低密度脂蛋白,乳酸脱氢酶,血小板,甘油三酯,淋巴细胞数,季节,高血压,最低温} |
DT |
{季节,C反应蛋白,最低温,低密度脂蛋白,高血压,前白蛋白,PM10,淋巴细胞数,平均血小板体积,甘油三酯,乳酸脱氢酶} |
RFE |
{C反应蛋白,季节,最低温,低密度脂蛋白,前白蛋白,高血压,PM10,大型血小板比率,平均血小板体积,甘油三酯} |
DCFS |
{高血压,季节,C反应蛋白,总胆固醇,血小板分布宽度,前白蛋白,平均血小板体积,低密度脂蛋白,甘油三酯,大型血小板比率,最低温,血小板} |
Xgboost |
{C反应蛋白,淋巴细胞数,淋巴细胞比率,总胆固醇,最低温,甘油三酯,尿酸,血小板分布宽度,血小板,季节,肌酸激酶同功酶,高血压} |
Table 6. Prediction model assessment metrics of Heart
表6. 心脏病预测模型评估指标
方法 |
HC_MFS (RF模型) |
MMI (RF模型) |
DT (RF模型) |
RFE (RF模型) |
DCFS (SVM模型) |
Xgboost (RF模型) |
准确率(%) |
100.00 |
96.59 |
97.05 |
98.05 |
98.54 |
92.71 |
精确度(%) |
100.00 |
95.15 |
94.29 |
96.12 |
100.00 |
91.35 |
召回率(%) |
100.00 |
98.00 |
100.00 |
100.00 |
97.09 |
92.23 |
AUC |
100.00 |
98.41 |
98.89 |
99.91 |
98.12 |
96.60 |
std |
0.00 |
0.185 |
0.171 |
0.140 |
0.121 |
0.288 |
R2 |
1.00 |
0.932 |
0.943 |
0.962 |
0.971 |
0.834 |
RMSE |
0.00 |
0.184 |
0.169 |
0.138 |
0.120 |
0.288 |
Figure 3. ROC curves for the three models of HC_MFS
图3. HC_MFS三个模型的ROC曲线
5. 讨论
本研究结果显示,相较于其他方法,HC_MFS方法性能表现更优。特征选择结果(表5)显示,冠心病与C反应蛋白(CRP)、低密度脂蛋白(LDL)、甘油三酯(TG)和高血压等病理因素强相关。尤为突出的是,CRP相关性排名位于前3位,显示出与冠心病的强相关性,这与Ridker et al.的CANTOS实验研究结果一致[19]。具体而言,CRP在血管炎症期间从易损斑块释放,直接参与并促进动脉粥样硬化的病理过程及斑块不稳定性,从而导致冠状动脉硬化积分随血浆CRP水平上升而加剧,且高水平CRP患者罹患周围血管疾病的风险显著增加,可达正常水平的四倍之多。
此外,LDL互信息值为0.18887,表明其与冠心病之间存在强烈的正相关关系。流行病学研究指出,动脉粥样硬化始于脂蛋白在内壁积累,LDL颗粒被氧化,LDL水平增加会增大冠心病风险。Sakuma M et al.表明心血管事件的风险可能单调降低,直到LDL下降至阈值[20]。这可归因于两方面:首先,紊乱的脂质代谢和随后的血脂异常极易形成斑块,而LDL负责运送脂类到血管内皮细胞,LDL过高将导致过量脂类沉积,形成斑块。其次,小而致密的LDL更易穿透动脉壁,更亲和地粘附在基质上,且更易被氧化。这使得它们更容易引发炎症反应,并加速动脉硬化的进程。TG也与冠心病强相关。其机制与LDL相似,这与文献[21]的讨论结果相吻合,共同揭示了脂质代谢紊乱在冠心病发病中的核心作用。
值得注意的是,高血压DCFS值为0.1979,高居首位,与冠心病的强烈相关,这与Adler et al.提出的CVD与收缩压上升强烈相关的结果一致。分析其原因:首先,高血压会导致心脏和血管承受额外的负担,从而加速动脉硬化的发展。其次,血压随着年龄的增加而升高,崇明区老龄化严重,在获取的冠心病患者数据中,87.21%年龄不低于65岁,78.85%患有高血压,老年人血管老化严重,更易诱发冠心病。
此外,冠心病还与季节、最低温等气候因素强相关。具体而言,季节DCFS值0.1781,SHAP值排名位于首位,超越了多数病理因素,成为冠心病发病的重要气候相关因子。分析其影响机制:首先,季节变换产生较大温差,冷热交替会引起心脏和血管的应激反应,同时崇明区位于亚热带地区,年均高达93天的雨天及逐年递增的降雨量,近乎全国平均水平的2倍,空气湿度显著升高,会加重呼吸和循环系统的负担,两者的双重作用加大了冠心病发作概率。其次,崇明区冬冷夏热,且冬夏长达230多天,气候寒冷引起血管收缩,导致血压升高和心肌供血减少,心肌的耗氧量也会明显地增加,极易诱发斑块破裂,导致冠心病发作。再者,近年全球气候变化,热暴露对健康的影响正在逐步加大,通过热应激机制导致中心体温调节的生理反应加剧,如排汗量增加,导致血液黏度上升,导致血管堵塞,心率和呼吸率升高[22],血管扩张加大心脏排血量,同时也加大了心脏负担。
另一方面,最低温是具有较强相关性的气候因素,研究证明低温造成的冠心病负担大于高温[23]。首先,在动脉粥样硬化进展期斑块中,寒冷、缺氧环境使能量代谢出现障碍,致使腺嘌呤核苷三磷酸(ATP)生成严重不足,可能导致巨噬细胞凋亡及坏死核心形成。寒冷应激能够通过诱导交感神经兴奋、加重动脉粥样硬化炎症反应、致使内皮细胞功能障碍、增加适应性产热、使ATP生成不足等相关机制引发急性心梗、冠心病。其次,崇明区近年来(2020-2022年)年均最低温度持续下降,尤其春冬季的显著降温,过低的气温引起血管的持续性收缩,导致心脏做功增加、外周血管阻力增加及血压升高,引发冠心病。最后,寒冷天气易发生感冒和支气管炎,增大心血管疾病的风险。
综上所述,本研究为数据要素视角下结合机器学习方法的冠心病分类分析,提出基于冠心病患者不均衡样本数据的HC_MFS方法,并进一步提高模型性能。本研究发现冠心病不仅与CRP、LDL、高血压等病理因素强相关,还与季节、气温等气候因素具有显著相关性,尤其是在冬季低温天气更易诱发冠心病。研究结果在病理分析、主动防范、医疗管理等多角度均具有现实指导意义。本研究也为数据驱动医疗健康管理提供了一种新的技术辅助方法。
基金项目
上海健康医学院地方高水平大学建设项目(22MC2022001)。
NOTES
*通讯作者:费哲为,e-mail: zheweifei@163.com。