查看原文
其他

商务统计学基础 | 第四章 决策树

王汉生 王菲菲 狗熊会 2024-04-22
点击上方"狗熊会"关注我们吧!

前面我们介绍了一种重要的适用于0-1型因变量的回归分析模型:逻辑回归。从理论上讲,逻辑回归是广义线性回归模型的一个特例。从名字上就可以感受到,这个模型的本质就是某种线性模型。线性模型有很多优良的性质。例如:非常简单,而且参数个数少,因此能够支持相对比较小的样本估计。同时,因为模型结构简单,参数估计结果也很好解读。这些都是线性模型的优点。但是,天下没有免费的午餐,在统计模型的构建过程中,凡是优点就一定伴随着缺点。各种线性模型(包括广义线性模型)的主要缺点是什么呢?答:不灵活。因为这是一个线性模型,因此它的函数形式单一,难以描述更加灵活的函数形态(例如:非单调的相关关系)。而现实生活中碰到的问题,可能非常复杂。当面对复杂问题的时候,其实我们仍然会优先考虑相对简单的线性模型,为什么?因为样本量常常不够大。但是,随着计算机技术的进步,人们能够采集到越来越多的样本,这就为建立更加复杂的非线性模型提供了可能,而各种各样的非线性模型,成就了机器学习(或者统计学习)这个特定的领域。

本节的目标是为各位同学进入机器学习领域提供一个小小的起点。为此,我们只关注一类最典型的机器学习问题:二分类问题。为什么关注这类问题?因为:这类问题太典型了,在实际工作中太常见了。本质上,前一节关于逻辑回归所探讨的所有案例场景,都是二分类问题。对于二分类问题,我们探讨两种典型的机器学习方法:决策树(或者分类树)以及神经网络。为什么关注这两类方法?我们关注决策树是因为这是机器学习方法中非常少有的(甚至仅有的)一类非常好解读的方法。其他大量的机器学习方法更像是一个黑盒子。作为用户只知道最后的预测结果,但是很难理解该结果是怎样形成的。另外,我们关注神经网络是因为它是人工智能领域深度学习的模型基础。这是一类非常难以解读的机器学习方法,但是非常重要。因此,如果能够很好地理解并掌握这两类方法的核心思想,那么未来接触机器学习理论可能会更加容易一些。

本节先从决策树开始。要想理解决策树(或分类树)的理念,首先需要回答两个问题:第一,什么是决策或分类?第二,什么是树?所谓决策就是指的一个二分类问题:即判断0-1型因变量Y的取值是0还是1。例如医生在诊断过程中需要判断:该患者是否患病?这就是一个典型的决策问题。银行在处理客户的贷款申请时也需要判断:该客户是否会违约?这也是一个典型的分类问题。那么什么是树呢?树其实是人们在生活中非常熟悉的一种决策规则,请看如下案例。

案例1: 疾病诊断。

疾病一直是人类健康的重大天敌。以糖尿病为例,这是一类以高血糖为主要特征的代谢性疾病,在我国具有较高的发病率。据国际糖尿病联合会估计,我国糖尿病患病人数在2011年就已达到9000万左右,而2021年则增加到了1.4亿左右,并且其中约51.7%的患者尚未被确诊。因此,通过定期体检识别疾病风险,早发现早诊断早治疗十分重要。在检查的过程中,医生需要做出一个决策:该患者是否患病?这一决策应该如何做出呢?首先患者需要进行各种各样的检查。以糖尿病检查为例,患者往往需要进行葡萄糖耐受力测试,需要检测身高体重,需要提供家庭病史。这些都是在给医生提供决策依据。而医生通过医学院的学习,通过多年的行医经验也有一套决策规则。图4.6.1中展示了在II型糖尿病的诊断中使用的一种决策规则。由图可知,当经过一段时间的葡萄糖耐力测试,患者的血糖仍然较低,那么可以判断该患者未患糖尿病。如果血糖维持在高水平,那么则需要进一步检查患者的身体质量指数(BMI)。如果BMI数值表明患者处于肥胖或者严重肥胖状态,那么可以判断该患者患有II型糖尿病。类似地,对于任何一个检查结果充分的患者都可以通过这套规则将其划分为患病和未患病两种状态,即做出相应的决策或分类。图4.6.1中的这套决策规则就叫做决策树。请注意,本书作为一个入门级别的统计学教材,对图4.6.1的引用仅仅是为了教学演示。至于该决策规则在临床上的实际效果如何并不知晓,也没有什么相关的研究经验,因此特别提请读者注意。

图4.6.1 II型糖尿病诊断决策树1

案例2:银行借贷。

