SASEM数据挖掘仅供交流.docx

上传人:b****5 文档编号:8637887 上传时间:2023-02-01 格式:DOCX 页数:39 大小:1.46MB
下载 相关 举报
SASEM数据挖掘仅供交流.docx_第1页
第1页 / 共39页
SASEM数据挖掘仅供交流.docx_第2页
第2页 / 共39页
SASEM数据挖掘仅供交流.docx_第3页
第3页 / 共39页
SASEM数据挖掘仅供交流.docx_第4页
第4页 / 共39页
SASEM数据挖掘仅供交流.docx_第5页
第5页 / 共39页
点击查看更多>>
下载资源
资源描述

SASEM数据挖掘仅供交流.docx

《SASEM数据挖掘仅供交流.docx》由会员分享,可在线阅读,更多相关《SASEM数据挖掘仅供交流.docx(39页珍藏版)》请在冰豆网上搜索。

SASEM数据挖掘仅供交流.docx

SASEM数据挖掘仅供交流

市面上SAS-EM的材料太少了,这份材料很粗糙,仅供大家技术交流使用。

其中有些错误也请大家不吝赐教。

数据挖掘SAS/EM6.2

1数据挖掘的方法论

1.1数据分析领域

数据分析有2大领域,

基于横向数据(Crosssection)研究:

基于研究一次抽样或多次抽样数据进行研究。

目前的数据挖掘工具主要是在这个领域运用,可以完成关联分析、客户画像和分类预测任务;

基于纵向数据(Timeseries)和地理数据(GeographicData):

根据现代统计学理论发展起来的,主要用于分析单个变量连续时点上的数据。

主要进行连续变量的样本外预测。

目前数据挖掘工具少有涉猎,即使有也难以作出细致的模型。

而且对研究人员的理论基础要求较高。

1.2参见《CRISP-DM1.0循序渐进数据挖掘指南.pdf》和《CRISP-DM和SEMMA比较.docx》

2建模流程

SEMMA流程是SAS/EM工具进行数据挖掘的流程,如图1-7所示。

2.1数据引入和数据准备

2.1.1SAS/EM中数据类型

binary:

表示此变量取值只有两个值,也就是两种情况。

如:

0或1两种值

unary:

表示此变量取值为唯一值。

如:

1这一个值。

nominal:

表示此变量取值为大于两个的无序非数字值。

如:

we、er、fy和fu,苹果、梨和香蕉。

ordinal:

表示此变量取值为大于两种,且是有序的值而小于10的数值型值。

如:

3、4、5、9。

interval:

表示此变量取值为大于10以上的数值类型的值。

如:

12、13、68。

categorical:

变量数据是有一组层次数据组成,如性别,分为男性和女性。

饮料大小为:

小,大,正常。

2.1.2SAS/EM中数据角色

主要的数据角色有:

目标、输入、ID

2.2数据探索

需要回答几个问题:

1、数据是否干净:

剔出错误引起的数值(汇总节点)

2、有多少缺失值?

有没有特殊意义的编码?

比如年龄字段中出现-99,实际意义是缺失值。

---为过滤、替换和填充缺失值作准备;(汇总节点)

3、变量的分布如何?

有没有极端值,偏度和峰度。

--为函数形式转换和过滤作准备;(多式图节点)

4、输入变量和目标变量之间的相关关系程度和形式?

对变量的重要程度进行排序,函数形式是线形的还是非线性的----为模型选择和变量选择作准备。

(统计探索节点、多式图节点)

2.3关联分析流程

2.3.1简介

关联分析(AssociationAnalyze):

通过数据挖掘工具分析变量之间那些变量一起发生的概率比较高或存在关联规则,通过建立关联规则来寻找规律,应用到现实客户管理工作当中。

如购物篮分析,捆绑销售等,把物品模型化,应用变量分析,发现规律。

如我们可以猜测超市客户会同时奶粉和尿布(关联分析当然已经证实了这一点),但关联分析发现啤酒也会和尿布同时被购买。

这是难以被预料的,也是关联分析的功能。

