第六讲:数据分析技术(四)课件_第1页
第六讲:数据分析技术(四)课件_第2页
第六讲:数据分析技术(四)课件_第3页
第六讲:数据分析技术(四)课件_第4页
第六讲:数据分析技术(四)课件_第5页
已阅读5页,还剩157页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第六讲:数据分析技术(四)第六讲:数据分析技术(四)第六讲:数据分析技术(四)数据挖掘工作意图数学挖掘工作意图是揭示海量数据中的隐蔽规律,以预测目标顾客、风险控制、欺诈模式识别等工作为主要目的。做好数据挖掘工作需要准备好三件事:(1)定义好问题……谁是目标消费者?(2)高质量的历史数据……几年的客户购买记录(3)一个强大的建模工具……数据挖掘软件第六讲:数据分析技术(四)第六讲:数据分析技术(四)第六讲:1数据挖掘工作意图数学挖掘工作意图是揭示海量数据中的隐蔽规律,以预测目标顾客、风险控制、欺诈模式识别等工作为主要目的。做好数据挖掘工作需要准备好三件事:(1)定义好问题……谁是目标消费者?(2)高质量的历史数据……几年的客户购买记录(3)一个强大的建模工具……数据挖掘软件数据挖掘工作意图数学挖掘工作意图是揭示海量数据中的隐蔽规2数据挖掘工作流程抽样定义问题数据探测数据清冼定义数据属性建模模型评估预测或计算得分分析报告数据挖掘工作流程抽样定义问题数据探测数据清冼定义数据属性建模3问题背景假如你为一个邮购公司工作。公司为了配合销售活动,希望每月发送家具和家用器品产品目录给潜在消费者,内容包括厨房用具、碗碟和餐具产品的目录。假如向全部消费者寄送费用太贵,必须选择购买该类产品概率较大消费者邮寄。现在如何确定一份待邮寄名册?我们将通过建立消费倾向模型,使用数据挖掘工具来确定邮寄名单和分析活动效益情况。假如你有一个珍贵的顾客购买记录数据。这个数据包括能显示顾客过去两年是否购买过厨房用具、碗碟和餐具等信息。数据文件名为CUSTDET1,它包括了如下49个变量和标签:PurchaseDollarsSpentYearlyIncomeHomeValueOrderFrequencyRecencyMarriedNamePrefixAgeSex TelemarketInd.RentsApartmentOccupied<1YearDomesticProductApparelPurchaseLeisureProductLuxuryItemsKitchenProductDishesPurchaseFlatwarePurchase TotalDining(kitch+dish+flat)Promo:1-7MonthsPromo:8-13Months$ValueperMailingCountryCodeTotalReturnsMensApparelHomeFurnitureLampsPurchaseLinensPurchase BlanketsPurchaseTowelsPurchaseOutdoorProductCoatsPurchaseLadiesCoatsLadiesApparelHis/HerApparelJewelryPurchaseDate1stOrderTelemarketOrder AccountNumberStateCodeRaceHeatingTypeNumberofCarsNumberofKidsTravelTimeEducationLevelJobCategory问题背景假如你为一个邮购公司工作。公司为了配合销售活动,4分析问题目标:(1)在没有购买记录的客户名册中找出待邮寄名单;(2)以投资回报率或最大利润为决策目标,决定邮寄名单。解决问题的条件:(1)目标变量是什么?有足够的数据资料吗?(2)有与目标关联的数据资料吗?关联性如何?(3)资料的完整性、可靠性和冗余情况?(4)研究路线设想?(5)有什么期待?因为对目录中产品有需求的客户是购买了kitch、dish和flat叁类产品的客户,在我们的数据记录中kitch、dish、flat和Dining变量反映了客户购买信息。但Dining变量表示kitch、dish、flat购买量和,我们分析目标是分析客户有没有购买kitch、dish、flat商品的意向,因此,我们的目标变量是“当Dining变量>0,值为1,表示购买;否则为0,表示不购买”。同时kitch、dish、flat和Dining变量不能作为预测目标变量自变量,因为它们是共线性的。分析问题目标:解决问题的条件:因为对目录中产品有需求的客5我们的数据是由更大的客户数据库中用重抽样法抽取的,为了有足够的样本做建模分析,使Dining变量响应值(即为1的值)在样本中的比例近54%,这与现实中客户比例不合。因此,在建模中我们需要调整样本的权重,现实中响应比例是12%。抽样数据观察记录为1996个,作为统计推断和建模分析精度足够,数据没有缺损值,完整性好。没有太多的齐异数据,基本可认为数据可靠。通过数据的探索分析,可以发现有变量同目标变量存在相关性,因此,可以考虑通过建立目标变量与其它变量的回归模型、决策树模型和神精网络模型来预测目标变量。相关系数BLANKETSDININGBLANKETS1DINING0.3494261我们的数据是由更大的客户数据库中用重抽样法抽取的,为了有6创建数据挖掘项目调用SAS数据挖掘功能创建数据挖掘项目在DiningList中选择Untitled,并输入Propensity名。创建数据挖掘流程创建数据挖掘项目调用SAS数据挖掘功能创建数据挖掘项目在7项目管理窗工具窗工作窗节点栏报告窗按扭项目管理窗工具窗工作窗节点栏报告窗按扭8流程图输入数据探测数据数据变换设置数据属性分割数据集缺损值处理预测数据集模型代码及运行观察预测结果决策树模型分析报告回归模型模型评估流程图输入数据探测数据数据变换设置数据属性分割数据集缺损值处9数据挖掘的第一步就是确定样本数据,数据的角色,变量的模型中角色和数据类型。一般来说,用户数据仓库中的数据可能是海量的,如果全部用来建模分析,则运算十分耗时。只要我们才取好的抽样方式,抽取几百样本就足够保证统计推断精度,因此,第一步要抽取样本。另外,为建模需要,我们要确定数据角色,即训练集用来拟合模型;效验集用来检验模型误差,以便减少过度拟合情况,增加模型的稳建性;测试集用来得到模型参数的一致有效估计无偏估计;得分集作为待预测的数集,应该没有响应变量的值。我们要事先确定数据角色。变量的模型角色分为目标变量、输入变量、时间变量和标识变量,在建模之前必须分配每一个变量的模型角色,但模型角色是与数据类型有关联,例如,目标变量可以是二值变量和区间变量,其它变量不行。对回归模型来说,二值变量只能用LOGISTIC模型,它是预测响应发生的概率。数据挖掘的第一步就是确定样本数据,数据的角色,变量的模型10定义源数据InputDataSource节点属于Sample类数据挖掘过程。用它来确定你的源数据和指定输入变量的属性。关闭节点后,数据集的名字成为节点的名字。选择数据库和数据集确定抽样数,默认为2000个样本定义数据角色,全程不变。数据分为五个角色:RAW:原始数据;Training:训练数集;Validation:校验数集;Test:测试数集;Score:得分数据集。等间隔变量(连续变量)栏分类变量栏定义源数据InputDataSource节点属于Samp11二值变量Dining=Kitch+dish+flat输入变量,为模型中的自变量连续变量,能计算距离,比例。ID角色,记录标识顺序变量不参加建模分析目标角色,预测对象,全流程唯一名义变量注:可以改变模型角色、变量测度。二值变量Dining=Kitch+dish+flat输入变量12描述统计量它可用来数据初步清先。例如,数据含有不合理的值吗?分布特性如何?描述统计量13利用Insight节点能交互式的探测数据。用它能分析单变量和多变量分布,能画散点图和箱形图,能对结果浏览和研究变量相关性等工作。还能通过方差分析、回归分析和线性模型来解释模型。数据探测随机抽样的“随机种子数”利用Insight节点能交互式的探测数据。用它能分析单变14Dining变量值从0至28,是三种产品购买量和,我们是要预测具有购买欲望的潜在消费者,因此,只要购买过的消费者都是目标消费者。在此,需要把它Dining变量转换成二值变量,即1表示购买,0表示不购买。Dining变量值从0至28,是三种产品购买量和,我们是15统计图分析统计图分析16TransformVariables节点能通过旧变量产生新变量。软件提供的变换方法:简单变换:取对数、开方、求倒数、平方、指数化和标准化;分割变换:分割、分位数、最优分割;最优幂变换:最大正态化、最大相关化、目标水平均等化;你可以在Customizewindow中建立自己的变换公式。变量转换我们产生一个新变量DINBEIN:当Dining>0,则DINBEIN=1;当Dining=0,则DINBEIN=0;TransformVariables节点能通过旧变量产17TransformVariablesToolboxTransformVariables–使用软件提供的变换公式创建一个新变量CreateVariable–使用CreateVariableswindow创建自定义变换DeleteVariables–删除变换后的新变量,但不能删除原变量。TransformVariablesToolboxTra18原数据变量窗口数值键板运算符面板自定义变换公式函数窗原数据变量窗口数值键板运算符面板自定义变换公式函数窗19Training–用来拟合模型的数据集.Validation–用来评估模型和模型调整的数据集。Test–用来获得最终模型误差的无偏估计。Score–得分数据集,可以包括目标变量,也可以不包括。Training–用来拟合模型的数据集.20分割分位数(Quantile)用来划分频数相同的组。分割(Bucket)为等间隔区间,每组间的样本数不一定等。OptimalBinningforRelationshiptoTarget:把变量分成n组,使分组后变量与目标变量相关系数最大。适合在二值变量与输入变量之间存在非线性关系的情况。MaximizenormalityPowerTransformation:变换后变量最接近正态分布。MaximizeCorrelationwithTargetPowerTransformation:变换后变量与目标变量线性相关系数最大,适合区间目标变量。EqualizeSpreadwithTargetLevelsPowerTransformation:变换后变量与目标变量具有方差稳定性。选择x、log(x)、x1/4、sqrt(x)、x2、x4、ex中之一作为变换式分割分位数(Quantile)用来划分频数相同的组。Max21在建模前,我们除了要定义变量模型角色、数据类型外,还必需定义决策成本、收益信息,即决策函数。在商业智能中,分析模式都是商业决策模型。例如,消费响应预测、信用等级评估和商品关联描述等模型。在本问题中,我们要定义DINBEIN为目标变量,是二值变量;放弃与它共线性的四个变量。依据邮送成本收益和原总体响应比例情况,定义决策矩阵和先验概率。数据集属性节点能完成上述任务。在建模前,我们除了要定义变量模型角色、数据类型外,还必需22设置数据集属性它能修改数据属性。例如,数据集名、描述、角色。也能修改样本信息,例如,变量角色、测度水平。在变量表中可以定义目标变量框架。预测模型需要定义唯一的目标变量和多个输入变量,模型评价需要定义目标变量的决策矩阵和样本权重,预测需要定义DI变量。设置数据集属性它能修改数据属性。例如,数据集名、描述、角23变量表决定变量是输出还是不输出修改变量角色修改变量测度本次数据挖掘工作:(1)把Dining、Kitch、dish、flat四个变量角色改为Rejected,DINBEIN变量角色改为Target。(2)把DINBEIN变量测度改为binary。变量表决定变量是输出还是不输出修改变量角色修改变量测度本次数24定义目标变量框架成本收益假设:(1)制作、印刷和邮寄一份产品目录成本10元;(2)若正确预测,即邮寄一份,顾客将来购物,每顾客平均花费90元,即赢得利润80元;若预测不正确,即邮寄一份,但顾客未来购物,此时亏本10元。编辑目标框架定义目标变量框架成本收益假设:编辑目标框架25评估信息,即定义决策目标函数先验概率定义注:由于目标变量值较少,仅在总体中占12%,但为了有足够训练目标值,在数据库中对样本进行了重抽样,产生了足够多的目标值,占样本中的54%左右,为此建模需要加权处理。评估信息,即定义决策目标函数先验概率定义注:由于目标变量值较26数据分割DataPartition节点将输入数据分割为下列互斥数据:Training–用来拟合模型的数据集.Validation–用来评估模型和模型调整的数据集。Test–用来获得最终模型误差的无偏估计。为了拟合模型需要定义一个训练数据集;为了保证模型的稳健性,需要定义效验数据集评估模型,决策稳建模型;为得到模型参数的一致最小无偏估计,需要定义测试数据集。它们均来自样本的随机抽样的互斥数据集。数据分割DataPartition节点将输入数据分割为下列27前面过程输入的数据只有观察数据的角色、测度等信息,不能改变。前面过程输入的数据只有观察数据的角色、测度等信息,不能改变。28简单随机抽样分层抽样自定义数集将总体分成若干个层,指定每层样本数,在每层中进行简单随机抽样,得到的总样本,这种抽样方式称为分层抽样。自定义数集就是指定具有标志的分割数据集变量作为分割变量,依据此变量将输入数据分为训练集、效验集、或测试集。简单随机抽样分层抽样自定义数集将总体分成若干个层,指定每29观察结果观察结果30缺失值处理Replacement节点用来处理缺失值。缺失值是不能用来回归建模和神精网络建模。若用放弃所有的缺失值的样本来估计,可能会得有偏估计模型。使用适当的缺失值处理方法有利得到更准确的预测。本例中DINBEIN没有缺失数据,可以省掉此过程。缺失值处理Replacement节点用来处理缺失值。缺31现实调查、观察和记录难免产生缺失数据,可是缺失数据经常会影响模型的精度。例如,不回答者可能就是不赞成者,若你把他们全排除,你的模型结论可能出现严重偏差。因此,在建前应该仔细研究缺失数据的情况和原因,采取全适的方法处理,尽量减少缺失数据可能对模型影响的程度。Replacement节点专门处理缺失数据的功能模块,但处理缺失数据的方法很多,要选择合适的方法,不仅需要专业统计知识,更需要熟习数据采集情况,要了解产生缺失数据的原因。在本例中没有缺失数据,因此,可以不要此过程。回归模型建模之前需要处理缺失数据,决策树模型不需要,自动把缺失数据归于一类。现实调查、观察和记录难免产生缺失数据,可是缺失数据经常会32选择具备一定角色的数据集随机抽样补缺选择具备一定角色的数据集随机抽样补缺33使用Defaults栏指定方法:在处理缺失值之前指定缺失值代替方法。用得分集代替不清楚类变量的值。对每一个变量创建带有标志的处理变量来处理观察值。类变量统计处理方法:最大频率法基于分布法树支处理法树支首规则处理法常数法无处理对区间变量处理缺失值统计方法:Mean……均值法Median……中位数法Midrange……极值的中间值法Distributionbased……基于分布法Treeimputation……树支处理法Treeimputationwithsurrogates……树支首规则处理法Mid-minimumspacing……中间平均值估计法Tukey‘sbiweight……Tukey加权法Huber‘s……Huber加权法Andrew‘sWave……Andrew波动法Defaultconstant……常数法None……不处理使用Defaults栏指定方法:类变量统计处理方法:对区间变34树模型一个完整的树是指通过一系列简单规则分割数据。每一个规则就是根据某变量值将样本分给一个数据块,在数据块内一个规则接一个规则应用,将数据块分为更细的数据块。层次称为树,每块数据称为节。原始数据称为根,具有多个后续节的节称为支,最终节称为叶。每一个叶为对全部样本的一个决策结果,它依赖上下文,这种预测模型称为决策树模型。树模型一个完整的树是指通过一系列简单规则分割数据。每一个35F检验,使叶间方差与叶内方差比足够大。减小节点平均值的均方误减少熵值,提高节的纯度减小Gini值,提高节的纯度。分支标准设置显著性水平,不宜太高F检验,使叶间方差与叶内方差比足够大。减小节点平均值的均方误36节中保证的最少观察数在每节中替补值个数节中保证的最少观察数在每节中替补值个数37树节点支持下列模型评价标准:区间目标变量:Profitorloss–平均利润最大,或平均损失最小。ASE–最小平均误差。Average,profit,orlossinthetop10,25,or50%--对n%顶部样本最大平均利润,或最小平均损失。顺序目标变量:Proportionmisclassified–最小错判率。Ordinal-proportioncorrect,profit,orloss–最好的秩序正判率。Proportionofevent,profit,orlossintop10,25,or50%--在数据n%的顶部最大利润或最小损失。TotalLeafImpurity(GiniIndex)–最大叶内纯度(最小Gini指数)。二值或名义目标变量:Proportionmisclassified–误判比例最小。ProfitorLoss–最大平均利润或最小平均损失。Proportionofevent,profit,orlossintop10,25,or50%--对n%顶部样本最大平均利润,或最小平均损失。TotalLeafImpurity(GiniIndex)--最大叶内纯度(最小Gini指数)。树节点支持下列模型评价标准:38分支法则:最好的评估值最多叶最少有n叶的最大支足够样本分裂全部样本分裂给定P值,即显著性水平给出树的最多层次给出有效变量数,避免过多的自变量分支法则:足够样本分裂全部样本分裂给定P值,即显著性水平给出39本例设置本例设置40运行结果运行结果41第六讲:数据分析技术(四)课件42第六讲:数据分析技术(四)课件43例如,得分前10%的样本中有19%左右的响应,高于12%;在得分前20%中有20%左右的响应。例如,得分前10%的样本中有捕获了全部响应的16%左右;在得分前20%中捕获了全部响应的32%左右。例如,得分前10%的样本中有19%左右的响应,高于12%;在44若提取得分前10%样本,则比不使用模型捕获率提高1.58倍。若对得分前20%的消费者邮寄产品册,这项活动则获得每个样本的平均利润7.5元左右。若提取得分前10%样本,则比不使用模型捕获率提高1.58倍。45若对得分前20%的消费者邮寄产品册,这项活动则获得投资回报率0.75。若对得分前20%的消费者邮寄产品册,这项活动则获得投资回报率46回归模型Regression节点能建立线性模型和logistic模型。线性回归模型是用一个或几个输入变量的线性函数预测连续型的目标变量的值;Logistic回归模型是用一个或几个输入变量函数预测分类目标变量有利事件发生的概率。回归模型Regression节点能建立线性模型和logi47回归模型的类型:(1)线性模型(2)Logistic模型Logistic回归函数:(1)Logit:(2)CLOGLOG:(3)PROBIT:回归模型的类型:Logistic回归函数:48回归方法:(1)Backward–后退法(2)Forward–前进法(3)Stepwise–逐步回归法交互作用回归方法:交互作用49第六讲:数据分析技术(四)课件50第六讲:数据分析技术(四)课件51模型评估Assessment节点提供了决策树模型、神精网络模型、回归模型、组合模型和自定义模型的比较和预测的平台。模型和预测工具的共同标准是比较从模型结果中得到的期望利润或损失。它能比较多个模型节点产生的模型。模型评估Assessment节点提供了决策树模型、神精52不同的模型是由不同变量组成,所以对响应是用不同数据信息预测,因此,对同一对象预测值不相同。这样我们应用模型预测时就要选择模型,也就要对模型进行评价。评价模型好坏的唯一标准是决策目标函数平均误差最小(有时是利润、有时是误判率)。可是不同的模型,对不同数据集的预测效果是不一样的,就同一模型给定不同阀值,也使误判不一样,因此,对阀值的选择就有优化决策。不同的模型是由不同变量组成,所以对响应是用不同数据信息预53第六讲:数据分析技术(四)课件54第六讲:数据分析技术(四)课件55第六讲:数据分析技术(四)课件56特性曲线敏感性:正判数除于响应数特异性:误判数除于非响应数Reg模型好Tree模型好特性曲线敏感性:特异性:Reg模型好Tree模型好57报告Reporter节点把数据挖掘流程产生的结果集成为HTML格式报告,以便网页浏览。报告内容包括报告描述、流程图和每个节点的子报告。一般报告放在数据挖掘流程最后。报告Reporter节点把数据挖掘流程产生的结果集成为58第六讲:数据分析技术(四)课件59结果浏览结果浏览60第六讲:数据分析技术(四)课件61第六讲:数据分析技术(四)课件62得分或预测Score节点管理、编辑、输出、执行由训练模型产生的得分代码。对一个没有目标值的数据集进行预测,它是数据挖掘工作的最终结果。训练和测试模型后,对目标用Logistic回归,选择10%得分高的客户邮寄产品目录。现在需要对客户数据预测目标值,使用Score节点完成工作。得分或预测Score节点管理、编辑、输出、执行由训练模63我们只有提取的前面模型运算程序代码,将来才能离开SASEnterpriseMiner环境运行。Score节点就是用来提取代码的,以便用在BASESAS环境下运行。为了产生邮寄名册,我们需要应用前面模型来预测更广泛的客户数据库,即运用提取的代码在BASESAS上运行,得到目标变量的响应预测值,依据判断阀值,选择得分值高于阀值的客户,从而产生了邮寄名册。在本例中,我们以原数据集作为预测数据集。我们只有提取的前面模型运算程序代码,将来才能离开SAS64选择前断节点输入的数据选择前断节点输入的数据65操作设置:Inactive–输出最近数据集产生的模型计算代码。Applytrainingdatascorecodetoscoredataset–从训练数据集到得分数据集应用模型计算代码。Accumulatedatasetsbytype–复制和输出前续节点输入的数据集。Mergedatasetsbytype–合并前续节点输入的数据集。操作设置:66Currentimports–列出前续节点输入当前得分代码。Accumulatedruns–列出最近运行路径(训练操作)前续节点输出的得分代码。Saved–列出已保存或合并的代码项。All–列出由节点管理的代码项。Currentimports–列出前续节点输入当前得分67把代码文件输出保存为:REGRESSION。在BASESAS中显示并编辑。把代码文件输出保存为:REGRESSION。68编辑代码/*--------------------------------------------------------------*//*ENTERPRISEMINER:BEGINSCORECODE*//*--------------------------------------------------------------*/%macroDMNORLEN;32%mendDMNORLEN;

