基于混合加权距离的KNN心衰患者死亡率评估模型

2022-09-23 07:16李灯熬赵菊敏
太原理工大学学报 2022年5期
关键词:比率类别心衰

付 健,李灯熬,赵菊敏

(太原理工大学 a.大数据学院,b.信息与计算机学院,山西 晋中 030600)

心力衰竭(简称心衰)是多种原因导致心脏结构或功能的异常改变,能引起一组复杂临床综合征的疾病[1]。文献[2]数据显示,在中国大于35岁的人群中心衰患病率为1.3%,约有890万心衰患者。中国心衰的患病率在15年间增加了44%,心衰的防治形势依然十分严峻。因此评估心衰患者预后的全因死亡率,通过预测结果使医生制定更加科学合理的预后治疗方案,是防止病情进一步恶化,积极引导病人的健康,改善病人生活质量的一种重要手段[3-4]。

目前,针对心衰患者预后死亡率研究模型主要分为两种,一种是根据医学知识和统计学出发的医学领域预后模型。如心衰存活评分模型,西雅图心衰模型,慕尼黑评分模型等。医学领域预后模型存在患者的特征利用不充分的问题,如心衰存活期模型没有研究患者的现代药物治疗特征对心衰死亡率的影响。

另一种是基于机器学习和深度学习算法的心衰患者预后死亡率预测模型[5]。如SUZUKI et al[6]采用具有逐步变量选择的多元逻辑回归分析方法进行死亡率评估预测,但此模型难以处理非线性问题。此外,树模型由于具有特征筛选功能,因此被广泛应用于预后死亡率评估中。如AVULA et al[7]将CART与PRISM评分结合去预测心力衰竭患者1 a内的死亡率。ZAHAVI et al[8]和KOSZTIN et al[9]利用随机森林分析了不同心衰病人的死亡率预测因子。AGASTHI et al[10],ADLER et al[11]将梯度提升树应用在心衰患者死亡率预测中。相对于医学领域模型,这类预测模型具有能够综合分析患者各类特征和可移植性高的优势。

与多元逻辑回归等模型相比,K-近邻算法能处理非线性问题且具有易于理解、预测速度高的优点。此外,K-近邻算法稳定性高,能够稳定且较为准确地评估每个特征对于患者死亡率的影响。因此本文采用K-近邻算法预测心衰死亡率。K-近邻算法通过计算待分类样本与其他样本距离,寻找K-个近邻后利用投票法来决定待分类样本类别。但传统K-近邻算法存在两个缺点:一是单一距离度量难以准确计算同时含有离散特征和连续特征的样本间距,导致准确率下降;二是投票法易将近邻边缘样本表示的类别错分为待测样本的类别,影响模型性能。为了克服算法缺陷,本文提出了一种混合加权距离的K-近邻算法。利用值差度量和曼哈顿距离混合计算样本间距,同时应用softmin函数进行距离加权,提高了模型性能。利用MIMIC-III公开数据库中采集的数据进行实验论证。实验结果表明,基于混合加权距离的K近邻算法优于传统K近邻算法,能够较为准确地区分30 d内死亡患者和存活患者。

1 数据介绍

MIMIC-III是一个大型的公开数据库。数据库记录了2001-2012年期间贝斯以色列女狄肯斯医疗中心重症监护病房患者的相关数据[12-13]。本文从MIMIC-III v1.4数据库采集了2 743位有效的心衰患者的有效数据。将研究起点确定为首次住院的心衰患者时间,研究终点是患者死亡或者在统计期间出院。因此,根据研究时间节点将患者分为两类:30 d内死亡患者(1 532)和统计期间存活患者(1 211).将类别标记为二进制值{0,1}.所有存活患者被标记为阴性样本,即标签为0.所有死亡患者均被标记为阳性样本,即标签为1.

为了充分研究影响心衰患者死亡率的因素,从MIMIC-III数据库中挖掘出7类患者信息。分别为人口统计学资料(性别、年龄)、用药信息、手术信息、相关性疾病信息、ICU周转次数、ICU停留时间、是否冠心病监护病房(coronary care unit,CCU)停留,实验室检测项目信息和一般检查信息(心率、BMI).

