一、简介
决策树算法一般用于样本的分类,但也可以用于数值变量的预测。使用决策树进行数值变量预测的算法主要有两种,一种是回归树(Regression Tree)算法,另一种是模型树(Model Tree)算法。
尽管被称为回归树,回归树算法并不使用线性回归模型进行数值变量预测,而是在决策树算法的基础上,利用每个叶子节点所有样本的目标变量的均值进行数值变量预测。同样地,模型树也采用决策树算法进行分类,但在每个叶子节点建立一个线性回归模型,并以此进行数值变量预测。
二、回归树和模型树算法步骤
回归树和模型树的分类方法与一般的决策树算法类似。
首先,从根节点开始,选择一个指标对样本进行分类,该指标应能使分类后目标变量的相似性得到最大的提升。不同的是,一般的决策树算法采用熵来衡量信息的相似性,而回归树和模型树算法采用方差、标准差或绝对离差等来衡量相似性。
一种比较常用的指标选择标准就是SDR(Standard Deviation Reduction),其公式如下:
其中,sd(T)表示总体样本数据的标准差,|Ti|表示根据该指标分类后的各个子集的样本数量,i=1,2,…,n,|T|表示总体样本中样本的数量。
根据各指标,分别计算以该指标进行分类的SDR,然后选取SDR值最大的指标进行分类。
其次,在分类的各子集中重复上述步骤,直至所有分支都达到叶子节点。
再次,回归树算法计算叶子节点的子集中目标数值变量的均值,该均值即为数值变量的预测值;模型树算法在各个叶子节点中以目标数值变量为因变量,剩余未使用的指标作为自变量,建立线性回归模型,使用该模型预测目标数值变量的值。
与决策树类似,回归树与模型树也要进行剪枝,其方法和原理也和决策树算法相同。
三、回归树和模型树算法实例
假设现有一组样本数据,其中每个样本均包含目标数值变量、指标A和指标B三个变量。在样本总体中,目标数值变量的分布情况如下:
若以指标A对样本数据进行分类,分类结果如下:
若以指标B对样本数据进行分类,分类结果如下:
根据上述分类结果,以指标A进行分类时
以指标 B进行分类时
SDR(B)>SDR(A),因此,应将B指标作为第一个指标进行分类。
若假设,以指标B进行分类后,分类过程结束,则叶子节点的两个子集为T1和T2。回归树算法对T1中样本的目标数值变量的预测结果为mean(YT1)=2,T2中样本的目标数值变量的预测结果为mean(YT2)=6.25。
模型树算法则还要在每个子集T1和T2中,进行线性回归模型的估计,即估计Y=α+βΑ。利用该线性回归模型估计Y的取值。
四、总结
在数值变量预测方面,回归树和模型树一般用于拥有非常多变量或变量之间存在复杂且非线性关系的场景。
与一般的线性回归模型相比,回归树和模型树的优势在于可以利用决策树的优点来进行数值变量的预测,可以自动的选择指标,且无需进行假设和事先预设模型等。但是,回归树和模型树也存在一定的弱势,例如需要非常大的样本数据,单变量的影响和模型结果难以解释等。
▼
领取专属 10元无门槛券
私享最新 技术干货