system: [SYSTEM]

user: 5. 预测结果分析及评价 5.1. 三种算法对总费用的预测结果与真实结果的比较 现对比研究基于CART算法、AdaBoost算法、GBDT算法对总费用预测的结果。 直观地，由图5可知，三种算法预测效果有明显不同。尤其值得指出Boosting算法的预测结果较CART算法的预测结果更加分散，其中GBDT算法的预测结果最为分散，且预测结果的分布更接近于真实值，Boosting算法对于预测效果有着明显的改进。 图5. 三种算法费用预测效果对比 图6是基于AdaBoost算法和GBDT算法的费用预测结果与真实值比较的折线图，黑色的圆形散点为对应患者的总费用的真实值(经过排序)，蓝色曲线为基于AdaBoost算法的预测结果，红色曲线为基于GBDT算法的预测结果。显然红色曲线更趋近于真实值的分布，即基于GBDT算法的预测效果的效果最好。 图6. 基于AdaBoost算法、GBDT算法的预测效果对比 5.2. 对集成学习算法的5个回归评价指标 我们将通过5个回归评价指标，量化对比三种模型的预测效果。下面先引入这5个指标，分别是均方对数误差平均值(Mean squared logarithmic error， MSLE)、平均绝对误差(Mean Absolute Error， MAE)、中值绝对误差(Median Absolute Error， MedAE)、确定系数(The Coefficient of Determination， R 2 )、解释方差分(Explained Variance Score， EVS)。 1) 均方对数误差平均值(Mean squared logarithmic error， MSLE)。由于本文中预测值较大，均方误差受单位影响较大，于是采用MSLE来代替均方误差。 2) 平均绝对误差(Mean Absolute Error， MAE)是指预测值与真实值之间的平均差值。 3) 中值绝对误差(Median Absolute Error， MedAE)对异常值有很好的稳定性，它通过获取预测值和真实值之间差值的绝对值的中值来计算损失。 4) 决定系数(The Coefficient of Determination)即R 2 ，用来反映模型拟合效果的好坏。最大取值为1，但它也可能是负数。一般来说，R 2 越大，表示模型拟合效果越好，由于随着样本数量的增加，R 2 必然增加，无法真正定量说明模型拟合效果，只能大概定量。 其中 5) 解释方差分(Explained Variance Score， EVS)是用来解释回归模型方差大小的分数，取值范围为0到1，EVS越大，表示回归效果越好。 。 5.3. 基于5个回归评价指标的三种算法预测效果及比较 我们使用Python语言的sklearn库metrics模块计算上述五个回归评价指标，三种算法预测效果的量化数值如表3、表4所示。 Table 3 Evaluation indicators of prediction model 算法 MSLE EVS MAE MedAE R 2 CART 0.20 0.41 67，412.85 61，480.30 0.41 AdaBoost 0.21 0.55 66，946.16 71，903.27 0.53 Gradient Boosting 0.07 0.85 34，588.13 29，508.20 0.85 表3. 三种预测模型的回归评价指标 Table 4 Evaluation indicators of adjusted prediction model 算法改进 MSLE EVS MAE MedAE R 2 CART→AdaBoost +0.01 +0.14 −466.69 +10，422.97 +0.12 AdaBoost→Gradient Boosting −0.14 +0.30 −32，358.03 −42，395.07 +0.32 表4. 三种预测模型拟合效果的改进 由上表中数据可知，虽然AdaBoost算法在MSLE、EVS、MAE、R 2 评价指标上的表现优于CART算法，但AdaBoost算法和CART算法的预测效果都较差，其拟合效果均低于60%，即这两种算法的预测结果与真实值并不接近。而GBDT算法在五个指标上的表现远远优于AdaBoost算法和CART算法，其拟合效果达到了85%，表明GBDT算法的预测结果与真实值较为相近，在三种算法中效果最好。该结论与先前对比的直观结论相符合。 为了检验费用预测模型是否过拟合，我们从总数据集中抽取20%的样本作为测试集，代入进行预测效果评价并与之前的评价结果进行比较。综合表5和表6可知，GBDT的拟合程度达到了85%，在测试集中拟合效果83%。基于GBDT算法建立的费用预测模型没有过拟合。 Table 5 Evaluation indicators of prediction models on test se 算法 MSLE EVS MAE MedAE R 2 CART 0.25 0.29 79，480.59 70，992.09 0.29 AdaBoost 0.23 0.57 71，578.61 74，328.32 0.56 Gradient Boosting 0.09 0.83 40，957.83 33，752.57 0.83 表5. 将测试集分别带入三种预测模型的拟合效果 Table 6 Evaluation indicators of adjusted prediction models on test se 算法改进 MSLE EVS MAE MedAE R 2 CART→AdaBoost −0.02 +0.28 −7901.98 +3336.23 +0.27 AdaBoost→Gradient Boosting −0.14 +0.26 −30，620.78 −40，575.75 +0.27 表6. 三种预测模型的对于测试集拟合效果的改进 5.4. 费用预测模型的可解释性 通过简单地可视化树结构，可以轻松解释单个决策树。然而，集成算法模型包括数百个回归树，因此通过对各个树的可视化无法轻易解释它们。然而可以通过计算特征重要程度以及绘制部分依赖图，来直观的概括和解释Boosting模型。 5.4.1. 特征重要程度 Friedman在论文中提出在使用决策树集成算法(Tree Ensemble)时评价特征在模型中重要程度的方法 [ 8 ]，便于更好的理解特征和模型。接下来介绍一下特征重要程度的计算原理，并给出已建立的三种回归模型的特征重要性。 单个决策树通过选择适当的分裂点本质上执行特征选择。此信息可用于衡量每个功能的重要性；基本思想是：在树的分裂点中使用特征的次数越多，特征就越重要。通过简单地平均每棵树的特征重要性，可以将这种重要性概念扩展到决策树集成算法中。 特征 在整个模型中的重要程度为： 其中， 是模型中树的数量。特征 在单独一个树上的特征重要度为： 其中， 是树中非叶子节点数量， 表示在内部节点 进行分裂时选择的特征， 是内部节点分裂后平方损失的减少量。 接下来给出五个特征分别在三种算法下的特征重要程度，由表7可知三种算法均将年龄、住院次数、住院天数作为训练模型时较为重要的特征，然而性别和TNM分期对预测模型的贡献较少。 Table 7 Magnitude of each attribute by using CART， AdaBoost and GBD 算法 性别 年龄 TNM分期 住院次数 治疗天数 CART 0 0.205 0.022 0.393 0.380 AdaBoost 0.017 0.293 0.049 0.177 0.463 Gradient Boosting 0.034 0.268 0.037 0.220 0.442 表7. 五个特征分别在三种算法下的特征重要程度 5.4.2. 部分依赖关系 部分依赖图显示了训练模型得到的目标函数与一组特征之间的依赖关系。单项部分依赖图只研究一个特征，边缘化了所有其他特征的值，直观的展示一个特征对模型的影响。 由图7，即Gradient Boosting预测模型中五个特征的单项部分依赖图可以得到以下关系： 图7. 基于两个目标特征的单项部分依赖图 1) 男性患者(sex = 2)倾向于产生更多费用； 2) 小于45岁或大于60岁的患者，费用呈现年龄越大花费越多的趋势，而大于45岁小于60岁的患者，费用呈现年龄越大花费越少的趋势； 3) 住院次数与模型有较为规律的依赖关系，住院次数小于15次，次数越多费用越高，而住院次数大于15次，则费用趋于稳定； 4) 治疗天数对于模型的依赖关系较为复杂。 多项部分依赖图研究多个特征，边缘化了其他特征的值，直观的展示了多个特征对模型的综合影响。由图8，即Gradient Boosting预测模型中四个特征的多项部分依赖图可以得到以下关系： 图8. 基于两个目标特征的多项部分依赖图 1) TNM分期在二期和三期的男性患者群体将产生大量费用； 2) 住院次数大于13次的患者，无论男女，都易产生大额医疗费用，其中二、三期的患者中这种依赖关系更显著； 3) 小于45岁的患者，费用呈现年龄越大花费越多的趋势，其中二、三期的患者中该关系更显著。 通过分析部分依赖图，能够直观的理解和解释基于GBDT算法预测模型中复杂的目标函数，这是分析基于Boosting算法以及其他集成算法的模型的有效方法之一。