首先,对人口统计学资料等患者信息进行特征向量化处理,即进行One-hot编码,如表1所示。将性别特征中的男性编码设为0,女性编码设为1.药物信息中服用过某类药物编码为1,实施过相关手术编码为1,患有某类疾病编码为1,在CCU停留过编码为1,患者没有药物、手术等治疗过程或相关病史编码为0.最终数据共存在39维向量化后的特征。其次,本文利用连续变量在临床医学中的正常范围进行了缺失填补。

此外,为了避免离群值和极端值对模型实验的影响,采用Z-score归一化方法,统一不同维度的特征量级。

(1)

式中:x是原始特征值,x′是经过归一化后的值。此外,μ是数据集单一特征的平均值,σ是方差。

表1 患者特征信息表Table 1 Patient characteristic information

2 混合加权距离K-近邻算法模型

图1是本文模型的算法流程图。如图1所示,为了避免特征冗余,首先利用卡方检测和基于L1正则化的逻辑斯蒂回归模型进行特征选择和排序。由于离散特征和连续特征是根据不同的特征选择方法筛选的,因此设置两种类型特征的拼接比率,本文选取比率范围为{0.1,0.2,…,0.9},研究最优比率。然后,将一种混合加权距离的K-近邻算法模型应用于排序拼接后的特征,经过比率R和K值选择得出最优的K-近邻算法模型后,对心衰预后患者进行死亡率预测。

图1 模型算法流程图Fig.1 Model algorithm flow

2.1 特征选择和排序

2.1.1卡方检测

本文含有部分离散特征,卡方检测(chi-squared test)是一种广泛应用于离散特征分类问题的单变量特征选择方法,具有复杂度低、受特征值影响小的优点,因此本文采用卡方检测进行离散特征选择。卡方检测方法假设统计量近似服从卡方分布,通过计算每个非负特征与样本类别之间的统计量,从而为每个特征提供一个非负得分,以评估特征和类别之间的相关性。卡方统计量计算如下:

(2)

式中:Oij为卡方检验四格表中的实际观察值,Tij为理论值,R,C分别为卡方检验四格表的行和列,本文中R=2,C=2,因此卡方检测的自由度为1[14].在自由度为1时,利用P值等于0.05作为阈值,即卡方值大于临界值时,则认为该特征与心衰死亡相关性大于95%.P值越小,说明该特征和心衰死亡相关性越高。因此利用P值将39种离散特征进行排序后选取前20种特征结果如表2所示。

表2 离散特征排序表Table 2 Discrete feature ranking

按照临床医学知识,可以将冠心病分为Ⅰ类和Ⅱ类,冠心病Ⅰ类是心肌梗死疾病导致的,冠心病Ⅱ类是非心肌梗死疾病导致的。因此表2中的冠心病Ⅱ类指非心肌梗死类冠心病。

2.1.2基于L1正则化的逻辑斯蒂回归

逻辑斯蒂回归(logistic regression,LR)是一种应用广泛的监督学习算法。它在数据服从伯努利分布设想下使用梯度下降法求解参数,以实现医学领域二元分类问题[15]。逻辑斯蒂回归模型添加L1正则化,使某些特征权重为0,达到了特征筛选和降维的目的。该模型具有可解释性好、稳定性高,能够保留特征间关系的优势,因此本文选用该模型进行连续特征处理。逻辑斯蒂回归模型如下所示。

(3)

(4)

其中,x是待分类样本,Y∈{0,1}是输出分类,w是权重,b是偏置,·是内积操作。通过两个概率值之间的比较,将输入样本类别确定为值较大的所表示的类别。

利用Python中的sklearn.feature_selection包含的SelectFromModel模块,将逻辑斯蒂回归模型添加L1正则化来进行特征筛选。最终按照特征权重绝对值大小对27种连续型变量进行排序,表3显示了前20种连续特征排序结果。

表3 连续特征排序表Table 3 Continuous feature ranking

2.2 混合加权距离的K-近邻算法