在银行的借贷过程中,不可避免地会出现借款人无法偿还利息和本金的可能性。根据中国人民银行制定的《贷款分类指导原则》,商业银行应按照借贷人的实际还款能力将贷款分为五类:正常、关注、次级、可疑、损失。其中后三类均为借贷人不能偿还债务的情况,这三类贷款也叫做不良贷款。如果不良贷款率较高,就可能影响银行的放贷能力,甚至导致银行破产。因此,我国银监会在《商业银行风险监管核心指标》中规定,商业银行不良贷款率不应超过4%。事实上,据银保监会统计,截止至2021年第四季度末,我国商业银行不良贷款余额为2.8万亿元,总不良贷款率达到1.73%。在银行放贷的过程中,对于客户的借贷申请,银行需要做出一个分类预测:该用户是否会违约?这一预测应该如何做出呢?首先用户需要提交各类资料,可能包括收入证明、银行流水记录等等。这些都是在给银行提供预测依据,而银行相应地也有一套分类预测规则。图4.6.2中展示了一种可能的分类预测规则,即分类树。由图可知,当该客户的借贷历史优良且收入水平高时,银行的预测结果可能是该客户不会违约,并因此通过该客户的贷款申请。而当该客户的借贷历史优良、收入水平低并且贷款额高时,银行的预测结果可能是该客户会违约,并因此拒绝该客户的贷款申请。类似地,对于任何一个提供了充分资料的用户都可以通过这套规则将其分类预测为通过违约和不违约两种状态,并因此做出相应的授信决策。

图4.6.2 银行借贷决策树2

案例3:故障检测。

故障检测是现代电气系统的重要一环,也是设备长久健康运行的保证。以光伏发电为例,这是一种将光能直接转变为电能的清洁能源技术。鉴于光伏发电的清洁可持续性,2021年国家能源局发布的《2021年能源工作指导意见》中提出:风电和光伏发电量的占比提升还将进一步加速。事实上,据国家能源局统计,截止至2021年底,我国光伏发电装机容量已经达到3.06亿千瓦,连续7年位居全球首位。同年的光伏发电量已占全年总发电量的4.0%。光伏发电系统中同样少不了故障检测,特别是关键的光伏并网发电系统。如果该系统出现严重故障将影响生产力,提高维护成本。因此进行早期的系统故障检测十分重要。在故障检测的过程中,检测人员或者检测软件需要最终做出一个分类预测:该系统是否发生故障。这一预测应该如何做出呢?检测人员可能需要收集系统中有关的运行数据,例如介质温度、整体倾斜辐照度以及电路电压等等。这些都是在给检测人员提供预测依据,而检测人员相应地也有一套分类预测规则。图4.6.3中展示了一种光伏系统故障检测分类树中的一部分。由图可知,当电路电阻小于等于0.87欧姆、整体倾斜辐照度小于等于600.24 W/m2,且介质温度大于32.97度时,检测人员预测该系统有故障。其余情况下该系统均为无故障。类似地,对于任何一个能够进行充分测量的光伏系统都可以通过这套规则将其分类为通过有故障和无故障两种状态,并因此辅助检测人员做出相应的运维保养或预防性维护的决策。

图4.6.3 光伏系统故障检测决策树(部分)3

案例4:网络购物。

网购已经成为我国居民零售消费的重要渠道之一,据国家统计局数据显示,2021年实物商品的网上零售额已经占社会消费品零售总额的24.5%。从总量上看,2021年全国网上零售总额也达到了13.1万亿元。庞大的销售总额的背景下,网购已经成为一种现代生活方式。在网购过程中,消费者需要做出一个决策:是否购买该商品?这一决策应该如何做出呢?不同的人有不同的经验,在决策过程中也会遵循不一样的规则。但人们通常都会先充分地了解该商品的特点,例如商品价格、历史价格、商品属性、历史评价、折扣力度等等。这些都是在给自己提供决策依据,基于这些决策依据,图4.6.4展示了某消费者的决策规则。由图可知,当商品为刚需且价格低时,该消费者的决策为购买该商品。而当商品不是刚需,虽然消费者很喜爱,但是折扣力度小时,该消费者的决策依然为不购买该商品。类似地,对于任何一个相关信息能够被充分获取的商品,消费者都可以通过这套规则将其划分为购买和不购买两种状态,并做出相应的消费决策。

图4.6.4  消费者网购决策树