关联分析在交叉销售中经常用到。

需要注意的是,关联分析只是描述性统计,用于获得有启发性质的事件描述,本身不会带来知识,需要进行后续的调研工作。

因为两件事情同时发生并不代表两者之间有密切联系,更多的情况是同时受其他因素影响。

提出一个关联分析目标问题:

对于有从金融机构贷款买车的车贷客户之后是否想从同一个金融结构获得抵押房贷?

申请外汇流动资金贷款的客户会不会随后办理福费廷业务?

2.3.2术语解释和实例

一个著名案例的问题描述:

“尿布与啤酒”

在美国,一些年轻的父亲下班后经常要到超市去买婴儿尿布,超市也因此发现了一个规律,在购买婴儿尿布的年轻父亲们中,有30%~40%的人同时要买一些啤酒。

超市随后调整了货架的摆放,把尿布和啤酒放在一起,明显增加了销售额。

同样的,我们还可以根据关联规则在商品销售方面做各种促销活动。

为了简洁的表示商品销售的关联规则,我们用以下图示表示:

{左边商品集合}→{右边商品集合}

左边商品集合又称为LeftHandSet,简称LHS,类似的,右边商品集合又称为RightHandSet,简称RHS。

例如:

􀁺{尿布}→{啤酒}

􀁺{啤酒、尿布}→{奶酪、巧克力}

需要回答3个业务上关心的问题:

事件对发生的概率、一个发生之后另一个发生的概率和事件对中事件的主次关系(有些人解释为规则是否有效)。

支持度(support):

是对左边项集和右边项集都同时出现的概率。

左边项集和右边项集出现的次数/总的交易次数=N(A∪B)/N。

置信度(confidence):

也称为可信度,指在左边项集出现的商品同时能又购买右边项集商品的交易概率。

即两边项集的交易次数/包含规则左边项集的交易次数=P(A∪B)/P(A)。

提升度(Lift):

提升度指的是是两种可能性的比较,一种是在已知购买了左边商品情况下购买右边商品的可能性,另一种是任意情况下购买右边商品的可能性。

两种可能性比较方式可以定义为两种可能性的概率之差比。

P(B|A)/P(B)

计算过程:

假设数据库中销售商品的交易次数为1000次,在这些交易中购买尿布的交易量为200次,购买啤酒的交易量为50次,同时购买尿布和啤酒的交易量为20次。

那么规则:

{尿布}→{啤酒}的提升度是多少?

(1)包含啤酒的交易次数占总交易次数的比例=50/1000=5%,

(2){尿布}→{啤酒}的信任度=20/200=10%,

(3)提升度=10%/5%=2。

(4)总结:

提升度高于1意味着当顾客购买了尿布,他们有较高的可能性去购买啤酒。

如果提升度小于1意味着啤酒本身就是一个畅销产品,并不是因为尿布的销售促进了其销售量。

2.3.3案例

问题分析:

银行提供的服务如下,现在根据客户数据分析客户组合消费的情况。

2.3.3.1数据描述:

数据集有7991个观测值,有3个变量

2.3.3.2总体流程图:

2.3.3.3步骤:

1、数据节点(右击)-〉编辑变量

2、运行图形探索节点,察看目标变量分布

3、关联节点主要有3个设置

最大项数:

数值越大,项目个数越大,计算复杂度越大,

最小置信水平:

区间是1-100,值越大,阀值越高,规则数量越少。

支持百分比:

区间是1-100,值越大,阀值越高,规则数量越少。

4、结果:

2.4聚类分析流程

2.4.1简介

聚类(Clustering):

不需要人为的对事物事先分好类,聚类是把具有相似性的事物放在一起,对事物分群。

利用数据挖掘技术来聚类事物,不需要训练集。

聚类演示图1-6所示。

2.4.2聚类方法和术语

2.4.2.1层次聚类方法

对于点间距离的计算,“聚类”节点仅提供欧几里得距离。

关于类间聚类的计算,提供如下三种:

1、类平均法

通过规定选项METHOD=AVERAGE得到。

