1 / 80

第二讲:消费者响应预测模型

第二讲:消费者响应预测模型. 主讲:梁满发. 数据挖掘工作意图.   数学挖掘工作意图是揭示海量数据中的隐蔽规律,以预测目标顾客、风险控制、欺诈模式识别等工作为主要目的。. 做好数据挖掘工作需要准备好三件事: (1)定义好问题 …… 谁是目标消费者? (2)高质量的历史数据 …… 几年的客户购买记录 (3)一个强大的建模工具 …… 数据挖掘软件. 数据挖掘工作流程. 建模. 模型评估. 定义问题. 抽样. 定义数据属性. 预测或计算得分. 数据探测. 数据清冼. 分析报告. 问题背景.

Download Presentation

第二讲:消费者响应预测模型

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 第二讲:消费者响应预测模型 主讲:梁满发

  2. 数据挖掘工作意图   数学挖掘工作意图是揭示海量数据中的隐蔽规律,以预测目标顾客、风险控制、欺诈模式识别等工作为主要目的。 做好数据挖掘工作需要准备好三件事: (1)定义好问题 ……谁是目标消费者? (2)高质量的历史数据 ……几年的客户购买记录 (3)一个强大的建模工具 ……数据挖掘软件

  3. 数据挖掘工作流程 建模 模型评估 定义问题 抽样 定义数据属性 预测或计算得分 数据探测 数据清冼 分析报告

  4. 问题背景 假如你为一个邮购公司工作。公司为了配合销售活动,希望每月发送家具和家用器品产品目录给潜在消费者,内容包括厨房用具、碗碟和餐具产品的目录。假如向全部消费者寄送费用太贵,必须选择购买该类产品概率较大消费者邮寄。现在如何确定一份待邮寄名册?我们将通过建立消费倾向模型,使用数据挖掘工具来确定邮寄名单和分析活动效益情况。 假如你有一个珍贵的顾客购买记录数据。这个数据包括能显示顾客过去两年是否购买过厨房用具、碗碟和餐具等信息。数据文件名为CUSTDET1,它包括了如下49个变量和标签: His/Her Apparel Jewelry Purchase Date 1st Order Telemarket Order Account Number State Code Race Heating Type Number of Cars Number of Kids Travel Time Education Level Job Category Purchase Dollars Spent Yearly Income Home Value Order Frequency Recency Married Name Prefix Age Sex Telemarket Ind. Rents Apartment Occupied <1 Year Domestic Product Apparel Purchase Leisure Product Luxury Items Kitchen Product Dishes Purchase Flatware Purchase Total Dining (kitch+dish+flat) Promo: 1-7 Months Promo: 8-13 Months $ Value per Mailing Country Code Total Returns Mens Apparel Home Furniture Lamps Purchase Linens Purchase Blankets Purchase Towels Purchase Outdoor Product Coats Purchase Ladies Coats Ladies Apparel

  5. 分析 问题目标: (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变量不能作为预测目标变量自变量,因为它们是共线性的。

  6.   我们的数据是由更大的客户数据库中用重抽样法抽取的,为了有足够的样本做建模分析,使Dining变量响应值(即为1的值)在样本中的比例近54%,这与现实中客户比例不合。因此,在建模中我们需要调整样本的权重,现实中响应比例是12%。  我们的数据是由更大的客户数据库中用重抽样法抽取的,为了有足够的样本做建模分析,使Dining变量响应值(即为1的值)在样本中的比例近54%,这与现实中客户比例不合。因此,在建模中我们需要调整样本的权重,现实中响应比例是12%。   抽样数据观察记录为1996个,作为统计推断和建模分析精度足够,数据没有缺损值,完整性好。没有太多的齐异数据,基本可认为数据可靠。通过数据的探索分析,可以发现有变量同目标变量存在相关性,因此,可以考虑通过建立目标变量与其它变量的回归模型、决策树模型和神精网络模型来预测目标变量。

  7. 创建数据挖掘项目 调用SAS数据挖掘功能 创建数据挖掘项目 创建数据挖掘流程 在Dining List中选择Untitled,并输入Propensity名。

  8. 节点栏 工具窗 报告窗按扭 项目管理窗 工作窗

  9. 流程图 分割数据集 设置数据属性 缺损值处理 输入数据 预测数据集 数据变换 模型代码及运行 探测数据 决策树模型 观察预测结果 回归模型 分析报告 模型评估

  10. 数据挖掘的第一步就是确定样本数据,数据的角色,变量的模型中角色和数据类型。一般来说,用户数据仓库中的数据可能是海量的,如果全部用来建模分析,则运算十分耗时。只要我们才取好的抽样方式,抽取几百样本就足够保证统计推断精度,因此,第一步要抽取样本。数据挖掘的第一步就是确定样本数据,数据的角色,变量的模型中角色和数据类型。一般来说,用户数据仓库中的数据可能是海量的,如果全部用来建模分析,则运算十分耗时。只要我们才取好的抽样方式,抽取几百样本就足够保证统计推断精度,因此,第一步要抽取样本。   另外,为建模需要,我们要确定数据角色,即训练集用来拟合模型;效验集用来检验模型误差,以便减少过度拟合情况,增加模型的稳建性;测试集用来得到模型参数的一致有效估计无偏估计;得分集作为待预测的数集,应该没有响应变量的值。我们要事先确定数据角色。   变量的模型角色分为目标变量、输入变量、时间变量和标识变量,在建模之前必须分配每一个变量的模型角色,但模型角色是与数据类型有关联,例如,目标变量可以是二值变量和区间变量,其它变量不行。对回归模型来说,二值变量只能用LOGISTIC模型,它是预测响应发生的概率。

  11. 定义源数据 Input Data Source节点属于Sample类数据挖掘过程。用它来确定你的源数据和指定输入变量的属性。关闭节点后,数据集的名字成为节点的名字。 选择数据库和数据集 等间隔变量(连续变量)栏 定义数据角色,全程不变。数据分为五个角色: RAW:原始数据; Training :训练数集; Validation:校验数集; Test :测试数集; Score :得分数据集。 确定抽样数,默认为2000个样本 分类变量栏

  12. 输入变量,为模型中的自变量 顺序变量 Dining=Kitch+dish+flat 连续变量,能计算距离,比例。 不参加建模分析 名义变量 ID角色,记录标识 目标角色,预测对象,全流程唯一 二值变量 注:可以改变模型角色、变量测度。

  13. 描述统计量 它可用来数据 初步清先。例如, 数据含有不合理 的值吗? 分布特性如何?

  14. 数据探测 利用Insight节点能交互式的探测数据。用它能分析单变量和多变量分布,能画散点图和箱形图,能对结果浏览和研究变量相关性等工作。还能通过方差分析、回归分析和线性模型来解释模型。 随机抽样的“随机种子数”

  15. Dining变量值从0至28,是三种产品购买量和,我们是要预测具有购买欲望的潜在消费者,因此,只要购买过的消费者都是目标消费者。在此,需要把它Dining变量转换成二值变量,即1表示购买,0表示不购买。Dining变量值从0至28,是三种产品购买量和,我们是要预测具有购买欲望的潜在消费者,因此,只要购买过的消费者都是目标消费者。在此,需要把它Dining变量转换成二值变量,即1表示购买,0表示不购买。

  16. 统计图分析

  17. 变量转换 • Transform Variables节点能通过旧变量产生新变量。 • 软件提供的变换方法: • 简单变换:取对数、开方、求倒数、平方、指数化和标准化; • 分割变换:分割、分位数、最优分割; • 最优幂变换:最大正态化、最大相关化、目标水平均等化; •   你可以在Customize window中建立自己的变换公式。 我们产生一个新变量DINBEIN: 当Dining>0,则DINBEIN=1; 当Dining=0,则DINBEIN=0;

  18. Transform Variables Toolbox Transform Variables – 使用软件提供的变换公式创建一个新变量 Create Variable – 使用Create Variables window 创建自定义变换 Delete Variables – 删除变换后的新变量,但不能删除原变量。

  19. 原数据变量窗口 数值键板 运算符面板 自定义变换公式 函数窗

  20. Training – 用来拟合模型的数据集. • Validation – 用来评估模型和模型调整的数据集。 • Test – 用来获得最终模型误差的无偏估计。 • Score – 得分数据集,可以包括目标变量,也可以不包括。

  21. 分割 • 分位数(Quantile)用来划分频数相同的组。 • 分割(Bucket)为等间隔区间,每组间的样本数不一定等。 • Optimal Binning for Relationship to Target:把变量分成n组,使分组后变量与目标变量相关系数最大。适合在二值变量与输入变量之间存在非线性关系的情况。 Maximize normalityPower Transformation : 变换后变量最接近正态分布。 Maximize Correlation with Target Power Transformation : 变换后变量与目标变量线性相关系数最大,适合区间目标变量。 Equalize Spread with Target Levels Power Transformation :变换后变量与目标变量具有方差稳定性。 选择x、log(x)、x1/4、sqrt(x)、x2、x4、ex中之一作为变换式

  22. 在建模前,我们除了要定义变量模型角色、数据类型外,还必需定义决策成本、收益信息,即决策函数。在商业智能中,分析模式都是商业决策模型。例如,消费响应预测、信用等级评估和商品关联描述等模型。在建模前,我们除了要定义变量模型角色、数据类型外,还必需定义决策成本、收益信息,即决策函数。在商业智能中,分析模式都是商业决策模型。例如,消费响应预测、信用等级评估和商品关联描述等模型。   在本问题中,我们要定义DINBEIN为目标变量,是二值变量;放弃与它共线性的四个变量。依据邮送成本收益和原总体响应比例情况,定义决策矩阵和先验概率。   数据集属性节点能完成上述任务。

  23. 设置数据集属性   它能修改数据属性。例如,数据集名、描述、角色。也能修改样本信息,例如,变量角色、测度水平。在变量表中可以定义目标变量框架。 预测模型需要定义唯一的目标变量和多个输入变量,模型评价需要定义目标变量的决策矩阵和样本权重,预测需要定义DI变量。

  24. 决定变量是输出还是不输出 修改变量角色 修改变量测度 变量表 本次数据挖掘工作: (1)把Dining、Kitch、dish、flat四个变量角色改为Rejected,DINBEIN变量角色改为Target。 (2)把DINBEIN变量测度改为binary。

  25. 定义目标变量框架 成本收益假设: (1)制作、印刷和邮寄一份产品目录成本10元; (2)若正确预测,即邮寄一份,顾客将来购物,每顾客平均花费90元,即赢得利润80元;若预测不正确,即邮寄一份,但顾客未来购物,此时亏本10元。 编辑目标框架

  26. 评估信息,即定义决策目标函数 先验概率定义 注:由于目标变量值较少,仅在总体中占12%,但为了有足够训练目标值,在数据库中对样本进行了重抽样,产生了足够多的目标值,占样本中的54%左右,为此建模需要加权处理。

  27. 数据分割 为了拟合模型需要定义一个训练数据集;为了保证模型的稳健性,需要定义效验数据集评估模型,决策稳建模型;为得到模型参数的一致最小无偏估计,需要定义测试数据集。它们均来自样本的随机抽样的互斥数据集。 Data Partition节点将输入数据分割为下列互斥数据: • Training – 用来拟合模型的数据集. • Validation – 用来评估模型和模型调整的数据集。 • Test – 用来获得最终模型误差的无偏估计。

  28. 前面过程输入的数据 只有观察数据的角色、测度等信息,不能改变。

  29. 简单随机抽样 分层抽样 自定义数集 将总体分成若干个层,指定每层样本数,在每层中进行简单随机抽样,得到的总样本,这种抽样方式称为分层抽样。    自定义数集就是指定具有标志的分割数据集变量作为分割变量,依据此变量将输入数据分为训练集、效验集、或测试集。

  30. 观察结果

  31. 缺失值处理 Replacement节点用来处理缺失值。缺失值是不能用来回归建模和神精网络建模。若用放弃所有的缺失值的样本来估计,可能会得有偏估计模型。使用适当的缺失值处理方法有利得到更准确的预测。 本例中DINBEIN没有缺失数据,可以省掉此过程。

  32. 现实调查、观察和记录难免产生缺失数据,可是缺失数据经常会影响模型的精度。例如,不回答者可能就是不赞成者,若你把他们全排除,你的模型结论可能出现严重偏差。因此,在建前应该仔细研究缺失数据的情况和原因,采取全适的方法处理,尽量减少缺失数据可能对模型影响的程度。现实调查、观察和记录难免产生缺失数据,可是缺失数据经常会影响模型的精度。例如,不回答者可能就是不赞成者,若你把他们全排除,你的模型结论可能出现严重偏差。因此,在建前应该仔细研究缺失数据的情况和原因,采取全适的方法处理,尽量减少缺失数据可能对模型影响的程度。 Replacement节点专门处理缺失数据的功能模块,但处理缺失数据的方法很多,要选择合适的方法,不仅需要专业统计知识,更需要熟习数据采集情况,要了解产生缺失数据的原因。   在本例中没有缺失数据,因此,可以不要此过程。 回归模型建模之前需要处理缺失数据,决策树模型不需要,自动把缺失数据归于一类。

  33. 选择具备一定角色的数据集 随机抽样补缺

  34. 使用Defaults栏指定方法: • 在处理缺失值之前指定缺失值代替方法。 • 用得分集代替不清楚类变量的值。 • 对每一个变量创建带有标志的处理变量来处理观察值。 • 类变量统计处理方法: • 最大频率法 • 基于分布法 • 树支处理法 • 树支首规则处理法 • 常数法 • 无处理 对区间变量处理缺失值统计方法: Mean……均值法              Median……中位数法  Midrange……极值的中间值法         Distribution based……基于分布法  Tree imputation……树支处理法        Tree imputation with surrogates……树支首规则处理法  Mid-minimum spacing……中间平均值估计法  Tukey‘s biweight……Tukey加权法  Huber‘s……Huber加权法           Andrew‘s Wave……Andrew波动法  Default constant……常数法          None……不处理

  35. 树模型 一个完整的树是指通过一系列简单规则分割数据。每一个规则就是根据某变量值将样本分给一个数据块,在数据块内一个规则接一个规则应用,将数据块分为更细的数据块。层次称为树,每块数据称为节。原始数据称为根,具有多个后续节的节称为支,最终节称为叶。每一个叶为对全部样本的一个决策结果,它依赖上下文,这种预测模型称为决策树模型。

  36. F检验,使叶间方差与叶内方差比足够大。 减小节点平均值的均方误 减少熵值,提高节的纯度 减小Gini值,提高节的纯度。 显著性水平,不宜太高 分支标准设置

  37. 节中保证的最少观察数 在每节中替补值个数

  38. 树节点支持下列模型评价标准: 区间目标变量: Profit or loss –平均利润最大,或平均损失最小。 ASE –最小平均误差。 Average, profit, or loss in the top 10, 25, or 50% --对n%顶部样本最大平均利润,或最小平均损失。 顺序目标变量: Proportion misclassified –最小错判率。 Ordinal-proportion correct, profit, or loss –最好的秩序正判率。 Proportion of event, profit, or loss in top 10, 25, or 50% --在数据n%的顶部最大利润或最小损失。 Total Leaf Impurity (Gini Index) – 最大叶内纯度(最小Gini指数)。 二值或名义目标变量: Proportion misclassified –误判比例最小。 Profit or Loss –最大平均利润或最小平均损失。 Proportion of event, profit, or loss in top 10, 25, or 50% --对n%顶部样本最大平均利润,或最小平均损失。 Total Leaf Impurity (Gini Index) --最大叶内纯度(最小Gini指数)。

  39. 分支法则: • 最好的评估值 • 最多叶 • 最少有n叶的最大支 足够样本分裂 全部样本分裂 给出树的最多层次 给定P值,即显著性水平 给出有效变量数,避免过多的自变量

  40. 本例设置

  41. 运行结果

  42. 例如,得分前10%的样本中有19%左右的响应,高于12%;在得分前20%中有20%左右的响应。例如,得分前10%的样本中有19%左右的响应,高于12%;在得分前20%中有20%左右的响应。 例如,得分前10%的样本中有捕获了全部响应的16%左右;在得分前20%中捕获了全部响应的32%左右。

  43. 若提取得分前10%样本,则比不使用模型捕获率提高1.58倍。若提取得分前10%样本,则比不使用模型捕获率提高1.58倍。 若对得分前20%的消费者邮寄产品册,这项活动则获得每个样本的平均利润7.5元左右。

  44. 若对得分前20%的消费者邮寄产品册,这项活动则获得投资回报率0.75。若对得分前20%的消费者邮寄产品册,这项活动则获得投资回报率0.75。

  45. 回归模型 Regression节点能建立线性模型和logistic模型。线性回归模型是用一个或几个输入变量的线性函数预测连续型的目标变量的值;Logistic回归模型是用一个或几个输入变量函数预测分类目标变量有利事件发生的概率。

  46. 回归模型的类型: (1)线性模型 (2)Logistic模型 Logistic回归函数: (1)Logit: (2)CLOGLOG: (3)PROBIT:

  47. 回归方法: (1)Backward – 后退法 (2)Forward – 前进法 (3)Stepwise – 逐步回归法 交互作用

More Related