%macroDMNORMCP(in,out);&out=substr(left(&in),1,min(%dmnorlen,length(left(&in))));&out=upcase(&out);%mendDMNORMCP;

%macroDMNORMIP(in);&in=left(&in);&in=substr(&in,1,min(%dmnorlen,length(&in)));&in=upcase(&in);%mendDMNORMIP;

DATA&_PREDICT;SET&_SCORE;运行代码创造&_PREDICT数据集,它放置预测值。它由得分数据集&_SCORE描述。在&_PREDICT和&_SCORE插入:%let_PREDICT=x;%let_SCORE=sampsio.custdet1;注:用哑元值初始化_PREDICT。不存在X数据集;_PREDICT数据集由后来的得分代码创建。编辑代码/*------------------------69%macroDMNORMIP(in);&in=left(&in);&in=substr(&in,1,min(%dmnorlen,length(&in)));

&in=upcase(&in);%mendDMNORMIP;%let_PREDICT=x;%let_SCORE=sampsio.custdet1;DATA&_PREDICT;SET&_SCORE;*;*CODE_CLEAN*;为了高分列在前列要进行观察值排序和观察得分情况,在代码结束前要增加下列代码:procsortdata=&_PREDICT;bydescendingP_DINEBIN1;run;procprintdata=&_PREDICT;vardinebinP_DINEBIN1P_DINEBIN0;run;%macroDMNORMIP(in);为了高分列在前列要70第六讲:数据分析技术(四)课件71第六讲:数据分析技术(四)课件72预测预测73对预测集应用训练集得到的得分代码预测。对预测集应用训练集得到的得分代码预测。74浏览预测结果浏览预测结果75例如,我们要取得分前10%的客户邮寄,则依据预测数据集选出名单。例如,我们要取得分前10%的客户邮寄,则依据预测数据集选出名76信用评分模型寅示使用数据挖掘方法对客户信用进行评分,主要研究当个人申请服务和购物贷款时如何对其信用可靠性进行评估。各种贷方(银行、投资公司、信用卡公司)每天都会收到成千上万的申请,因此需要有一个自动决策系统帮助决定接受或拒绝申请。我们以德国银行数据为基础,构建一个客户信用评分模型。数据中含有1000个申请者观察数据,21个变量,其中一个表示信用可靠性的二值变量(good_bad),其它意义如下:社会人口变量marital性别与婚姻状况Age年龄Resident在现在住所居住年数个人和金融变量Checking是否有银行帐户savings是否有银行存折History返款历史Property已前财富数量Coapp是否申请其它资金job职业类型Employed工作年限Foreign是否是外国职员具体贷款变量Amount数量Purpose贷款用途Duration贷款期Installp分期付款Other是否有其它共同债务人债权人财产Housing是否有房Depends是否拥有动产Existcr是否拥有不动产问题背景信用评分模型寅示使用数据挖掘方法对客户信用进行评分,主要77以目标值分层抽取样本,从比例上是不合实际的,虽然不影响建模,但解释时要加以注意。数据探索分析预备工作:将Duration变为二值变量,即大于18月对应1,小于或等对应0;将Checking拆分为两个变量,即good_Checking表示“余额大于200马克”,bad_Checking表示“负余额”;将marital分为两个变量,即sex和marital.以目标值分层抽取样本,从比例上是不合实际的,虽然不影响建模,78流程图流程图79参考书籍<<统计分析与SAS软件>>编著:黄平梁满发华南理工大学出版社<<数据挖掘实践>>著:OliviaParrRud译者:朱扬勇等机械工业出版社<<实用数据挖掘>>著:PaoloGiudici译者:袁方等电子工业出版社参考书籍<<统计分析与SAS软件>><<数据挖掘实践>>80谢谢观赏!2020/11/581谢谢观赏!2020/11/581第六讲:数据分析技术(四)第六讲:数据分析技术(四)第六讲:数据分析技术(四)数据挖掘工作意图数学挖掘工作意图是揭示海量数据中的隐蔽规律,以预测目标顾客、风险控制、欺诈模式识别等工作为主要目的。做好数据挖掘工作需要准备好三件事:(1)定义好问题……谁是目标消费者?(2)高质量的历史数据……几年的客户购买记录(3)一个强大的建模工具……数据挖掘软件第六讲:数据分析技术(四)第六讲:数据分析技术(四)第六讲:82数据挖掘工作意图数学挖掘工作意图是揭示海量数据中的隐蔽规律,以预测目标顾客、风险控制、欺诈模式识别等工作为主要目的。做好数据挖掘工作需要准备好三件事:(1)定义好问题……谁是目标消费者?(2)高质量的历史数据……几年的客户购买记录(3)一个强大的建模工具……数据挖掘软件数据挖掘工作意图数学挖掘工作意图是揭示海量数据中的隐蔽规83数据挖掘工作流程抽样定义问题数据探测数据清冼定义数据属性建模模型评估预测或计算得分分析报告数据挖掘工作流程抽样定义问题数据探测数据清冼定义数据属性建模84问题背景假如你为一个邮购公司工作。公司为了配合销售活动,希望每月发送家具和家用器品产品目录给潜在消费者,内容包括厨房用具、碗碟和餐具产品的目录。假如向全部消费者寄送费用太贵,必须选择购买该类产品概率较大消费者邮寄。现在如何确定一份待邮寄名册?我们将通过建立消费倾向模型,使用数据挖掘工具来确定邮寄名单和分析活动效益情况。假如你有一个珍贵的顾客购买记录数据。这个数据包括能显示顾客过去两年是否购买过厨房用具、碗碟和餐具等信息。数据文件名为CUSTDET1,它包括了如下49个变量和标签:PurchaseDollarsSpentYearlyIncomeHomeValueOrderFrequencyRecencyMarriedNamePrefixAgeSex TelemarketInd.RentsApartmentOccupied<1YearDomesticProductApparelPurchaseLeisureProductLuxuryItemsKitchenProductDishesPurchaseFlatwarePurchase TotalDining(kitch+dish+flat)Promo:1-7MonthsPromo:8-13Months$ValueperMailingCountryCodeTotalReturnsMensApparelHomeFurnitureLampsPurchaseLinensPurchase BlanketsPurchaseTowelsPurchaseOutdoorProductCoatsPurchaseLadiesCoatsLadiesApparelHis/HerApparelJewelryPurchaseDate1stOrderTelemarketOrder AccountNumberStateCodeRaceHeatingTypeNumberofCarsNumberofKidsTravelTimeEducationLevelJobCategory问题背景假如你为一个邮购公司工作。公司为了配合销售活动,85分析问题目标:(1)在没有购买记录的客户名册中找出待邮寄名单;(2)以投资回报率或最大利润为决策目标,决定邮寄名单。解决问题的条件:(1)目标变量是什么?有足够的数据资料吗?(2)有与目标关联的数据资料吗?关联性如何?(3)资料的完整性、可靠性和冗余情况?(4)研究路线设想?(5)有什么期待?因为对目录中产品有需求的客户是购买了kitch、dish和flat叁类产品的客户,在我们的数据记录中kitch、dish、flat和Dining变量反映了客户购买信息。但Dining变量表示kitch、dish、flat购买量和,我们分析目标是分析客户有没有购买kitch、dish、flat商品的意向,因此,我们的目标变量是“当Dining变量>0,值为1,表示购买;否则为0,表示不购买”。同时kitch、dish、flat和Dining变量不能作为预测目标变量自变量,因为它们是共线性的。分析问题目标:解决问题的条件:因为对目录中产品有需求的客86我们的数据是由更大的客户数据库中用重抽样法抽取的,为了有足够的样本做建模分析,使Dining变量响应值(即为1的值)在样本中的比例近54%,这与现实中客户比例不合。因此,在建模中我们需要调整样本的权重,现实中响应比例是12%。抽样数据观察记录为1996个,作为统计推断和建模分析精度足够,数据没有缺损值,完整性好。没有太多的齐异数据,基本可认为数据可靠。通过数据的探索分析,可以发现有变量同目标变量存在相关性,因此,可以考虑通过建立目标变量与其它变量的回归模型、决策树模型和神精网络模型来预测目标变量。相关系数BLANKETSDININGBLANKETS1DINING0.3494261我们的数据是由更大的客户数据库中用重抽样法抽取的,为了有87创建数据挖掘项目调用SAS数据挖掘功能创建数据挖掘项目在DiningList中选择Untitled,并输入Propensity名。创建数据挖掘流程创建数据挖掘项目调用SAS数据挖掘功能创建数据挖掘项目在88项目管理窗工具窗工作窗节点栏报告窗按扭项目管理窗工具窗工作窗节点栏报告窗按扭89流程图输入数据探测数据数据变换设置数据属性分割数据集缺损值处理预测数据集模型代码及运行观察预测结果决策树模型分析报告回归模型模型评估流程图输入数据探测数据数据变换设置数据属性分割数据集缺损值处90数据挖掘的第一步就是确定样本数据,数据的角色,变量的模型中角色和数据类型。一般来说,用户数据仓库中的数据可能是海量的,如果全部用来建模分析,则运算十分耗时。只要我们才取好的抽样方式,抽取几百样本就足够保证统计推断精度,因此,第一步要抽取样本。另外,为建模需要,我们要确定数据角色,即训练集用来拟合模型;效验集用来检验模型误差,以便减少过度拟合情况,增加模型的稳建性;测试集用来得到模型参数的一致有效估计无偏估计;得分集作为待预测的数集,应该没有响应变量的值。我们要事先确定数据角色。变量的模型角色分为目标变量、输入变量、时间变量和标识变量,在建模之前必须分配每一个变量的模型角色,但模型角色是与数据类型有关联,例如,目标变量可以是二值变量和区间变量,其它变量不行。对回归模型来说,二值变量只能用LOGISTIC模型,它是预测响应发生的概率。数据挖掘的第一步就是确定样本数据,数据的角色,变量的模型91定义源数据InputDataSource节点属于Sample类数据挖掘过程。用它来确定你的源数据和指定输入变量的属性。关闭节点后,数据集的名字成为节点的名字。选择数据库和数据集确定抽样数,默认为2000个样本定义数据角色,全程不变。数据分为五个角色:RAW:原始数据;Training:训练数集;Validation:校验数集;Test:测试数集;Score:得分数据集。等间隔变量(连续变量)栏分类变量栏定义源数据InputDataSource节点属于Samp92二值变量Dining=Kitch+dish+flat输入变量,为模型中的自变量连续变量,能计算距离,比例。ID角色,记录标识顺序变量不参加建模分析目标角色,预测对象,全流程唯一名义变量注:可以改变模型角色、变量测度。二值变量Dining=Kitch+dish+flat输入变量93描述统计量它可用来数据初步清先。例如,数据含有不合理的值吗?分布特性如何?描述统计量94利用Insight节点能交互式的探测数据。用它能分析单变量和多变量分布,能画散点图和箱形图,能对结果浏览和研究变量相关性等工作。还能通过方差分析、回归分析和线性模型来解释模型。数据探测随机抽样的“随机种子数”利用Insight节点能交互式的探测数据。用它能分析单变95Dining变量值从0至28,是三种产品购买量和,我们是要预测具有购买欲望的潜在消费者,因此,只要购买过的消费者都是目标消费者。在此,需要把它Dining变量转换成二值变量,即1表示购买,0表示不购买。Dining变量值从0至28,是三种产品购买量和,我们是96统计图分析统计图分析97TransformVariables节点能通过旧变量产生新变量。软件提供的变换方法:简单变换:取对数、开方、求倒数、平方、指数化和标准化;分割变换:分割、分位数、最优分割;最优幂变换:最大正态化、最大相关化、目标水平均等化;你可以在Customizewindow中建立自己的变换公式。变量转换我们产生一个新变量DINBEIN:当Dining>0,则DINBEIN=1;当Dining=0,则DINBEIN=0;TransformVariables节点能通过旧变量产98TransformVariablesToolboxTransformVariables–使用软件提供的变换公式创建一个新变量CreateVariable–使用CreateVariableswindow创建自定义变换DeleteVariables–删除变换后的新变量,但不能删除原变量。TransformVariablesToolboxTra99原数据变量窗口数值键板运算符面板自定义变换公式函数窗原数据变量窗口数值键板运算符面板自定义变换公式函数窗100Training–用来拟合模型的数据集.Validation–用来评估模型和模型调整的数据集。Test–用来获得最终模型误差的无偏估计。Score–得分数据集,可以包括目标变量,也可以不包括。Training–用来拟合模型的数据集.101分割分位数(Quantile)用来划分频数相同的组。分割(Bucket)为等间隔区间,每组间的样本数不一定等。OptimalBinningforRelationshiptoTarget:把变量分成n组,使分组后变量与目标变量相关系数最大。适合在二值变量与输入变量之间存在非线性关系的情况。MaximizenormalityPowerTransformation:变换后变量最接近正态分布。MaximizeCorrelationwithTargetPowerTransformation:变换后变量与目标变量线性相关系数最大,适合区间目标变量。EqualizeSpreadwithTargetLevelsPowerTransformation:变换后变量与目标变量具有方差稳定性。选择x、log(x)、x1/4、sqrt(x)、x2、x4、ex中之一作为变换式分割分位数(Quantile)用来划分频数相同的组。Max102在建模前,我们除了要定义变量模型角色、数据类型外,还必需定义决策成本、收益信息,即决策函数。在商业智能中,分析模式都是商业决策模型。例如,消费响应预测、信用等级评估和商品关联描述等模型。在本问题中,我们要定义DINBEIN为目标变量,是二值变量;放弃与它共线性的四个变量。依据邮送成本收益和原总体响应比例情况,定义决策矩阵和先验概率。数据集属性节点能完成上述任务。在建模前,我们除了要定义变量模型角色、数据类型外,还必需103设置数据集属性它能修改数据属性。例如,数据集名、描述、角色。也能修改样本信息,例如,变量角色、测度水平。在变量表中可以定义目标变量框架。预测模型需要定义唯一的目标变量和多个输入变量,模型评价需要定义目标变量的决策矩阵和样本权重,预测需要定义DI变量。设置数据集属性它能修改数据属性。例如,数据集名、描述、角104变量表决定变量是输出还是不输出修改变量角色修改变量测度本次数据挖掘工作:(1)把Dining、Kitch、dish、flat四个变量角色改为Rejected,DINBEIN变量角色改为Target。(2)把DINBEIN变量测度改为binary。变量表决定变量是输出还是不输出修改变量角色修改变量测度本次数105定义目标变量框架成本收益假设:(1)制作、印刷和邮寄一份产品目录成本10元;(2)若正确预测,即邮寄一份,顾客将来购物,每顾客平均花费90元,即赢得利润80元;若预测不正确,即邮寄一份,但顾客未来购物,此时亏本10元。编辑目标框架定义目标变量框架成本收益假设:编辑目标框架106评估信息,即定义决策目标函数先验概率定义注:由于目标变量值较少,仅在总体中占12%,但为了有足够训练目标值,在数据库中对样本进行了重抽样,产生了足够多的目标值,占样本中的54%左右,为此建模需要加权处理。评估信息,即定义决策目标函数先验概率定义注:由于目标变量值较107数据分割DataPartition节点将输入数据分割为下列互斥数据:Training–用来拟合模型的数据集.Validation–用来评估模型和模型调整的数据集。Test–用来获得最终模型误差的无偏估计。为了拟合模型需要定义一个训练数据集;为了保证模型的稳健性,需要定义效验数据集评估模型,决策稳建模型;为得到模型参数的一致最小无偏估计,需要定义测试数据集。它们均来自样本的随机抽样的互斥数据集。数据分割DataPartition节点将输入数据分割为下列108前面过程输入的数据只有观察数据的角色、测度等信息,不能改变。前面过程输入的数据只有观察数据的角色、测度等信息,不能改变。109简单随机抽样分层抽样自定义数集将总体分成若干个层,指定每层样本数,在每层中进行简单随机抽样,得到的总样本,这种抽样方式称为分层抽样。自定义数集就是指定具有标志的分割数据集变量作为分割变量,依据此变量将输入数据分为训练集、效验集、或测试集。简单随机抽样分层抽样自定义数集将总体分成若干个层,指定每110观察结果观察结果111缺失值处理Replacement节点用来处理缺失值。缺失值是不能用来回归建模和神精网络建模。若用放弃所有的缺失值的样本来估计,可能会得有偏估计模型。使用适当的缺失值处理方法有利得到更准确的预测。本例中DINBEIN没有缺失数据,可以省掉此过程。缺失值处理Replacement节点用来处理缺失值。缺112现实调查、观察和记录难免产生缺失数据,可是缺失数据经常会影响模型的精度。例如,不回答者可能就是不赞成者,若你把他们全排除,你的模型结论可能出现严重偏差。因此,在建前应该仔细研究缺失数据的情况和原因,采取全适的方法处理,尽量减少缺失数据可能对模型影响的程度。Replacement节点专门处理缺失数据的功能模块,但处理缺失数据的方法很多,要选择合适的方法,不仅需要专业统计知识,更需要熟习数据采集情况,要了解产生缺失数据的原因。在本例中没有缺失数据,因此,可以不要此过程。回归模型建模之前需要处理缺失数据,决策树模型不需要,自动把缺失数据归于一类。现实调查、观察和记录难免产生缺失数据,可是缺失数据经常会113选择具备一定角色的数据集随机抽样补缺选择具备一定角色的数据集随机抽样补缺114使用Defaults栏指定方法:在处理缺失值之前指定缺失值代替方法。用得分集代替不清楚类变量的值。对每一个变量创建带有标志的处理变量来处理观察值。类变量统计处理方法:最大频率法基于分布法树支处理法树支首规则处理法常数法无处理对区间变量处理缺失值统计方法:Mean……均值法Median……中位数法Midrange……极值的中间值法Distributionbased……基于分布法Treeimputation……树支处理法Treeimputationwithsurrogates……树支首规则处理法Mid-minimumspacing……中间平均值估计法Tukey‘sbiweight……Tukey加权法Huber‘s……Huber加权法Andrew‘sWave……Andrew波动法Defaultconstant……常数法None……不处理使用Defaults栏指定方法:类变量统计处理方法:对区间变115树模型一个完整的树是指通过一系列简单规则分割数据。每一个规则就是根据某变量值将样本分给一个数据块,在数据块内一个规则接一个规则应用,将数据块分为更细的数据块。层次称为树,每块数据称为节。原始数据称为根,具有多个后续节的节称为支,最终节称为叶。每一个叶为对全部样本的一个决策结果,它依赖上下文,这种预测模型称为决策树模型。树模型一个完整的树是指通过一系列简单规则分割数据。每一个116F检验,使叶间方差与叶内方差比足够大。减小节点平均值的均方误减少熵值,提高节的纯度减小Gini值,提高节的纯度。分支标准设置显著性水平,不宜太高F检验,使叶间方差与叶内方差比足够大。减小节点平均值的均方误117节中保证的最少观察数在每节中替补值个数节中保证的最少观察数在每节中替补值个数118树节点支持下列模型评价标准:区间目标变量:Profitorloss–平均利润最大,或平均损失最小。ASE–最小平均误差。Average,profit,orlossinthetop10,25,or50%--对n%顶部样本最大平均利润,或最小平均损失。顺序目标变量:Proportionmisclassified–最小错判率。Ordinal-proportioncorrect,profit,orloss–最好的秩序正判率。Proportionofevent,profit,orlossintop10,25,or50%--在数据n%的顶部最大利润或最小损失。TotalLeafImpurity(GiniIndex)–最大叶内纯度(最小Gini指数)。二值或名义目标变量:Proportionmisclassified–误判比例最小。ProfitorLoss–最大平均利润或最小平均损失。Proportionofevent,profit,orlossintop10,25,or50%--对n%顶部样本最大平均利润,或最小平均损失。TotalLeafImpurity(GiniIndex)--最大叶内纯度(最小Gini指数)。树节点支持下列模型评价标准:119分支法则:最好的评估值最多叶最少有n叶的最大支足够样本分裂全部样本分裂给定P值,即显著性水平给出树的最多层次给出有效变量数,避免过多的自变量分支法则:足够样本分裂全部样本分裂给定P值,即显著性水平给出120本例设置本例设置121运行结果运行结果122第六讲:数据分析技术(四)课件123第六讲:数据分析技术(四)课件124例如,得分前10%的样本中有19%左右的响应,高于12%;在得分前20%中有20%左右的响应。例如,得分前10%的样本中有捕获了全部响应的16%左右;在得分前20%中捕获了全部响应的32%左右。例如,得分前10%的样本中有19%左右的响应,高于12%;在125若提取得分前10%样本,则比不使用模型捕获率提高1.58倍。若对得分前20%的消费者邮寄产品册,这项活动则获得每个样本的平均利润7.5元左右。若提取得分前10%样本,则比不使用模型捕获率提高1.58倍。126若对得分前20%的消费者邮寄产品册,这项活动则获得投资回报率0.75。若对得分前20%的消费者邮寄产品册,这项活动则获得投资回报率127回归模型Regression节点能建立线性模型和logistic模型。线性回归模型是用一个或几个输入变量的线性函数预测连续型的目标变量的值;Logistic回归模型是用一个或几个输入变量函数预测分类目标变量有利事件发生的概率。回归模型Regression节点能建立线性模型和logi128回归模型的类型:(1)线性模型(2)Logistic模型Logistic回归函数:(1)Logit:(2)CLOGLOG:(3)PROBIT:回归模型的类型:Logistic回归函数:129回归方法:(1)Backward–后退法(2)Forward–前进法(3)Stepwise–逐步回归法交互作用回归方法:交互作用130第六讲:数据分析技术(四)课件131第六讲:数据分析技术(四)课件132模型评估Assessment节点提供了决策树模型、神精网络模型、回归模型、组合模型和自定义模型的比较和预测的平台。模型和预测工具的共同标准是比较从模型结果中得到的期望利润或损失。它能比较多个模型节点产生的模型。模型评估Assessment节点提供了决策树模型、神精133不同的模型是由不同变量组成,所以对响应是用不同数据信息预测,因此,对同一对象预测值不相同。这样我们应用模型预测时就要选择模型,也就要对模型进行评价。评价模型好坏的唯一标准是决策目标函数平均误差最小(有时是利润、有时是误判率)。可是不同的模型,对不同数据集的预测效果是不一样的,就同一模型给定不同阀值,也使误判不一样,因此,对阀值的选择就有优化决策。不同的模型是由不同变量组成,所以对响应是用不同数据信息预134第六讲:数据分析技术(四)课件135第六讲:数据分析技术(四)课件136第六讲:数据分析技术(四)课件137特性曲线敏感性:正判数除于响应数特异性:误判数除于非响应数Reg模型好Tree模型好特性曲线敏感性:特异性:Reg模型好Tree模型好138报告Reporter节点把数据挖掘流程产生的结果集成为HTML格式报告,以便网页浏览。报告内容包括报告描述、流程图和每个节点的子报告。一般报告放在数据挖掘流程最后。报告Reporter节点把数据挖掘流程产生的结果集成为139第六讲:数据分析技术(四)课件140结果浏览结果浏览141第六讲:数据分析技术(四)课件142第六讲:数据分析技术(四)课件143得分或预测Score节点管理、编辑、输出、执行由训练模型产生的得分代码。对一个没有目标值的数据集进行预测,它是数据挖掘工作的最终结果。训练和测试模型后,对目标用Logistic回归,选择10%得分高的客户邮寄产品目录。现在需要对客户数据预测目标值,使用Score节点完成工作。得分或预测Score节点管理、编辑、输出、执行由训练模144我们只有提取的前面模型运算程序代码,将来才能离开SASEnterpriseMiner环境运行。Score节点就是用来提取代码的,以便用在BASESAS环境下运行。为了产生邮寄名册,我们需要应用前面模型来预测更广泛的客户数据库,即运用提取的代码在BASESAS上运行,得到目标变量的响应预测值,依据判断阀值,选择得分值高于阀值的客户,从而产生了邮寄名册。在本例中,我们以原数据集作为预测数据集。我们只有提取的前面模型运算程序代码,将来才能离开SAS145选择前断节点输入的数据选择前断节点输入的数据146操作设置:Inactive–输出最近数据集产生的模型计算代码。Applytrainingdatascorecodetoscoredataset–从训练数据集到得分数据集应用模型计算代码。Accumulatedatasetsbytype–复制和输出前续节点输入的数据集。Mergedatasetsbytype–合并前续节点输入的数据集。操作设置:

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论