K-近邻是一种根据与输入样本距离最近的K个样本的类别来确定要划分的新样本的类别的方法。由于易于实现,该算法成为在医学数据处理领域最广泛的机器学习算法之一。

K-近邻工作原理是根据距待测样本点距离最近的K个样本的标签,决定待测样本的类别。但其存在两个明显的不足:(1)常用于距离度量方法的欧氏距离难以同时度量数据集中存在的离散特征和连续特征。(2)利用投票法容易将K个近邻内的边缘样本分类作为待测样本的类别。针对不足(1)采用值差度量来计算离散特征距离,采用哈曼顿距离计算连续型特征距离,最终利用混合距离度量待测样本和实例样本之间的距离;针对不足(2)采用softmin函数对距离加权,根据加权距离输出待测样本类别。即提出了一种混合加权距离的方式来克服传统K-近邻算法的缺点。

设T={(x1,y1),(x2,y2),…,(xN,yN)}是一个含有N个样本的数据集。其中xi为第i个样本,xi=(xi,1,xi,2,…,xi,M).即第i个样本含有M个特征。由于在每个实验组的样本集下都是一个二分类问题,因此yi={0,1}.其中0代表阴性样本,即存活患者。1代表阳性样本,即死亡患者。xt为待测样本。

2.2.1混合距离计算

值差度量[16](value difference metric,VDM)是一种适合无序离散特征的度量方法,因此VDM算法适用于性别,呼吸衰竭等数据库提取的离散特征。VDM距离公式如下。

(5)

其中,m为单一特征,共含有M个特征。Y为样本输出类别个数,本文Y=2.每个特征都是两个特征值a1,a2.cm,a1表示单一特征取值为a1时样本个数,cm,a1,c表示单一特征取值为a1时且样本标签y=c时样本个数。cm,a2和cm,a2,c同上。

曼哈顿距离公式如下:

(6)

最终混合距离计算公式如下:

(7)

在本文M=20,即离散特征和连续特征共20个。M1为每个样本中离散特征个数,M-M1为每个样本中连续特征个数。由于离散特征和连续特征共20维,因此设置比率R来探究离散变量和连续变量的最终存在个数问题,其中R={0.1,0.2,…,0.9},即M1=2,4,…,18.

2.2.2加权距离计算

如图2所示,三角形代表一类样本,圆形代表另一类样本,五角星代表待测分类样本。假设K=5,根据距离大小找到其近邻的5个样本,按照投票法原理会将待分类样本确定为三角形所代表的样本类别。但是从图2可以看出该待测样本被划分为圆形所表示的类别才更加合理,因此改进传统K-近邻所采用的投票法,利用加权距离来决定最终待测样本的类别。

图2 K个近邻确定类别图Fig.2 Deciding the category from the K nearest neighbor

假定当K=k时,计算待测样本点和样本集之间的距离后按照距离从小到大顺序排列后为{d1,d2,…,dk},这k个样本对应的类别属性为{y1,y2,…,yk}.其加权距离采用softmin加权计算,其公式如下:

(8)

(9)

其中,pi·yi表示每个样本中的标签对应的权重对于最终待测样本类别的影响程度,当最终加权系数大于等于0.5时,可以判定待测样本为阳性样本,即死亡患者样本,反之若加权系统小于0.5,则可以认为待测样本为阴性样本,即存活患者样本。

3 实验结果及分析

3.1 模型评价标准

在模型评估中,本文采用4种模型评价准则,分别是准确率(accuracy,ACC),精确率(precision,P),召回率(Recall)和F1分数(F1),评价标准计算公式如下所示。

(10)

(11)

(12)

(13)

其中,TP为真实阳性样本的数量,相反,TN为真实阴性样本的数量;FP为假阳性样本的数量,FN为假阴性样本的数量。

3.2 改进的KNN算法对比

为了证明本文提出算法的有效性,本小节将进行对比实验分析。在表4中所有小数结果均已转换为百分制,并且将每个指标的最佳结果加粗显示。此外,将模型实验数据按照9∶1的比例划分,其中2 469例为训练数据,274例为测试数据,实验结果均来自测试集。