在以上的案例中,主人公都面临一个二选其一的决策问题。而他们都可以通过收集决策依据,再一个个判断决策依据是否符合要求,最终层次渐进地做出决策。决策树模拟的正是这种层次渐进地进行决策的模式。而我们面对的问题是:如何让机器可以基于数据学习出这样一颗决策树出来?首先,观察上面各个案例中的决策树形态,不难发现这颗“虚拟的树”和真实的树一样:都是从一个点开始长起,然后再发芽抽条并长出枝叶。因此决策树形成的第一步也是确定一个初始点,即根节点。例如在案例一的II型糖尿病诊断决策树中,根节点就是葡萄糖耐受力测试结果。那么为什么根节点偏偏是这个呢?根节点可以是身体质量指数吗?答:原则上可以,但不是最好的。经过基于实际数据的严格测算,人们发现以葡萄糖耐受力测试结果作为根节点最好。请问,好在哪里?好就好在以葡萄糖耐受力测试结果作为根节点划分后节点的“纯度”提升得最多。请问什么是纯度?直观上看,“纯度”越高表明该节点内的样本更加趋同,因此类别更少。例如,如果某个节点内全都是糖尿病患者,那么该节点的纯度肯定高于一半糖尿病患者一半健康人的情况。

但“纯度”毕竟是一个抽象的概念,需要通过一些指标来进行刻画。常用的度量样本集合纯度的指标并不唯一,这里主要介绍信息熵(Information Entropy)。假设当前样本集合D中,共有K类不同取值,第k类样本所占的比例为,那么D的信息熵定义为:

信息熵越小,意味着样本集合D的纯度越高。有兴趣的读者可以验证一下,当时,达到最大值,即,此时样本集的纯度最低,因为各类的样本均匀分布。当存在一个k,使得而且对任何都有,达到最小值0,此时样本纯度最高,因为只存在一类样本。请注意,这里定义。在信息熵定义的帮助下,我们已经能够评估经过根节点划分前和划分后节点的“纯度”。但是,经过根节点划分后,决策树产生了两个节点,它们各自能够计算出一个信息熵结果,分别为。请问,如何将两个信息熵合并,从而计算以特征X划分时的节点的总信息熵?一种简单的做法是将划分后各节点的信息熵按照该节点样本量占比做加权平均,即:其中X表示用于划分节点的特征,M表示分支节点的总数,表示第m个分支节点的样本集合。因此有。此外用表示相应的样本量。为了帮助大家建立更加直观的印象,我们以消费者的网购决策(图4.6.4)为例,虚构一组数据,见表4.6.1。这里只考虑三个X指标,分别是性别(男或女)、收入(高或低)以及年龄(岁或30岁)。接下来我们探讨一下:第一个根节点应如何选取?为此我们需要考虑三个不同的X选择,并分别计算该根节点下的样本集合纯度。首先考虑如果以性别作为根节点,那么如图4.6.5所示,样本数据将根据性别的两个水平(男或女)划分至两个节点:节点1中的样本集合全为男性,节点2中的样本集合全为女性。而节点1中共包含9个样本,其中5个样本的决策为购买,4个样本的决策为不购买,带入公式4.6.1计算可得节点1的信息熵类似地,节点2的信息熵因此利用公式4.6.2可以计算出用性别划分下的节点总信息熵和上述过程类似,以收入作为根节点计算出的节点总信息熵为其中因此。而以年龄作为根节点计算出的节点总信息熵为。这一结果说明收入作为根节点的总信息熵最小,划分后的样本纯度更高,因此应将收入作为根节点。表4.6.1  消费者网购决策数据

图4.6.5 以性别作为根节点的样本集合划分

在根节点确定之后,还需要继续让决策树“向下生长”,即向节点1和节点2中加入新的特征来做进一步划分。首先考虑对左侧的节点(即图4.6.5中的节点1)做进一步划分,那么接下来的问题是:使用什么指标?除去已经使用过了的收入外,选用性别还是年龄?这同样可以通过计算划分后节点样本集的纯度来判断。首先考虑如果以性别作为下一个分支节点,那么如图4.6.6所示,样本数据将被继续划分至两个节点:节点3中的样本集合全为男性,节点4中的样本集合全为女性。而节点3中共包含4个样本,其中2个样本的决策为购买,2个样本的决策为不购买,带入公式(4.6.1)计算可得节点3的信息熵

类似地,节点4的信息熵

假设收入“高”的样本集合为,那么利用公式4.6.2可以计算出用性别划分下的节点总信息熵

和上述过程类似,以年龄作为左侧分支节点计算出的节点总信息熵为:。这一结果说明年龄作为左侧分支节点的总信息熵最小,划分后的样本纯度更高,因此应将年龄作为左侧分支节点。

图4.6.6 以性别作为左侧分支节点的样本集合划分

