基于随机森林的慢性丙型肝炎纤维化和活动度分析

2018-11-24 03:29蔡加欣黄智力骆榕澜
中国生物医学工程学报 2018年5期
关键词:丙型肝炎活动度类别

蔡加欣 邱 璇 黄智力 骆榕澜

1(厦门理工学院应用数学学院,福建 厦门 361024)2(中国人民解放军第180医院信息科, 福建 泉州 362000)

引言

丙型肝炎病毒(Hepatitis C virus, HCV)感染是一种世界性的传染性疾病。由HCV感染引起的慢性丙型肝炎可以进一步演化为肝功能衰竭、肝硬化和肝癌,具有非常高的致死率[1-2]。分析慢性丙型肝炎发展进程中的肝纤维化程度和炎症活动度水平,可以及时确定相应的抗病毒治疗方案,从而提高患者生存率,并减少肝移植的需要,在临床治疗中具有现实意义[3]。

目前常用的肝纤维化和炎症程度评分系统有:Knodell组织学活动指数、Ishak评分系统和Metavir评分系统等[4]。其中,Metavir评分系统是为研究慢性丙型肝炎而开发的,可以对纤维化阶段和炎性严重程度进行分期和分级。评分包括S和G两个系统。S代表纤维化或瘢痕的范围,分为五期纤维化评分,其中S0表示无瘢痕,S1表示轻度瘢痕,S2表示瘢痕超出血管区,S3表示桥接纤维化,S4表示肝硬化或晚期肝纤维化。G代表炎症的严重程度,分为四级组织学活性评分。G0表示无炎症活动,G1表示轻度炎症活动,G2表示中度炎症活动,G3表示重度炎症活动。

临床上用来确定患者肝纤维化和炎症活动程度分级的金标准是肝穿刺活组织检查。但肝活检是侵入性的,伴随显著的疼痛和不适感,有产生并发症的风险。因此,目前已有不少工作通过采集患者的肝脏超声波图像、核磁共振(MR)图像、电子计算机断层扫描(CT)图像等信息,然后使用人工神经网络[5]、遗传算法[6]、支持向量机[7]等数据挖掘方法来对肝炎病情进行辅助分析,尽量使患者避免肝活检带来的痛苦。Mahmoud-Ghoneim等从肝脏MR图像中提取灰度共生矩阵、游程长度矩阵、自回归模型系数和小波系数等纹理特征参数,用来帮助观察组织病理学变化和鉴别诊断[8]。Wu等在肝脏的T2W加权、T1W加权和EOB-HP这3种MR图像上提取纹理特征,并使用线性判别分析对肝炎病情进行分级[9]。蒋红卫等使用偏最小二乘判别分析法来分析基因表达微阵列数据,进行疾病分型的识别[10]。

与超声、MR和CT等影像检查手段相比,血清检验指标的获取过程更加简单,成本更低,对反映肝炎病情发展具有更加直观的指示作用,适合作为常规检查手段。本研究通过对血清检测数据的挖掘,构建两阶段随机森林模型,寻找与慢性丙型肝炎纤维化和炎症活动程度相关的关键血清学指标,并对慢性丙型肝炎的肝纤维化程度和炎症活动度进行自动分级。临床上采集的肝炎病例集常出现某一类别病例过少的问题,随机森林模型通过数据采样的方法可以有效解决这种类别不平衡问题,并可以在分类过程中生成对泛化误差的无偏估计,便于寻找重要性最显著的病情指标,具有较好的鲁棒性。针对123例慢性丙型肝炎病例数据,在训练病例集上进行第一阶段随机森林模型学习,获取各个血清学指标的特征重要度,用来衡量这些指标对预测肝炎纤维化阶段和炎症活动度的影响程度。选择特征重要度大于预设阈值的指标作为显著性特征,在选出的显著性特征上再进行第二阶段的随机森林模型训练,对测试病例的纤维化阶段和炎症活动度进行预测,具有较好的预测准确率,可为临床决策提供一定参考。

1 材料和方法

1.1 材料