两类间的距离定义为

如果

组合公式为:

在类平均法中,两类之间的距离是观测对之间的平均距离。

类平均法趋向于合并具有较小偏差的类,而且稍微有点倾向于产生相同方差的类。

类平均法首先由Sokal和Michener(1958)提出。

2、重心法

通过制定选项METHOD=CENTROID得到。

两类间的距离定义为:

如果

组合公式为:

在重心法中,两类之间的距离为它们的重心或均值之间的(平方)欧氏距离。

重心法在处理异常值上比其它谱系方法更稳健,但是在其它方面不如Ward或类平均方法的效果好(Miligan1980)。

重心法由Sokal和Michener(1958)提出

3、Ward最小方差法或者Ward离差平方和法

通过制定选项METHOD=WARD得到。

两类间的距离定义为:

如果

/2则

组合公式为:

在Ward离差平方和方法中,两类之间的距离是两个类对所有变量的ANOVA平方和。

在每次合并时,比如把Ck和CL合并为CM时,选择这样的两个类,它们使得合并为CM后类内平方和的增加

为最小。

这时,增量

除以总离差平方和T的比值(即半偏R2)的统计意义是容易解释的。

Ward方法在以下假设下合并类,使得在谱系的每个水平上似然值最大化:

●多元正太混合型;

●等球形协方差矩阵;

●等抽样概率。

Ward方法趋向于合并具有少量观测的类,并倾向于形成具有大约相同数目观测的类。

它也对异常值很敏感(Miligan1980)。

Ward(1963)描述了包括离差平方和方法在内的一组谱系聚类方法。

其中:

T:

表示所有观测的总离差平方和。

2.4.2.2K-MEANS聚类方法

K-means聚类算法的一般步骤:

初始化。

输入基因表达矩阵作为对象集X,输入指定聚类类数N,并在X中随机选取N个对象作为初始聚类中心。

设定迭代中止条件,比如最大循环次数或者聚类中心收敛误差容限。

进行迭代。

根据相似度准则将数据对象分配到最接近的聚类中心,从而形成一类。

初始化隶属度矩阵。

更新聚类中心。

然后以每一类的平均向量作为新的聚类中心,重新分配数据对象。

反复执行第二步和第三步直至满足中止条件。

K-means聚类算法评价:

K-means聚类算法对初始聚类中心依赖性比较大,随机选取初始聚类中心的缺点是如果使得初始聚类中心得到的分类严重偏离全局最优分类,这样算法可能会陷入局部最优值。

而且当聚类数比较大的时候,这种缺点更为明显,往往要经过多次聚类才有可能达到较满意的结果。

Yeung等提出了采用均连接层次聚类结果初始化K-means聚类中心。

此方法有效地排除了随机初始化过程中引入的随机性因素,使得算法成为确定性的,可以得到稳定的聚类结果;而且,这种初始化方式也能够利用数据中的类结构信息,使得聚类质量相对于随机初始化时的平均质量有显著的提高。

2.4.2.3SA-EM聚类节点工作原理

上图红色部分标出部分是SAS-STAT和SAS-EM模块提供的聚类分析工具。

在SAS-EM模块中,聚类分析工具在“探索”标签中,其中的“聚类”节点封装了K-MEANS方法和层次分析法,“SOM/Kohonem”节点不但可以实现自组织聚类方法,还可以实现变量降维功能。

本模型实用“聚类”节点作分析。

一般情况下,层次分析法聚类效果好。

而且提供的检验指标较丰富,交互性较高,通过对层次树和指标的分析可以得到理想的分类数和分类比例。

但是层次分析法计算复杂性高、速度慢,难以用于分析大型数据。

K-Means方法计算复杂性低、速度快,但是路径依赖较强,对于初始值的设置和初始样本的选取均不稳健,难以获得高质量的分类。

为了得到及稳健又快速的聚类结果,“聚类”节点将两种聚类方法相结合。

“聚类”节点的工作原理如下:

首先使用K-Means方法对样本数据进行快速划分,划分的数量为用户设置的“初阶最大值”。

