回归预测值预测区间_回归树(Regression Trees)概览

对于一个回归问题,首先想到的可能就是线性回归(linear regression)。回归树是决策树的一种,当线性回归不好的时候,可以考虑试试回归树(regression tree)。

回归树(regression tree),用树模型做回归问题,每一片叶子都输出一个预测值。预测值一般是该片叶子所含训练集元素输出的均值。

1.使用回归树的情景

假设有治疗某种感冒的新药,我们并不知道其剂量与疗效的关系。

如果其在人体中剂量与药物有效性(%)的数据如下。可使用线性回归对某个剂量下的药物疗效进行较准确预测,如27mg剂量在人体中的有效性为62%。

回归预测值预测区间_回归树(Regression Trees)概览_第1张图片

如果其在人体中剂量与药物有效性(%)的数据如下。使用线性回归对某个剂量下的药物疗效进行预测的效果将会非常糟糕,如20mg剂量在人体中的有效性为45,但是其真实的有效性是100%。

回归预测值预测区间_回归树(Regression Trees)概览_第2张图片

在第二种情况下,我们应该使用其他较准确的方法进行数据预测,可选择的方法就是回归树。利用回归树得到的模型如下图所示。回归是是决策树的一种,在叶节点中,每一片叶子对应一个数值。

回归预测值预测区间_回归树(Regression Trees)概览_第3张图片

2. 回归树的结果解读

上述回归树的解读:同一般回归树的解读意义一样。

在根节点处,预测的标准为药物剂量是否小于14.5。如果药物剂量<14.5,那么药物的有效应为4.2%;如果药物剂量≥14.5,并且在药物剂量≥29时,即药物剂量≥29时,药物的有效性为2.5%;如果23.5 ≤药物剂量<29时,药物的有效性为52.8%;如果14.5≤药物剂量<23.5时,其有效性为100%。

从结果来看,回归树将预测区间范围内的数据均值作为预测结果。因为每个叶节点对应每个区间数据的均值,故回归树的预测结果显著优于一般线性回归。

3. 回归树的优势

当原始数据较简单时,如基于药物剂量预测药物疗效,我们可以通过二维散点图进行较为准确的结果判定。但是当数据维度增加时,即我们具有更多的变量预测药物疗效时,回归树将轻松解决这一窘境。例如在如下结果中,当患者年龄>50,药物剂量>29,性别=女时,药物的有效性为100%,该预测结果同真实的98%有效性非常接近。回归预测值预测区间_回归树(Regression Trees)概览_第4张图片

4. 创建一棵简单的回归树

以基于药物剂量预测药物疗效为例。回归预测值预测区间_回归树(Regression Trees)概览_第5张图片

根节点的创建: 基于最小残差平方和创建根节点。

  • 按照药物剂量数值从低到高排列。从最小值开始,依次选择临近两个数据的药物剂量均值。以此均值为分界点,预测小于该值或不小于该值的平均药物疗效。比较不同界值对应的残差平方和,最后选择残差平方和最小时的界值作为根节点。

  • 如,选择最小的两个数值,计算其均值为3。药物剂量<3时,药物的平均有效率为0;药物剂量≥3时,药物的平均有效率为38.8(有效率的算术均值)。评价3作为分界值的预测效果,即计算两个叶节点的残差平方和,带入数据得27468.5。

回归预测值预测区间_回归树(Regression Trees)概览_第6张图片

  • 同样的方法,计算其他界值对应的残差平方和,并将所有界值对应的残差平方和绘制在散点图中。通过观察,可知,当药物剂量为14.5作为界值时,对应的残差平方和最小,故将14.5作为回归树的根节点。

回归预测值预测区间_回归树(Regression Trees)概览_第7张图片

左分支的创建: 仅处理药物剂量<14.5的样本数据,可将其看作根节点数据的一个子集,创建的方法同根节点。

回归预测值预测区间_回归树(Regression Trees)概览_第8张图片