采用Wu等[9]提供的123例慢性丙型肝炎临床病例数据,包括训练集82例,测试集41例。病例遴选标准是:经过肝穿刺活组织病理检查已确诊为慢性丙型肝炎,且患者的血清检查日期与肝活组织病理检查日期之间的间隔在90 d之内。

1.1.1数据分布

对这123例临床样本,类标设计为纤维化的4个阶段S1、S2、S3、S4和炎症活动度的三个等级G1、G2、G3,其中样本类别以S4和G2居多,是典型的类别不均衡数据,其纤维化阶段和炎症活动度分布分别如表1、2所示。

表1 数据样本集的纤维化阶段分布Tab.1 Data distribution of various stages of fibrosis

1.1.2数据特征属性

选取了患者临床数据的14个指标作为数据集的特征属性,以血清检验指标为主。根据临床专家的经验选择与慢性丙型肝炎病情发展可能相关的

表2 数据样本集的炎症活动度分布Tab.2 Data distribution of various grades of inflammatory activity

常规血检查指标,再加上年龄、性别等统计指标,构成数据的全部特征属性,共计14个变量,分别为年龄、性别、血清组、丙型肝炎病毒寡核苷酸(IU/mL)、丙型肝炎病毒数量(KIU/mL)、总胆固醇(mg/dL)、甘油三醇(mg/dL)、高密度脂蛋白胆固醇(mg/dL)、低密度脂蛋白胆固醇(mg/dL)、病情诊断方式、体重指数(kg/m2)、丙氨酸转氨酶(U/L)、天门冬氨酸转氨酶(U/L)、葡萄糖(mg/dL)。其中,性别变量分类为0和1,分别代表男和女;血清组分类用1和2表示,分别代表丙型肝炎病毒基因Ⅰ型和丙型肝炎病毒基因非Ⅰ型;病情诊断方式分类为0和1,分别代表针吸式活组织检查和局部切除式活组织检查;其余变量用检测值表示。指标编号如表3所示。

表3 属性表Tab.3 List of variables

1.1.3数据集划分

分别基于纤维化阶段和炎症活动度将实验数据集划分为训练集和测试集,基于纤维化阶段和基于炎症活动度的数据集划分情况如表4、5所示。

表4 基于纤维化阶段的数据集划分Tab. 4 Dataset partitions based on various stages of fibrosis

表5 基于炎症活动度的数据集划分Tab.5 Dataset partitions based on various grades of inflammatory activity

1.2 方法

1.2.1随机森林模型

随机森林(random forests, RF)由Leo Breiman提出[11],是一种使用多个决策树对样本进行分类或预测的集成学习模型,已经在图像分析[12-13]、信号处理[14]和视频分析[15]等多个领域取得广泛应用。随机森林模型的基本步骤如下:

步骤1:从训练集中,利用Bootstrap进行有放回采样,随机生成多个训练样本子集, 未被采样到的训练样本,组成了袋外 (out of bag, OOB) 数据。

步骤2:每个训练样本子集上单独训练一个决策树。设有M个属性,在每一棵树的每个节点随机抽取m个属性,作为当前节点分裂属性集,并以这m个属性中最好的分裂方式对该节点进行分裂。每个决策树最大限度生长,不进行剪枝。

步骤3:这些独立同分布的决策树构成了随机森林,对于测试样本,利用森林中的每个决策树来判断其归属分类,分类结果取为这些决策树输出类别的众数。

随机森林分类器需要选择的参数较少,实现简单,能够有效处理高维数据。该分类器可以在内部对泛化误差进行无偏估计,减少过拟合,具有良好的泛化性能,并且可以在进行分类的同时,评估各变量的重要性,便于寻找用于肝炎病情分级的重要性最显著指标。此外,随机森林使用有放回采样技术选择样本,可以有效处理类不平衡数据,能够处理现实肝炎病例集里前中期病例较少的问题。基于上述特点,随机森林非常适合用于肝炎病例分析,可快速估计各个病情指标的重要性评价,并对测试病例进行纤维化程度和炎症活动度的分级评价。

