




已阅读5页,还剩10页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
STA333 第25章回归和分类树 (第1部分)25.1 说明当我们运用回归分析时, 其中一个主要目的是决定因变量Y与自变量X存在什么样的关系. 然而在练习中, 我们并不局限于只是考虑一个自变量: 通过使用许多自变量 (X1, X2, , Xk) 去确定因变量Y的价值的概念在数据分析中广泛的运用。举个例子,考虑下列情形: 你患上心脏病的风险也许同时受很多潜在因素的影响: 你的体重, 你是否有心脏病的家族遗传史, 是否有糖尿病, 运动的时间,你的血压, 等等. 汽车的汽油英里数受到很多方面的影响: 汽车的重量,发动机有多少气缸, 汽车外形是否符合空气动力学, 等等.一个邮件过滤器能识别出一封收到的邮件是否是垃圾邮件也许与许多潜在因素有关: 例如. 主要信件的文字总长,金钱这个词在信件中出现的频率, 在信件中出现“XXX” 的特征, 等等.在实际中,标准数据分析工具用于这样的问题就是多元回归. 在多元回归中,我们试图运用一些规定的数学函数将因变量Y与自变量联系起来。Y = 0 + 1X1 + 2X2 + + kXk + 被估计的参数和过去经常发生预测的Y 并且去决定哪一个变量对Y最具影响. 明显地, 这是一种参数方法推理关于Y取决于参数的估计值和回归误差的假定。描述潜在自变量如何影响因变量的另一种方法是为了全面地辨别Y的值而考虑用关于X的值划定最后界限 。举个例子, 假定心脏收缩的血压水平“划定最后界限”为144 将比我们划定其他心脏收缩的血压水平界限更好的去分一个人是否患有心脏病。事实上, 划分取样分为两组: 心脏收缩的血压水平144. 心脏收缩的血压水平144.在每个组内, 心脏病流行依据有最全面的相似点,但是组间却有最全面的不同点。换句话说,我们选择自变量X的分裂点以便使因变量Y的值在每个组内尽可能的同质并且在组织间尽可能的不同。没有理由就只分裂一次,如果要最大限度的决定Y我们可以在自变量的很多部分进行分裂。举个例子,我们可以得到两个以上的基于血压水平的组。更普遍的,我们可以在几个不同的自变量同时执行分裂。这种处理方式称作递归的分区, 并且这是在数据挖掘技术中经常使用的主要统计工具。23725.2 什么是数据挖掘技术?也许在这一点上,简单介绍一下“数据挖掘技术”是必要的。数据挖掘技术是一种处理方法可以分析得自不同观点的数据并且汇总出有用信息比如可以提高税收,降低成本等。技术上而言, 数据挖掘技术是一种在大有关联的数据库中从许多变量中寻找一种模式或结构的处理方法。例如: Your Kroger Plus card. 位于美国中西部的连锁店Kroger使用数据挖掘技术来分析当地人的购买模式。他们在你刷你的Kroger Plus卡时收集数据. 它是如何工作的?通过数据挖掘技术假定消费者们的购物模式, 他们发现在周四和周六男人购买尿布时, 他们通常会购买啤酒。让我们进一步来分析这个现象发现这些消费者在每周六购买他们的所需品非常有代表性。 然而在周四, 他们只购买一点儿商品。 Kroger 决定 他们可以为即将当来的周末买啤酒。连锁店可以利用这个信息在个方便提高收益。举个例子,他们可以把啤酒显示接近尿布显示。或者,他们可在周四确定啤酒和尿布是全价。你将得到下表。数据挖掘技术有五步构成: 从数据“warehouse”中提取并装载数据(例如:购买交易)。 在多维数据库系统中储存并控制数据。 向商业分析师和IT专业人员提供数据。 用软件分析数据。 在应用格式中呈现分析结果,例如图形或表格形式。许多类型的数据挖掘分析是可能的, 但是我们将要谈论的一个 (暂时地!) 称为决策树。树状结构代表一套决策, 并且这些决策生成数据及的分类规则。发展中的决策树的非参数统计方法就是分类和回归树(CART)。这些规定了一系列的规则以至于你可以适应于新的数据集去预测将要得到的结果。这些“规则”通过寻找最佳的数据“溢出点”被开发, 这就是递归分区发挥作用的过程。238 25.3 递归分区 101递归分区的背后想法是去重复的选择最优作用的预测变量并且用它来对数据分层。每层里, 我们选择数据中最有作用的自变量和子分层直到这个层非常小我们已经将数据用完为止。这些的结果就是决策树。如果因变量Y 是一个类别变量 (e.g. 你是否患有心脏病?), 这个决策树也可以叫做分类树. 如果 Y 是一个连续数变量(e.g. 考虑到汽车的油耗是多少?), 又可以叫做 回归树。故意地,每层种的因变量都尽可能的相似。递归分区在给数据提供模型或者制定详细的预测方面并不是特别的好,这个数据挖掘技术程序的有效性是不但找到数据的主要分部 而且是最有作用的预测变量。首先, 让我们重游 (再一次) 这个 musclemass 数据。这是一个只有一个自变量的小数据集,但是我们可以用它作为基础例子来介绍发生了什么。 例: 肌肉质量. 探究女人肌肉质量和年龄之间的关系,一个营养学家随机的挑选15 个女人 从40岁到79岁每10岁为一组。 数据集中的变量是质量和年龄。 让我们建立决定质量和年龄的回归树。解决方案。我们可以在R软件中用附加的包裹 rpart来执行递归分区。一次安装和加载,我们可以通过以下运行得到回归树: library(rpart) tree1 plot(tree1) text(tree1)以下是单一自变量年龄的回归树结果: 读取这个树如下所示: 如果满足节点上规定的条件, 我们使分支向左。因此, 如果年龄大于等于56.5,我将分支向左。于是得到另一个决定: 年龄是否大于或等于65.5? 如果不是,我们将分支向右。这两个分支的组合以为一个人的年龄在 56.5, 65.5) 这个年龄组。因为这个相对地同类的年龄组,这个预测的肌肉质量是Y=80.12.可见结果的另一种方法可以被适用于依下列各项: print(tree1)n= 60node), split, n, deviance, yval* denotes terminal node1) root 60 15501.9300 84.966672) age=56.5 37 3674.9190 74.594594) age=65.5 20 1929.8000 69.900008) age=75.5 9 1042.0000 65.66667 *9) age 75.5 11 594.5455 73.36364 *5) age 65.5 17 785.7647 80.11765 *3) age=46.5 13 348.0000 97.00000 *7) age boxplot(yrssmokecancer, data=cancerprev,main=Smoking prevalence by Cancer group,xlab=Is cancer present?,ylab=Years of smoking)我们将在课堂上讨论这个情节。现在, 这是一个分类树使用rpart的工具: library(rpart) tree2 print(tree2)n= 200node), split, n, loss, yval, (yprob)* denotes terminal node1) root 200 51 N (0.74500000 0.25500000)2) yrssmoke=10.5 68 30 Y (0.44117647 0.55882353)6) yrssmoke=28.5 18 7 N (0.61111111 0.38888889) *13) yrssmoke 28.5 36 17 Y (0.47222222 0.52777778)26) yrssmoke=22 8 2 N (0.75000000 0.25000000) *53) yrssmoke 22 20 9 Y (0.45000000 0.55000000)106) yrssmoke=18 10 3 Y (0.30000000 0.70000000) *27) yrssmoke=26.5 8 2 Y (0.25000000 0.75000000) *7) yrssmoke=35 14 2 Y (0.14285714 0.85714286) *242这个树有七个终极节点, 我们可以同这个放着画出: plot(tree2) text(tree2)这是一些观察报告: 在开始节点(根节点),这个组中有n=200个人(i.e.整个样本)。其中74.5% 的人为患有癌症(cancer=N) 剩下的25.5% 的人患有癌症(cancer=Y)。 假设一个人抽烟的年数少于10.5 。然后他们将第一个分支向左。有132个这样的人。 其中,90.15%的人没有的癌症而剩下的9.85%的人患有癌症。对这个组的预测分类为“N”: 换言之,我们预测一个抽烟少于10.5年的人在60岁时将不得癌症 。这是我们的预测因为在这个组中的大多数人未得癌症(90.15% vs.9.85%)。然而你将会注意到这个树状模型并不完美:仅在这个段,我们对 132 0.0985 = 13 个人进行错误的分类。简讯:没有模型是完美的! 看看你是否能做出类似决定其它分支的树。在任何建模运行(线性回归, LOESS, 树, 等等),我们想要要一个在数据里可以解释基本特征和结构的模型,但是我们也想要一个并不过度复杂的模型。 分裂的选择在上面的例子中做好癌症存在和未存在的区分,但是对做有效估计有更多的分裂点是有必要的。 所以,就像回归, 我们可能想要消除不必要的分歧。实际上, 我们最终可能想要修剪树! 稍后我们将看到这一点,但是在下一章,当你有许多因变量时我将扩展树的构建情况。第 25 章练习1. 儿童的呼吸率.高呼吸速率是一个潜在的儿童呼吸道感染的诊断指标。 然而为了判断呼吸速率是否确实“高”,一个医师必须要给出一个清楚正规的呼吸速率分布图. 在最后, 意大利的研究人员们测量出了年龄在15天到三岁之间的618名儿童的呼吸速率。数据显示在R的工作空间里。RData. 适用和解释这些数据的基础回归树。2. 鸟类的居住. 在鸟类学研究上进行了确定两个不同的特征将如何影响一个特定种类的鸟在一个给定的岛上居住的可能性。在这个例子中,自变量被称为已占用: 在问题中1的值意味着这个给定的岛已被一种物种占用, 0的意思就是没有占用。两个因变量是 岛的面积(面具,km2) 和岛的边缘(distmain, 距陆地的距离,km)。数据显示在R的工作空间里。RData.适用和解释这些数据的基础分类树。STA333第26章回归和分类树 (第2部分)26.1 使用一个以上的预测分类的例子在上一讲中,我们看到了树模型中只使用一个预测的两个例子。更多有用的环境下,比如数据挖掘,递归分割和树模型是同时调查许多预测的影响有价值的工具。具体而言,我们感兴趣的是下面的任务:1. 最优.我们可能有兴趣在寻找产生最佳结果的预测值的组合,例如:最大限度地提高销售额。2. 重要预测因子鉴定. 一个新的数据集,与树的回归或分类的探索可以帮助我们得到一个快速的处理变量对结果有重大影响。此外,基于树的方法可以用在传统的串联(多或逐步回归)的方式,结合这两种方法的优势。3.结构鉴定.传统的回归依赖的响应/预测关系的形式规范。基于树的方法有没有这样的预先指定的结构,所以过程递归分割可以展示如何预测因子影响响应的有趣的结构(例如,相互作用),可以为传统的方法来检测是困难的。例子: 后凸畸形的儿童. R数据框后凸畸形驻留rpart插件包在一个演示数据集。它由N = 81名儿童脊柱矫正手术记录。数据集包含下列变量:后凸畸形 以下脊椎手术的存在或不存在后凸(一种变形)的指示器 年龄 患者年龄在几个月 数量 涉及椎骨的数目 开始 第一个(最上面的)椎骨的数目操作上研究者想研究这些因素如何在手术后与脊柱后凸的存在或不存在,并且其中的因素是最重要的。(问:什么样的有价值的信息可能会这项研究产生?)解决方案. 我们安装一个默认的分类树,从年龄,数量和开始预测后凸畸形。下面的代码的细节将在课堂上讨论。下面是程序: library(rpart) kfit plot(kfit,compress=TRUE,margin=0.1) text(kfit, use.n=TRUE)您会注意到,参与(号码)椎骨的数量不是驼背的预测。第一分割(节点)在树中处理所涉及的最上面的椎骨的数量,所以这是变形的存在或不存在的一个最重要的区分器。这是相当明显的在这一点通过观察该后凸是更有可能涉及的最上面的椎骨等于或高于第八个椎骨的树。在这种情况下,11出8+11=19个孩子(58)有后凸畸形。更有趣的结果来自于当涉及到最顶端的椎体在第九个椎体:正是在这一点上,树显示病人的年龄和最高的椎体之间的相互作用。两个变量被称为互动决定结果的那一个变量对结果的影响取决于其他变量是什么。在这种情况下,一般一个病人将预测不驼背,除非他们上面的椎体是第九、第十四和患者的年龄在55个月和110个月之间。这最后的结果是一个有点儿奇特,它可以帮助可视化的另一种方式的预测空间。这可能是因为这里真的只有两个预测工作,这样我们可以想像是在两个维度发生的图像:这里是分类树结果表。看看你能不能完全解释此中包含的信息的显示: print(kfit)n= 81node), split, n, loss, yval, (yprob)* denotes terminal node1) root 81 17 absent (0.7901235 0.2098765)2) Start=8.5 62 6 absent (0.9032258 0.0967742)4) Start=14.5 29 0 absent (1.0000000 0.0000000) *5) Start 14.5 33 6 absent (0.8181818 0.1818182)10) Age=55 21 6 absent (0.7142857 0.2857143)22) Age=111 14 2 absent (0.8571429 0.1428571) *23) Age 111 7 3 present (0.4285714 0.5714286) *3) Start head(churn)acct.len area intl vmail vmail.msgs day.mins day.calls day.charge eve.mins eve.calls eve.charge1 128 415 no yes 25 265.1 110 45.07 197.4 99 16.782 107 415 no yes 26 161.6 123 27.47 195.5 103 16.623 137 415 no no 0 243.4 114 41.38 121.2 110 10.304 84 408 yes no 0 299.4 71 50.90 61.9 88 5.265 75 415 yes no 0 166.7 113 28.34 148.3 122 12.616 118 510 yes no 0 223.4 98 37.98 220.6 101 18.75night.mins night.calls night.charge intl.mins intl.calls intl.charge svc.calls churn1 244.7 91 11.01 10.0 3 2.70 1 No2 254.4 103 11.45 13.7 3 3.70 1 No3 162.6 104 7.32 12.2 5 3.29 0 No4 196.9 89 8.86 6.6 7 1.78 2 No5 186.9 121 8.41 10.1 3 2.73 3 No6 203.9 118 9.18 6.3 6 1.70 0 No250我们要适应一个分类模型来预测客户流失,并使用交叉验证来确定最佳的树的大小。解决方案。我们首先安装一个“默认”的一个树,用所有18个预测。该R使用CP的默认值是0.01。通过降低这个有点,我们可以得到一个树是否是故意过度。CP = 0.0001是我的一个任意的猜测: fit1 text(fit1) plot(fit1)是的,现在是一团糟!现在,让我们看看一些交叉验证错误率。我们可以得到这些对象通过印刷或绘制这个树的CP值。用plot()功能printcp()做工作: printcp(fit1)Classification tree:rpart(formula = churn ., data = churn, method = class, cp = 1e-04)STA/DSC333: Nonparametric Statistics 251Variables actually used in tree construction:1 day.mins eve.calls eve.mins intl intl.calls intl.mins7 night.calls night.mins svc.calls vmailRoot node error: 483/3333 = 0.14491n= 3333CP nsplit rel error xerror xstd1 0.08902692 0 1.0
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- (2025)汽车驾驶员(技师)考试题库及答案
- 安全运行考试题及答案
- 高粱定制酒采购合同模板(3篇)
- 高空作业车施工合同(3篇)
- 智能家居产品研发与工程咨询合同
- 融资担保反担保合同示范文本
- 事业单位聘用合同期限与员工职业生涯规划协议
- 空间科学观测-洞察及研究
- 面试编导笔试题目及答案
- 病理专业复试题库及答案
- 2025年《传染病防治法》综合培训试题(附答案)
- 储能电站项目实施方案
- 2025年工勤技师考试题库及答案
- 部编版六年级语文上册重点难点解析
- 电力监理劳务合同范本
- 2025河北工勤人员技师考试消毒员训练题及答案
- 2025年供水管网改造工程可行性研究报告
- 新鲜的牛肉采购合同范本
- 2025至2030年中国室内亲子游乐场行业市场评估分析及投资发展盈利预测报告
- 肖婷民法总则教学课件
- 特产专卖店创业经营计划书
评论
0/150
提交评论