然后,在初步划分的基础之上使用层次方法聚类,并且提供三种方法共用户选择,分别是类平均法、重心法和Ward最小方差法。

并提供CCC图供用户选择理想聚类数用。

但是该方法没有提供偏R方、伪F、伪T统计量图作参考,轮廓系数(silhouette coeficience)评估聚类结果的优劣。

2.4.2.5聚类分析需要注意

聚类分析对分析的输入变量高度依赖,这主要表现在两方面:

1、对输入变量的意义敏感。

聚类结果的可解释维度范围取决于输入变量的选取维度,不可能产生新的维度。

而且,输入变量如果是不同层次或者是不同性质的变量时,其聚类结果不稳定,而且难以解释。

所以这要求每次聚类分析使用的变量应该是一个层面之上的,并且是完整的。

比如宏微观属性最好分别聚类,每次聚类要提供全面的维度数据。

2、对输入变量的形式敏感:

不同单位的输入变量会产生不同的距离,从而具有不同的权重。

比如距离指标的度量单位如果由千米改为米,则在聚类分析时,其权中将会明显提高。

综上所述,本模型构建分为两个步骤,首先是数据清理,其次是根据宏观属性划分分析样本数据,最后再分别使用微观数据进行聚类分析,流程示例如下:

2.4.3案例

2.5预测和分类模型流程

2.5.1简介

分类(Classification)和预测(Prediction):

事先人为的对事物分好类,通过数据挖掘技术选择训练集,在此训练数据集上应用数据挖掘分类技术,建立分类模型,然后在对没有分类的数据进行分类。

分类和预测在技术上有共性,仅目标变量的数值类型有差别,其中分类模型的目标变量限定为非连续变量,包括二分变量、名义变量和等级变量;预测模型的目标变量限定为连续变量。

常用的方法有逻辑回归(LogisticRegression)、决策树(DecisionTree)、神经网络(NeuralNetwork)。

专用于分类的模型还有判别分析(DiscriminateAnalyze),专用于预测的模型还有时间序列分析,SAS-EM模块对这两种方法支持力度不高,这里我们不涉及。

2.5.2预测和分类方法介绍

2.5.2.1决策树技术说明

决策树是一种根据自变量的值进行递归划分以预测因变量的方法。

种类:

分类树:

因变量为分类变量,训练准则可以基于基尼系数和熵,评估准则有误分类率提升度等;

回归树:

因变量为连续变量,训练时同样选择不纯净性下降幅度最大作为标准,评估方法一般使用均方误差或高组别最大平均值法。

优点:

●预测规则的表现形式易于理解;

●不需要对解释变量进行调整:

仅依赖于自变量的排序,不需要进行函数变化以调整其分布形式;而且对解释变量的测量误差和异常值是稳健的;

●不需要进行解释变量的缺失值填充;

缺点:

●难以检验解释变量线性或非线性组合对被解释变量的影响;

●基于局部贪婪算法难以获得全局最优,而且基于每次抽样的样本不同,树的结构往往很不稳定;

●用回归树做预测时,无法做到模型外预测。

2.5.2.2回归技术说明

经典假设:

线形关系—待估计的参数和被解释变量为线形关系;

满秩—解释变量不存在完全的线性关系;

正态分布—残差服从正态分布;

球面分布—残差的方差-协方差矩阵为单位矩阵。

估计方法:

最小二乘法—由残差最小化推导而来;

极大似然法—使用样本数据拟合给定的残差分布形式,获得最大化似然函数的参数方法;

矩估计法—通过假设样本矩等于总体矩的方法得到参数估计。

模型选择方法:

向前—从最小模型开始,每次回归放入一个解释力度最大的变量,直至剩余的变量都没有显著的解释意义

向后—从最大模型开始,每次回归除去一个解释力度最小的变量,直至剩下的变量都有显著的解释意义;

逐步—结合上述两个步骤。

选择准则:

其中有3个选项和线性模型相关

Akaike信息准则(AIC)—正态假设下的AIC=2k+nⅹLn(RSS/n),k为参数个数,n为观测数,RSS为残差平方和