1.2.2基于两阶段随机森林的慢性丙型肝炎纤维化与炎症活动度分级模型

随机森林通过重采样技术来得到用于学习决策树的训练样本,这样还有大约1/3的样本没有被利用,未参与到决策树的建立过程中。这部分样本就是袋外数据,可以用来衡量各个特征属性的重要性,从而筛选部分重要度较高的属性。然后在进行完特征选择后,在新筛选出来的属性上,重新进行随机森林分类器的训练和分类。基于两阶段随机森林的慢性丙型肝炎纤维化与炎症活动度分级模型具体步骤如下:

步骤1:在包含所有属性的训练集上,利用Bootstrap重采样,随机生成多个训练样本子集,在训练样本子集上学习第一阶段随机森林模型。

步骤2:使用袋外(OOB)数据上的分类误差来评估每个属性的重要度。具体地,利用袋内数据上训练的随机森林,估计所有OOB样本的分类错误率。然后对属性Xi,将所有OOB样本的该属性值进行随机置换,获得新的袋外 (OOB′) 数据,估计OOB′样本的分类错误率,并计算新旧两个袋外数据分类错误率的变化值,作为该属性的特征重要度。对于属性Xi,其特征重要度VIMi计算公式为

(1)

由式(1)可知,如果属性Xi与类标之间无关联关系,随机置换该特征后,对应的袋外数据分类错误率不会发生变化,VIMi=0;相反地,如果VIMi>0,则说明属性Xi与类标是有关联的。选择特征重要度大于0的属性作为下一步进行分类的特征。

步骤3:在选出的新属性上,对训练集数据进行第二阶段的随机森林学习。对于测试样本,利用森林中的每个决策树进行投票,确定其类标。

2 结果

将两阶段随机森林模型用于慢性丙肝肝炎的纤维化分期和炎症活动度分级,使用测试集上的分类正确率作为评估准则,得到纤维化分期的正确率为68.29%,其中纤维化阶段S4的分类正确率达到100%,得到炎症活动度分级的正确率为73.17%。随机森林模型中决策树的数量取值为1 000。参数m表示决策树在分裂节点处样本候选特征的个数,记第一阶段随机森林的该参数为m1,第二阶段随机森林的该参数记为m2。分析不同m1与m2取值下的纤维化阶段分类正确率,实验结果如图1所示。由于m2的取值不能超过进行特征选择后的属性个数,故其中不能选出有效特征的参数组合在图中没有显示。

图1 纤维化阶段分类正确率与参数m1、m2的关系Fig.1 The relationship between classification accuracy of fibrosis stage and the parameters m1 and m2

从图1可以得出,当取m1=4,m2=2时,可以得到纤维化阶段的最大分类正确率为68.29%,其中S4阶段分类正确率为100%。取m1=4,m2=2时纤维化阶段分类的混淆矩阵如表6所示,表中的每一列代表了预测类别,每一列的总数表示预测为该类样本的数目;每一行代表了样本的真实类别,每一行的数据总数表示此类样本的数目。

表6纤维化阶段分类的混淆矩阵(m1=4,m2=2)

Tab.6Confusionmatrixoffibrosisstageclassification(m1=4,m2=2)

预测类别为S1预测类别为S2预测类别为S3预测类别为S4实际类别为S13000实际类别为S20014实际类别为S30207实际类别为S400024

另外从图1中可知,在参数m1取为 [1, 14] 之内,参数m2取为 [1,k] 之内时(k为特征重要度大于0的属性个数),纤维化阶段的分类正确率均在56%之上。从实验结果可以看出,对于大部分可行参数组合,模型可以达到较好的分类正确率。在特征选择过程中,各个属性的特征重要度如图2所示。

图2 纤维化分期的特征重要性(m1=4,m2=2)Fig.2 The variable importance related to fibrosis stage(m1=4,m2=2)