到这一步为止,决策树的生成其实面临两个选择。选择一:以左侧的年龄的分支节点继续向下生长,直到没有新的特征可用于划分,接着再回到根节点,再考虑确定右侧第二层的分支节点。选择二:先确定右侧第二层的分支节点,将第二层分支节点确定后,再让决策树向下生长,进入第三层。这其实分别对应着决策树的深度优先和广度优先算法。但请注意:这两种算法对决策树的生成结果无影响,仅仅是计算顺序的选择。假设这里我们选择使用广度优先算法,即先确定右侧第二层的分支节点(即图4.6.6中的问号节点)。这里同样面临两个选择:选用性别还是年龄作为分支节点?首先考虑以性别作为右侧分支节点,那么如图4.6.7所示,样本数据将被继续划分至节点5和节点6:节点5中的样本集合全为男性,节点6中的样本集合全为女性。而节点5中共包含5个样本,其中3个样本的决策为购买,2个样本的决策为不购买,带入公式(4.6.1)计算可得节点5的信息熵

类似地,节点6的信息熵。假设收入“低”的样本集合为,那么利用公式4.6.2可以计算出用性别划分下的节点总信息熵

类似地,以年龄作为右侧分支节点计算出的节点总信息熵分别为:。这一结果说明性别作为右侧分支节点的总信息熵最小,划分后的样本纯度更高,因此应将性别作为右侧分支节点。

图4.6.7 以性别作为右侧分支节点的样本集合划分

接下来,由于数据集中包含三个指标X,因此理论上可以对第二层决策树进行进一步划分。首先考虑第三层左侧第一个分支节点(即图4.6.7中的节点3),在该节点中所有样本的决策均为购买,这意味着无法进行进一步划分了,该节点不再向下生长。类比到树的生长,枝条的末端是树叶,因此该节点被称为叶节点。再考虑一下第三层左侧第二个分支节点(即图4.6.7中的节点4),此处未使用的指标仅剩下性别,因此该分支节点只能为性别。在该分支节点中,共包含2个男性样本,其决策均为不购买,因此该分支节点下的男性节点变为叶节点。而该分支节点(图4.6.7中的节点4)共包含3个女性样本,其中两个样本的决策为购买,一个样本的决策为不购买。按照少数服从多数的原则,该分支节点下的女性节点的决策为购买。决策树第三层的剩余节点也可以通过上述过程进行确定,最终生成的决策树展示于图4.6.8中。从图中可得,如果用户的收入水平高,年龄在30岁以下,那么可以预测该用户将会购买产品。而如果用户收入水平高,且为年龄大于30岁的男性,那么可以预测该用户将不会购买产品。

图4.6.8 最终的消费者网购决策树

最后总结一下,决策树(或分类树)是一种非常重要的机器学习方法,而且难能可贵的是有着非常好的可解释性。关于决策树有着很多更深的研究成果。例如,对于一个大数据集会有很多X指标,那么理论上可以生长出一颗很大的树,但是不是每一个枝叶都是重要的?或者有没有很多枝叶的长成是完全的概率随机现象?为此很多学者又提出了各种决策树的剪枝方法。另外如果数据足够大,足够复杂,是不是一棵树就足够了?为什么不种很多颗树呢?每一颗树给一个预测结果,然后将这些结果综合到一起,会不会有更好的预测精度?这就是重要的随机森林方法。关于决策树更多的讨论可以参考相关专著。而下一节中,我们将集中精力讨论:神经网络。


1 Al Jarullah, A. A. Decision Tree Discovery for the Diagnosis of Type II Diabetes. 2011 International Conference on Innovations in Information Technology, 2011: 303-307.

2 Sathish kumar, L. and Pandimurugan, V. and Usha, D. and Nageswara Guptha, M. and Hema, M.S. Random Forest Tree Classification Algorithm for Predicating Loan. Materials Today: Proceedings, 2022, 57: 2216-2222.

3 Benkercha, R. and Moulahoum, S. Fault Detection and Diagnosis based on C4. 5 Decision Tree Algorithm for Grid Connected PV System. Solar Energy, 2018 (173): 610-634.



往期推荐

引言:从不确定性出发

第1章:不确定性的数学表达:连续型数据

第1章:不确定性的数学表达:正态概率密度

第1章:不确定性的数学表达:t-分布

第1章:不确定性的数学表达:指数分布

第1章:不确定性的数学表达:0-1分布

第1章:不确定性的数学表达:泊松分布

第2章:参数估计:矩估计

第2章:参数估计:极大似然估计

第2章:参数估计:正态分布均值的区间估计

第2章:参数估计:正态分布方差的区间估计

第2章:参数估计:其他分布参数的区间估计

第2章:参数估计:样本量计算

第3章:假设检验:不确定性与决策

第3章:假设检验:两种不同类型的错误

第3章:假设检验:为什么推翻原假设

第3章:假设检验:关于均值的假设检验问题

第3章:假设检验:假设检验的各种推广

第三章 假设检验:假设检验中的p.Value

第三章 假设检验:假设检验中的样本量计算

第四章 回归分析是什么

第四章 数据类型与回归模型

第四章 线性回归模型

第四章 时间序列模型

第四章 0-1回归模型

继续滑动看下一个
向上滑动看下一个

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存