Bayesian信息准则(BIC)—正态假设下的BIC=Ln(n)ⅹk+nⅹLn(RSS/n)

验证误差—模型残差的平方和,该值越小,表明拟合程度越高。

拟合优度:

R2—定义为1-RSS/SST;

调整的R2—定义为1-((n-1)/(n-k))(1-R2)

2.5.2.3神经网络技术说明

一个最简单的多层前馈神经网络包括如下图所示的三层结构,分别是输入层、隐藏层和输出层。

特点:

输入层的神经元个数不受限制;

隐藏层的神经元个数不受限制;

在隐藏层中,基于欧式距离的平方计算加权后的距离;

隐藏层的赋活函数为指数形式;

输出层是隐藏层的线形函数;

输入层和隐藏层、隐藏层和输出层之间均有连接

网络结构形式:

广义线形模型—没有隐藏层,等价于回归分析,结果完全相同;

多层感知、一般径向和正规径向等—默认具有单个隐藏层,不同方法所使用的赋活函数不同。

目标函数和扰动项分布形式:

正态分布;均匀分布;Cauchy分布等。

神经网络输入项处理的注意事项:

神经网络相对于回归而言确实更稳健,容错能力更强,更智能。

往往被粗放的使用,导致难以预料的结果出现。

一下是神经网络使用的注意事项:

1、数据抽样:

神经网络在运行时需要耗用大量内存,而且所用空间与样本量大小呈指数变化。

如果数据量较大,可以采取抽样的方法。

如果抽样具有代表性的话,得到的模式可以推广到整体。

2、仅纳入重要变量:

输入变量的数量决定了输入层神经元的多少,而单个隐藏层的神经元约定于两倍的数量。

较少数量的输入会明显提高神经网络的训练效率。

20-30的输入变量可能比上百个输入变量更有效。

在使用神经网络节点之前,是用探索节点或在EG中做好统计分析是比较好的方法。

如果根据专业知识直接筛选输入变量是一种更为有效的方法。

也有一些其它替代方法,比如使用变量筛选节点或变量聚类节点对数据作筛选。

MLP网络对于非相关变量较RBF网络有更好的稳健性。

3、变量转换:

除了线形神经网络之外,其他神经网络没有对变量的分布有特殊的要求。

不像线形回归那样要求扰动项服从条件正态分布。

但是和线形回归一样,神经网络也需要对变量进行适当的转换。

之所以这样做,也是在于对残差的分析,但是原因不同。

比如预测公司收入时,假设预测值是5,而真实值是10,和预测值是1005,而真实值是1000,虽然偏差都是5,但是预测精度差别很大,不应该给与相同的权重。

而采取自然对数变换之后,近似的表示为百分比的变化,两个的偏差分别为50%和0.5%。

这对找到合理的模型是有利的。

4、极端值剔除

神经网络中输入变量的极端值也会破坏预测模型的整体效果,如同在回归,极端值赋予了过大的权重。

5、缺失值处理:

神经网络和回归一样,都不能处理缺失值。

可以通过补缺节点完成这项工作。

该节点提供了按变量类型区分的多种填充方式,可以根据具体情况选取。

需要注意的是,用中值或高频替代法可能改变原有的分布状况,用树替代的方法会导致模型过渡拟和。

对于缺失值比例较大的变量不建议采用填充操作。

这个度由研究者自己把握,不过一般情况下缺失20%-30%是可以接受的范围。

当缺失值较多时,建议同时生成该变量的缺失标志指标,比如缺失发生去不发生取0。

并同时纳入模型。

2.5.2.4预测和分类模型的SAS实现

SAS-EM中“建模”栏中的所有节点均可作分类和预测模型。

下图对各种方法作了分类。

◆神经网络:

手动设置多模型神经网络模块。

◆数据挖掘神经网络:

首先进行主成分分析,然后运算基于网格计算的神经网络。

特点是不受输入变量共线性影响,而且运算速度较一般神经网络快。

◆自动神经:

