慢性肾脏病(chronic kidney disease, CKD)是全球广泛存在的慢性进展性疾病,其特征为肾脏结构和功能的长期不可逆损伤。依据全球疾病负担研究数据,CKD的患病率与致死率呈持续上升趋势,尤其在老龄化、高血压及糖尿病等高危人群中表现显著
[1-2]。根据2012年《中国慢性肾脏病流行病学调查》的全国代表性数据,中国成人CKD患病率约为10.8%,患者数量庞大。其中,CKD 3~5期(中重度至终末期)患者约占1.7%,显示出晚期肾功能损害带来的严峻疾病负担
[3]。因此,针对CKD的预测模型的研究具有重要意义。
目前,临床诊断主要依赖血清肌酐、尿蛋白等单一生物标志物,然而,早期CKD患者常因临床症状不典型或实验室指标存在生理性波动而导致漏诊,若未得到恰当与及时的干预,CKD 可能会发展为终末期肾病(end-stage renal disease, ESRD)
[4]。在中低收入国家,受限于患者与医疗保健提供者对疾病认知的不足,常于疾病晚期才得以确诊,这一现象尤为普遍
[5]。尽管基于血清肌酐的估算肾小球滤过率被视作评估肾功能的金标准,但其易受年龄、肌肉量等非疾病性因素的影响,且作为单一指标,难以整合高血压、糖尿病等关键共病信息以进行综合风险评估
[6-7]。
在临床实践中,CKD的诊断需要医生综合分析包括血液生化指标、病史及合并症等多维度数据
[8]。与此同时,针对CKD的统计预测模型研究也为该疾病的早期预警和诊断提供了重要参考依据
[9]。然而,传统统计方法在处理高维、复杂的医疗数据时,往往难以有效捕捉变量间复杂的交互关系,导致CKD诊断效能受限。研究表明,线性回归等经典方法对医疗数据中普遍存在的非线性关联捕捉能力不足,且无法有效处理特征多重共线性问题
[10-11]。
为此,近年来研究人员开始探索引入机器学习方法,以期克服传统统计预测模型的不足。然而,现有研究多集中于单一机器学习算法的应用,缺乏对临床可解释性与模型泛化能力的协同优化。例如,随机森林虽在CKD预测中表现出色,但其“黑箱”特性严重制约了其在临床实践中的可接受性与可推广性;而逻辑回归虽具备良好的参数可解释性,却因忽略高阶交互作用导致敏感性不足
[12]。因此,开发兼具可解释特征选择机制与预测效能的混合建模策略,对于推动CKD预测模型走向临床实际应用具有重要意义。
近年来的研究表明,基于最小绝对收缩与选择算子(least absolute shrinkage and selection operator,LASSO)的特征选择方法在医学领域具有显著优势。该方法不仅能够保留关键预测变量,还能显著降低特征维度,并具备良好的可视化解释性。研究表明,该方法在保持较高准确率的同时,可减少50%以上的冗余变量
[13-14]。在乳腺癌检测中,LASSO算法通过筛选影像组学特征,显著提高了模型分类敏感度和准确率,证明了其在多模态医学数据中的泛化能力
[15]。此外,LASSO在医学研究中被广泛应用于筛选关键生物标志物,提升诊断模型的性能。
基于此,现提出一种融合LASSO特征选择与 Stacking 集成学习的CKD辅助诊断模型,旨在解决传统单一指标漏诊率高、多变量分析效率低的临床痛点,提高CKD的诊断效率,同时优化医疗资源分配策略。
1 资料和方法
1.1 一般资料
研究数据取自 UCI (University of California, Irvine)标准数据库CKD数据集。该数据集共包含400例数据样本,涵盖24项医学指标及CKD状态标签。其中,数值型变量共11项,分别为:年龄、血压、血红蛋白、红细胞压积、血肌酐、随机血糖、血尿素、钠、钾、白细胞计数和红细胞计数。分类型变量共14项,分别为:尿比重、脓细胞、脓细胞凝聚物、白蛋白、葡萄糖、红细胞、细菌、食欲、足部水肿、高血压、糖尿病、冠心病、贫血和CKD类别。
1.2 研究对象
采用病例-对照研究设计方案,基于上述数据集,根据是否诊断为慢性肾脏病(CKD)将样本划分为CKD组(150例)与非CKD组(250例),旨在系统筛选影响CKD预后的关键特征变量,并将其作为输入特征,构建并比较多种机器学习模型,以预测个体罹患CKD的风险。
1.3 研究方法
1.3.1 数据预处理
为提升机器学习模型的预测性能,对原始数据进行系统性预处理。针对分类变量的处理,首先采用标签编码将其转换为数值形式,这是构建数值化特征空间的必要前提。在处理缺失值时,考虑到数据集中存在少量缺失样本,采用多重插补法(multiple imputation)进行填补。然而,该方法在处理分类变量时存在固有缺陷,插补生成的新样本可能包含原数据中不存在的类别值,导致特征空间维度膨胀,即类别数目异常增加
[16]。为解决这一问题,引入
K近邻(
K-nearest neighbors,KNN)聚类算法,通过计算欧氏距离将插补生成的样本映射到与其最相似的已有类别中,从而在保持数据完整性的同时有效控制分类特征的维度扩展。
在完成数据完整性修复后,进一步实施特征标准化处理。考虑到不同自变量存在量纲差异,直接输入模型会导致梯度下降算法收敛速度减缓。为此,采用 Min-Max标准化(Min-Max normalization)方法对所有连续型变量进行归一化处理。该方法通过线性变换将数据映射到固定区间,不仅消除了量纲差异对模型训练的影响,更重要的是通过统一特征尺度,减少了不同特征间的数值差异,从而提升了优化算法的收敛效率和模型性能
[17]。
1.3.2 特征筛选
为识别CKD患病的关键影响因素,首先通过单因素分析筛选出具有组间显著性差异(
P<0.05)的候选变量。然而,单因素分析存在固有局限性:其仅评估单个变量与目标变量的独立关联,无法捕捉多变量之间的交互作用及多重共线性问题,可能导致遗漏重要变量或错误纳入冗余特征
[18]。
为克服上述缺陷,采用 LASSO回归进行特征选择,以五折交叉验证优化正则化参数
λ,通过最小化均方误差确定最优变量子集。该方法在压缩共线性变量系数至零的同时,保留独立预测效能强的特征。CKD诊断模型的整体架构图如
图1所示。
1.3.3 模型的构建
采用分层建模策略,从基础模型构建到集成学习优化逐步推进。首先,基于预处理后的特征数据,构建五类基准机器学习模型:逻辑回归(logistic regression,LR)、随机森林(random forest,RF)、朴素贝叶斯(naive Bayes,NB)、KNN 和支持向量机(support vector machine,SVM)。其中各模型的超参数通过网格搜索法确定。在此基础上,为进一步突破单模型的性能瓶颈,引入 Stacking集成学习框架
[19]。如
图2所示,该方法通过融合多个异构基学习器的预测输出,构建具有更强泛化能力的元学习器。在机器学习的选择上,综合考虑模型的多样性与互补性,选取RF、NB、KNN和SVM。具体而言,RF在处理高维数据和捕捉非线性关系方面表现出色;NB适用于高维稀疏数据;KNN能够有效识别局部模式;SVM则擅长处理复杂的决策边界。这些模型在特征空间中生成的预测结果具有显著差异性,有助于提高集成模型的整体性能
[20]。最终,采用LR作为元学习器(Meta-learner),因其具备良好的可解释性,能够有效整合多源预测信号
[21]。
1.3.4 模型的评估
通过准确率、精确率、召回率、
F1、敏感性、特异性、受试者工作特征曲线下面积(area under the receiver operating characteristic curve, AUROC)、精确-召回曲线下面积(area under the precision-recall curve, AUPRC)评估模型性能,并绘制决策曲线分析(decision curve analysis,DCA)比较不同模型的临床净获益。考虑到现实世界中数据往往存在一定程度的噪音,通过向输入数据添加适量的随机高斯噪声来模拟这一情况,以此提高模型的鲁棒性和泛化能力。这种方法有助于增强模型的抗干扰能力,确保其在面对真实世界数据时仍能保持较高的预测精度和稳定性
[22]。
1.3.5 统计学分析
采用Python(3.9.0版本)进行数据处理和数据分析。主要库包括Pandas(2.2.3)和Scikit-learn(1.5.2)。将样本分为CKD组和非CKD组,对于计量资料,通过独立样本T检验或者Mann-Whitney U检验进行检验,对于计数资料,通过卡方检验进行检验。对于符合偏正态分布的计量资料通过四分位间距M(P25, P75)表示;对于计数资料,通过频数(单位:%)来表示。考虑的检验水准为α=0.05,并认为P<α为差异有统计学意义。
2 研究结果
2.1 患者基本资料
通过单因素分析比较CKD组与非CKD组之间各变量是否存在显著性差异。除血钾外,其余变量均存在显著性差异。如
表1所示。
2.2 特征选择结果
绘制皮尔逊相关系数热力图如
图3所示。发现部分变量之间存在较强的相关性。为避免多重共线性对模型的干扰,剔除了血红蛋白、红细胞压积和葡萄糖等与其他变量相关系数绝对值大于等于0.7的变量
[23]。采用LASSO回归结合5折交叉验证的方法进行特征变量的筛选。如
图4所示,通过分析正则化路径,可以观察到变量系数随正则化强度(lg
λ)变化的趋势。LASSO回归通过施加L1正则化,将不重要的变量系数压缩至零,从而实现特征选择。
为了确定最优的正则化系数,如
图5所示,使用5折交叉验证评估模型性能。通过交叉验证,选择两个关键的正则化参数:lambda.min(使均方误差最小的
λ)和lambda.lse(在lambda.min一个方差范围内得到最简单模型对应的
λ)。最终,选择lambda.min(其对应的正则化系数
λ=0.012 619)筛选出的12个重要变量,分别是尿比重, 白蛋白, 红细胞, 脓细胞, 高血压, 糖尿病, 食欲, 血压, 随机血糖, 钠, 白细胞计数, 红细胞计数,作为后续机器学习模型的输入。
2.3 模型的性能结果
Stacking模型显著提升了CKD发病预测的性能。如
表2所示,与单一模型相比,Stacking模型在测试集上的准确率、精确率、
F1和特异性指标上均表现更优。如
图6所示,Stacking 模型的AUROC达 0.981,较 KNN(0.974)、LR(0.971)等显著提升;如
图7所示,Stacking模型的 AUPRC为 0.957,也高于 RF的 0.948、NB 的 0.944,充分彰显其在不平衡数据下对正例的识别能力与整体排序性能更优。
为了评估不同机器学习模型在临床决策中的实用性,绘制各模型的DCA图。DCA是一种评估预测模型临床价值的方法,它通过比较不同决策阈值下模型的净收益来确定模型的最优应用场景。除比较6种机器学习模型外,还考虑了两种极端情况:不进行治疗(Treat None)和对所有患者进行治疗(Treat All)作为对照组。
如
图8所示,DCA曲线展示了不同模型在不同阈值概率下的净收益曲线。横轴为阈值概率,即模型预测为阳性的概率阈值;纵轴为净收益,即在给定阈值下模型的净临床收益。从
图8中可以看出,RF和Stacking模型在大多数阈值范围内表现出较高的净收益,表明这些模型在临床决策中具有较高的应用价值。相比之下,朴素贝叶斯模型的净收益较低,尤其是在阈值概率较高时,其临床应用价值有限。
3 讨论
提出了一种基于 LASSO-Stacking 模型框架的慢性肾脏病(CKD)检测技术,能够在患者进入ESRD前,帮助其及时接受药物治疗与恢复治疗。临床实验结果表明,该技术具备较高准确率,可为医生提供有效的辅助决策支持,从而在临床诊断中助力CKD的精准诊断,促进CKD的及时干预和个性化治疗。
在对多种模型进行比较分析,结果显示,Stacking 集成学习模型在诊断效果方面表现尤为突出。与 Alsekait等
[24]基于深度学习的集成策略相比,所搭建的LASSO-Stacking模型框架展现出更强的泛化能力与计算效率。尽管深度学习模型在处理高维非线性数据时表现优异,但其对大量标注数据的依赖性强,且调参过程复杂,在样本量有限的场景下易陷入过拟合困境。而Kaur等
[25]的研究局限于单一模型或简单投票集成方式,未引入元学习器进行二次优化,其诊断效能与鲁棒性存在较大提升空间。相对Rehman等
[26]的研究,通过计算所有变量间的皮尔逊相关系数,剔除了具有多重共线性的变量,有效解决了多重共线性问题。此外,通过添加适量的随机高斯噪声来提升模型的鲁棒性和泛化能力,增强模型的抗风险性能。相较于Islam等
[27]的单一算法研究,借助集成学习框架显著提升了预测稳定性,如在高斯噪声干扰下,Stacking模型仍能保持较好的准确率。与Chhabra等
[28]的静态模型相比,引入DCA曲线,为临床决策提供了更为直观的效益评估工具。
研究也存在一些局限性。数据来源于公开数据库,样本量较小且缺乏动态随访信息,难以捕捉CKD病程演变特征。尽管通过添加高斯噪声增强了模型的鲁棒性,并采用网格搜索优化超参数,但由于训练数据的疾病分型、人群特征及合并症分布可能存在的偏倚,模型在不同临床场景中的外部有效性仍需通过多中心队列研究进一步验证。此外,模型效能验证基于横断面数据,研究结论适用于临床辅助诊断场景,但在早期疾病阶段的外推依据方面尚不充分,需在纵向队列研究中进一步验证。
未来研究可聚焦于以下几个方向:①纳入动态生理指标与电子健康记录,构建时序预测模型;②探索深度学习模型与传统机器学习的融合策略;③通过多中心队列验证模型的外部有效性,推动其向临床实践转化。
4 结论
基于LASSO特征选择与Stacking集成学习方法,构建了一种面向慢性肾脏病(CKD)患者的风险预测模型。通过整合血液生化、尿检、生理指标及合并症等24项临床变量,模型成功筛选出12个关键特征,展现出较高的预测准确率(0.958)及良好的决策曲线分析(DCA)净获益表现。该模型能够有效识别CKD患者发生终末期肾病(ESRD)的风险,辅助医生在疾病进展关键节点做出及时干预决策,为患者提供个体化管理建议,从而延缓疾病进展,降低ESRD带来的临床负担。
重庆市自然科学基金创新联合发展联合基金(CSTB2023NSCQ-LZX0017)