基于该方法创建的回归树,预测效果非常好,基本上是一对一的关系。当模型在训练集中的表现非常好的时候,往往就存在过拟合的问题,该模型在其他测试集中的表现可能会比较糟糕。 

在机器学习领域中,称这样的模型具有零偏差(no bias),但是却也有非常大的方差(variance),参考链接:偏差与方差(Bias and Variance)。

有很多技术可以避免回归树在训练模型中出现过度拟合:最简单的方法是,仅有在内部节点的样本数量>设置阈值时(通常为20),才对该节点进行进一步分支,否则将其作为叶节点。 

  • 因为在本案例中的样本数较少,故我们将阈值设为7。 在药物剂量<14.5的样本中,仅有6个样本,小于设置的阈值7,故我们不再将该节点进行分支而将其作为叶节点。在该叶节点中,药物的有效率为该区间样本的有效率均值,为4.2%。

回归预测值预测区间_回归树(Regression Trees)概览_第9张图片

右分支的创建: 仅处理药物剂量≥14.5的样本数据,可将其看作根节点数据的一个子集,创建的方法同根节点。因为该区间的样本数>7,故可对该节点进行分支。直至某个节点的样本数小于7时,该节点变为叶节点。

回归预测值预测区间_回归树(Regression Trees)概览_第10张图片

5.创建一棵复杂的回归树

前面我们创建了基于药物剂量,预测药物有效性的简单回归树。接下来,我们创建基于多种变量预测药物有效性的高配版回归树。

根节点的创建: 分别将不同变量当做根节点,计算不同变量进行预测的最优值。比较不同变量中的残差平方和,选取残差平方和最小值对应的变量作为根节点。

  • 药物剂量的最优界值为14.5,其对应的残差平方和(SSR)为19564;
  • 年龄的最优界值为50,其对应的SSR为12017;
  • 性别仅两个类别,故男性或女性作为分类标准均可,其对应的SSR为20738。

故,应该选择年龄>50作为根节点。

回归预测值预测区间_回归树(Regression Trees)概览_第11张图片

左右分支的创建: 左分支(年龄>50)与右分支(年龄≤50)为总体样本的一个子集,在子集中创建节点的方法同总体样本中创建根节点。当节点样本总数低于7时,该节点便成为叶节点。

回归预测值预测区间_回归树(Regression Trees)概览_第12张图片

6. 分类树与回归树的异同

相同:

  • 在分类问题和回归问题中,都是一棵二叉树,除叶子节点外的所有节点都有且仅有两个子节点;所有落在同一片叶子中的输入都有同样的输出。

差异:

  • 在分类问题中,分类树使用基尼指数(Gini index)作为选择特征(feature)和划分(split)的依据;在回归问题中,回归树使用 mse(mean square error)或者 mae(mean absolute error)作为选择特征和划分的依据。
  • 在分类问题中,分类树的每一片叶子都代表的是一个类别;在回归问题中,回归树的每一片叶子表示的是一个预测值,取值是连续的。

7. 小结

回归树是决策树的一种,其叶节点对应预测的数值。

  • 根据阈值对应的残差平方和最小,选择节点的最佳阈值时。

  • 如果基于多个变量进行预测,首先需要计算不同变量的最佳阈值,将不同变量最佳阈值对应的残差平方和进行比较,从而选择在最佳变量作为上一级节点。

  • 为了避免模型的过拟合,当某个节点中的样本个数低于设置的阈值时(通常为20),该节点退化为叶节点,反之则继续对该节点进行分支。

参考视频:https://www.youtube.com/watch?v=g9c66TUylZ4&list=PLblh5JKOoLUICTaGLRoHQDuF_7q2GfuJF&index=40

编辑:吕琼

校审:罗鹏

回归预测值预测区间_回归树(Regression Trees)概览_第13张图片

你可能感兴趣的:(回归预测值预测区间)