首先将本文提出的算法与5种不同的K-近邻算法进行比较分析。对比K-1:仅使用VDM距离;对比K-2:仅使用曼哈顿距离;对比K-3:使用VDM距离和softmin距离加权;对比K-4:使用曼哈顿距离和softmin距离加权;对比K-5:使用混合距离。

通过对比K-3、K-4和本文算法实验结果可以看出,混合距离度量方式优于单一距离度量。对比K-5实验结果说明了应用softmin函数使模型准确率提升。改进的K算法的F1分数达到82.982%,说明模型稳定性表现良好,能够综合特征正确区分正负样本。

表4 算法性能对比分析表Table 4 Algorithm performance comparison analysis

此外,为了证明改进的K-近邻算法的有效性,本文选择的4种被广泛应用于解决生物医学领域的机器学习模型,分别为支持向量机(support vector machine,SVM)、多层感知机(multi-layer perceptron,MLP)、随机森林(random forest,RF)和轻量级提升机(light gradient boosting machine,Light GBM).通过表4数据对比分析可知,SVM召回率较高达到了86.333%,但精确率较低,说明SVM算法将部分存活患者预测为死亡患者且模型稳定性相对于改进的K-近邻算法低0.738%.其他机器学习模型的准确率、精确率、召回率和F1分数均低于改进算法。通过此结果进一步证明了改进的K-近邻算法的有效性。

3.3 比率R和K值的选值分析

由于比率R和K值均是在模型训练过程中确定,因此利用4种模型的评价准则来研究最佳比率和K值。图3显示了不同比率和K值下,模型准确率的变化情况。由图3可以看出,R=0.6时,模型效果优于其他比率。在比率固定情况下,当K=9时,模型达到最优,准确率为80.874%.图4为不同比率R和K值下,模型精确率的热力图。与图3准确率不同的是,模型的精确率在比率为0.2,0.3,0.6及K值为9时,均呈现了较好的预测效果。

图3 不同比率和K值准确率热力图Fig.3 Heat map of different rate and K value in ACC

图4 不同比率和K值精确率热力图Fig.4 Heat map of different rate and K value in precision

图5显示了不同比率R和K值下模型的召回率。通过图5可以看出,在比率为0.6时,模型的召回率较高均超过了75%,且当K=9时,模型召回率最高达到了83.388%.图6为不同比率和K值下的F1分数情况。在图6中,R=0.6和K=9时,模型F1分数仍呈现最佳效果,F1分数为82.982%.

通过综合分析4种评价指标结果,将最终的比率固定为0.6,即按照表2离散型变量排序提取前12个离散型特征,按照表3连续型变量排序提取前8个特征,共计20.K值即待测样本近邻个数,确定为9.

图5 不同比率和K值召回率热力图Fig.5 Heat map of different rate and K value in Recall

图6 不同比率和K值F1分数热力图Fig.6 Heat map of different rate and K value in F1

4 结束语

本文提出了一种混合加权距离的K-近邻算法来进行心力衰竭患者预后死亡率的风险评估。利用VDM和曼哈顿距离混合计算待测样本和样本集中其他样本之间的距离,克服了单一度量准则难以准确衡量样本同时存在离散和连续变量距离的缺点,采用softmin函数来进行加权概率输出,解决了投票法不能进行样本距离远近衡量的问题。与传统KNN模型和其他机器学习模型对比分析,证明了提出的模型能够有效地用于心衰患者死亡率预测。从而根据预测死亡率情况来帮助医生制定更加科学的预后方案,对防止病情进一步恶化,积极引导患者健康,改善患者生活质量,降低医疗开支起到了促进作用。

猜你喜欢
比率类别心衰
老人气短、浮肿、乏力,警惕慢性心衰
国外心衰患者二元关系的研究进展
睡眠质量与心衰风险密切相关
论陶瓷刻划花艺术类别与特征
讨论每天短时连续透析治疗慢性肾脏病合并心衰
一起去图书馆吧
比率分析公司财务状况——以步步高及永辉超市为例
千点暴跌 两市净流出逾7000亿资金
美拭目以待的潜力城市
选相纸 打照片