提供多项参数信息,以便于设置”神经网络”参数。

◆回归:

提供“向前”、“向后”、“逐步”法最小二乘回归。

◆DMINE回归法:

仅提供“向前”回归法,每步引入解释力度最大的变量。

该模型构造“全模型”(FullModel),考虑引入变量的高次项和交叉项。

◆LARS最小角度回归:

使用最小角度法(LeastAngleRegression)选择最优模型。

◆偏最小二乘:

基于主成分分析的最小二乘法。

◆决策树:

延用分类的思路,对需要预测的连续变量进行区间划分,所以预测值是分段的,不是连续的。

◆梯度Boosting:

样本自抽样决策树。

◆MBR基于记忆推理:

寻找K个最小距离的临域。

2.5.3分类模型结果检验

分类模型(Logistic回归、决策树、神经网络等)运行之后,通过ConfusionMatrix、ROC、Lift、Gini、K-S之类的指标进行模型检验,以评价其优劣。

2.5.3.1混淆矩阵(ConfusionMatrix)

一个完美的分类模型就是,如果一个客户实际上(Actual)属于类别good,也预测成(Predicted)good,处于类别bad,也就预测成bad。

但从上面我们看到,一些实际上是good的客户,根据我们的模型,却预测他为bad,对一些原本是bad的客户,却预测他为good。

我们需要知道,这个模型到底预测对了多少,预测错了多少,混淆矩阵就把所有这些信息,都归到一个表里:

预测

1

0

实际

1

d,TruePositive

c,FalseNegative

c+d,ActualPositive

0

b,FalsePositive

a,TrueNegative

a+b,ActualNegative

b+d,PredictedPositive

a+c,PredictedNegative

其中,

1.a是正确预测到的负例的数量,TrueNegative(TN,0->0)

2.b是把负例预测成正例的数量,FalsePositive(FP,0->1)

3.c是把正例预测成负例的数量,FalseNegative(FN,1->0)

4.d是正确预测到的正例的数量,TruePositive(TP,1->1)

5.a+b是实际上负例的数量,ActualNegative

6.c+d是实际上正例的个数,ActualPositive

7.a+c是预测的负例个数,PredictedNegative

8.b+d是预测的正例个数,PredictedPositive

根据混淆矩阵定义如下的比率:

准确(分类)率(Accuracy)=正确预测的正反例数/总数=(a+d)/(a+b+c+d)

误分类率(Errorrate)=错误预测的正反例数/总数=(b+c)/(a+b+c+d)=1-Accuracy

ROC图用到:

覆盖率((TruePositiveRate,orSensitivity))=正确预测到的正例数/实际正例总数=d/c+d

负例的覆盖率(TrueNegativeRate,orSpecificity)=正确预测到的负例个数/实际负例总数=a/a+b

LIFT图用到:

基准概率(pi1)=(c+d)/(a+b+c+d)

命中率(PositivePredictedValue,PV+)=正确预测到的正例数/预测正例总数=d/b+d

负例的命中率(Negativepredictedvalue,PV-)=正确预测到的负例个数/预测负例总数=a/a+c

预测成正例的比例(Depth)=proportionallocatedtoclass1=b+d/a+b+c+d=Ptp+Pfp,预测成正例的比例

提升率(Lift)=(d/b+d)/(c+d/a+b+c+d)=PV+/pi1)

以下是一个简单的实例,其中Score是模型打分,ActualGood/Bad是实际的情况。

Score

ActualGood/Bad

50

Bad

60

Bad

70

Bad

80

Bad

90

Good

100

Bad

110

Bad

120

Good

130

Bad

140

Bad

150

Good

160

Good

170

Good

180

Good

190

Bad

200

Good

210

Good

220

Bad

230

Good

240

Good

250

Bad

260

Good

270

Good

280

Good

290

Good

300

Good

310

Good

320

Bad

330

Good

340

Good

其中的分隔点为175

 

 

Predict

 

 

 

1

0

 

Actual

1

d,TruePosi

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 医药卫生 > 预防医学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1