根据图2,得到与丙型肝炎纤维化程度密切相关的重要指标为丙型肝炎病毒寡核苷酸(IU/mL)、丙型肝炎病毒数量(KIU/mL)、总胆固醇(mg/dL)、甘油三酯(mg/dL)、高密度脂蛋白胆固醇(mg/dL)、低密度脂蛋白胆固醇(mg/dL)、丙氨酸转氨酶(U/L)和天门冬氨酸转氨酶(U/L)等。

研究不同m1与m2取值对炎症活动度的分类性能的影响,实验结果如图3所示。由于m2的取值不能超过进行特征选择后的属性个数,故其中不能选出有效特征的参数组合在图中没有显示。

图3 炎症活动度分类正确率与参数m1、m2的关系Fig.3 The relationship between classification accuracy of inflammatory activity grade and the parameters m1 and m2

从图3得出,当取m1=4,m2=2时,可以得到炎症活动度分级的最大分类正确率为73.17%。取m1=4,m2=2时炎症活动度分级的混淆矩阵如表7所示,表中的每一列代表了预测类别,每一列的总数表示预测为该类别的样本的数目;每一行代表了样本的真实归属类别,每一行的数据总数表示该类

样本的数目。

表7炎症活动度分类的混淆矩阵(m1=4,m2=2)

Tab.7Confusionmatrixofinflammatoryactivitygradeclassification(m1=4,m2=2)

预测类别为G1预测类别为G2预测类别为G3实际类别为G1580实际类别为G23230实际类别为G3002

另外从图3中可知,在参数m1取为 [1, 14] 之内,参数m2取为 [1,k] 之内时 (k为特征重要度大于0的属性个数),炎症活动度的分类正确率均在50%之上。从实验结果可以看出,在大多数可行的参数组合下,模型可以达到较好的分类效果。在特征选择过程中,各个属性的特征重要度如图4所示。

图4 炎症活动度分级的特征重要性(m1=4,m2=2)Fig.4 The variable importance related to inflammatory activity grade(m1=4,m2=2)

根据图4,得到与丙型肝炎炎症活动度分级密切相关的重要指标为年龄、总胆固醇(mg/dL)和高密度脂蛋白胆固醇(mg/dL)等。

在同样的数据属性特征上,将本研究方法与以下方法进行比较:一是采用随机森林模型直接分类;二是线性判别分析结合最近邻分类器(linear discriminant analysis+nearest neighbor,LDA+NN)进行分类。同时与文献[9]分别在慢性丙型肝炎T2W加权图像、T1W加权图像和EOB-HP图像上提取纹理特征并使用LDA+NN分类的实验结果进行比较。实验结果的对比如表8所示。

表8 实验结果对比Tab.8 Comparison of experimental results

从实验结果可以看出,本研究的两阶段随机森林方法的分类结果优于直接使用随机森林进行分类和使用LDA+NN进行分类。比起文献[9]采用MR图像纹理特征,本研究方法使用的血清生化指标容易获取,使用的特征少、计算量小,可以达到较好的分类正确率。特别在对纤维化S4阶段的分类上,本研究方法可以达到100%的分类准确率,对于肝纤维化晚期的诊断具有一定辅助分析作用。

3 讨论

根据基于随机森林的特征选择,得到与肝炎病情分级评价密切相关的重要指标为丙型肝炎病毒寡核苷酸、丙型肝炎病毒数量、胆固醇、甘油三酯、丙氨酸转氨酶(即谷丙转氨酶)、天门冬氨酸转氨酶(即谷草转氨酶)、年龄等。大部分指标与肝炎病情发展的关系可从医学文献中得到验证。例如在文献[16]中,作者介绍了丁酰胆碱酯酶、总胆固醇、凝血酶原活动度越低,天冬氨酸转氨酶/丙氨酸转氨酶活动度比值越高,肝炎病情越重,其水平变化与预后关系密切。马轶通过对72例慢性丙型肝炎患者肝穿刺病理标本的组织炎症活动度分级(G)和纤维化活动分期(S)进行回顾性分析,并与肝功能生化指标比较,认为谷丙转氨酶、谷草转氨酶、谷氨酰转移酶、总胆红素、透明质酸可显著反映慢性丙型肝炎肝组织的炎症活动程度,是病变进展的指标。[17]岑立冲等通过穿刺肝组织病理检查对52例丙型肝炎患者,在检测患者丙型肝炎病毒数量的情况下进行相关检验,得出丙型肝炎病毒数量与肝组织病理变化二者之间密切正相关的结论[18]。李颖等通过临床实验证明,谷丙转氨酶活动度对慢性丙型肝炎发展情况具有显著正相关影响[19]。刘沁毅等曾对100例肝活检病例进行Spearman相关分析,结果显示,肝组织炎症活动度分级和纤维化分期与年龄、谷丙转氨酶、谷草转氨酶等均呈正相关[20]。

