背景 冠状动脉粥样硬化性心脏病(以下简称冠心病)是全球重要的死亡原因之一。目前关于冠心病风险评估的研究在逐年增长。然而,在这些研究中常忽略了数据不平衡的问题,而解决该问题对于提高分类算法中识别冠心病风险的准确性至关重要。
目的 探索冠心病的影响因素,通过使用2种平衡数据的方法,基于5种算法建立冠心病风险相关的预测模型,比较这5种模型对冠心病风险的预测价值。
方法 基于2021年美国国家行为风险因素监测系统(BRFSS)横断面调查数据筛选出112 606名研究对象的健康相关风险行为、慢性健康状况等24个变量信息,结局指标为自我报告是否患有冠心病并据此分为冠心病组和非冠心病组。通过进行单因素分析和逐步Logistic回归分析探索冠心病发生的影响因素并筛选出纳入预测模型的变量。随机抽取112 606名受访者的10%(共计11 261名),以8∶2的比例随机划分为训练与测试的数据集,采用随机过采样和合成少数过采样技术(SMOTE)两种过采样的方法处理不平衡数据,基于k最邻近算法(KNN)、Logistic回归、支持向量机(SVM)、决策树和XGBoost算法分别建立冠心病预测模型。
结果 两组年龄、性别、BMI、种族、婚姻状态、教育水平、收入水平、家里有几个孩子、是否被告知患高血压、是否被告知处于高血压前期、是否被告知患妊娠高血压、现在是否在服用高血压药物、是否被告知患有高脂血症、是否被告知患有糖尿病、吸烟情况、过去30 d内是否至少喝过1次酒、是否为重度饮酒者、是否为酗酒者、过去30 d内是否有体育锻炼、心理健康状况以及自我健康评价比较,差异有统计学意义(P<0.05)。逐步Logistic回归分析结果显示:年龄、性别、BMI、种族、教育水平、收入水平、是否被告知患高血压、是否被告知处于高血压前期、是否被告知患妊娠高血压、现在是否在服用高血压药物、是否被告知患有高脂血症、是否被告知患有糖尿病、吸烟情况、过去30 d内是否至少喝过1次酒、是否为重度饮酒者、是否为酗酒者以及自我健康评价为冠心病的影响因素(P<0.05)。风险模型构建的分析结果显示:k最邻近算法、Logistic回归、支持向量机、决策树和XGBoost采用SMOTE处理不平衡数据的总体分类精度分别为59.2%、67.4%、66.2%、69.2%和85.9%,召回率分别为75.2%、71.4%、70.5%、62.9%和34.8%,精确度分别为15.4%、18.2%、17.5%、17.6%和28.7%,F值分别为0.256、0.290、0.280、0.275和0.315,受试者工作特征曲线下面积分别为0.80、0.78、0.72、0.72和0.82;采用随机过采样处理不平衡数据的总体分类精度分别为62.5%、68.5%、69.0%、60.2%和70.1%,召回率分别为70.0%、69.5%、71.9%、69.0%和67.6%;精确度分别为15.8%、18.4%、19.1%、14.8%和19.0%,F值分别为0.258、0.291、0.302、0.244和0.297,受试者工作特征曲线下面积分别为0.80、0.77、0.72、0.72和0.83。
结论 本研究不仅确认了已知冠心病的影响因素,还发现了自我健康评价水平、收入水平和教育水平对冠心病具有潜在影响。在使用2种数据平衡方法后,5种算法的性能显著提高。其中XGBoost模型表现最佳,可作为未来优化冠心病预测模型的参考。此外,鉴于XGBoost模型的优异性能以及逐步Logistic回归的操作便捷和可解释性,推荐在冠心病风险预测模型中结合使用数据平衡后的XGBoost和逐步Logistic回归分析。