通过对各个血清指标的属性重要性分析发现,各个血清指标里面,胆固醇水平,特别是其中的高密度脂蛋白胆固醇水平,在对慢性丙型肝炎病例进行纤维化分期与炎症活动度分级的过程中,其特征重要度最大,具有最强的预测价值。该结论有助于提示临床专家进行有针对性的临床实验设计和进一步验证。

此外,对实验结果分析可得到与丙型肝炎炎症活动度分级密切相关的重要指标为年龄、总胆固醇水平和高密度脂蛋白胆固醇水平等。而高龄、总胆固醇、高密度胆固醇是引发脂肪肝的重要影响因素。文献[21]指出,慢性丙型肝炎合并肝脂肪变发生率高,脂肪肝对慢性丙型肝炎病情进展和预后有着重要影响,肝脂肪变的严重程度与肝炎病情级别呈正相关,本研究的数据分析结果也从一个侧面为此结论提供了证据。

慢性丙型肝炎患者绝大多数存在肝纤维化和炎症活动,其中很大比例会最终发展为肝硬化甚至肝癌,因此平时监控和及时确诊肝纤维化和炎症活动度,对于阻断病情进一步发展具有重要意义。肝活检具有一定的创伤性,MR等影像检查的成本较高,二者难以作为患者进行病情发展自主监控的常规检查手段。既往研究中发现,许多单个血清学指标与肝纤维化程度和炎症活动度之间呈显著正相关关系。但如何综合利用这些血清学指标,来较为准确地判断肝纤维化分期和炎症活动度分级,临床上目前还没有公论。本研究通过机器学习的方法,给出了一种利用血清学指标自动确定肝炎病情分级的方法,对于患者在平时针对病情进行常规自主监控具有一定的辅助作用。

本研究的不足之处在于,病例集里大部分样本是纤维化S4阶段和炎症活动度G1、G2期的样本,纤维化S1、S2、S3阶段和炎症活动度G3期的临床样本数据极少。由于这些类别的训练样本过少,使得模型对这些类别的分类精度较低。本研究下一步的工作是补充采集这些阶段的样本,来训练识别能力更高的慢性丙型肝炎自动分级模型。

4 结论

本研究在慢性丙型肝炎临床病例库上,建立两阶段随机森林模型,构建基于临床血清生化指标的肝炎纤维化阶段和炎症活动度的预测模型。该方法采用的检验指标获取成本低,模型分类速度快,参数设置简单,计算量低,能达到较好的分级准确度,特别对纤维化S4阶段具有100%的识别准确度,可以帮助临床上快速识别肝纤维化晚期病例。

(致谢:感谢中山大学孙逸仙纪念医院的吴卓医生为本文提供临床病例数据)

猜你喜欢
丙型肝炎活动度类别
围剿暗行者——丙型肝炎
基于Delphi的运动处方对断指再植术患者手功能、手指活动度及患指感觉恢复的影响
536例系统性红斑狼疮患者中性粒细胞/淋巴细胞比值与疾病活动度的关联性分析
NLR、C3、C4、CRP评估系统性红斑狼疮疾病活动度的比较分析
丙型肝炎病毒感染和2型糖尿病的相关性
一起去图书馆吧
西夏刻本中小装饰的类别及流变
α-干扰素联合利巴韦林治疗慢性丙型肝炎
丙型肝炎治疗新药 Simeprevir
多类别复合资源的空间匹配