当前位置:首页 > SAS数据挖掘实例
确预测模型的隐含成本是非常重要的,因为错误的预测结果与真实结果巧合相同的概率太小了,我们更不应该存有这种侥幸心理。
在本例中,生产、印刷和邮寄一份宣传单的成本为$10; 每份宣传单的收入为$90;
这样的话,我们的预测将涉及到如下的产出:
正确的预测:发出目录,客户购买,平均利润为$80(90-10); 错误的预测:发出目录,客户没有购买,固定成本为$10;
任何模型的建立都必须考虑到正确的预测和错误的猜测所带来的不同结果,在应用一个预测模型之前,必须明确商业问题的成本结构及其对建模的含义。
EM提供了一种直接定义“收入—成本”矩阵的方法
(9) 单击Data Set Attributes窗口的Variables标签,找到DINEBIN
变量,右键单击变量所在行的New Model Role属性,在弹出菜单中选择Edit target profile,出现如下对话框,
选择“是”,将出现Target Profiles for DINEBIN窗口
其中,Profiles标签下面列出了每一个目标变量描述文件的简单描述和激活状态,当前的激活文件将在该文件前面的Use属性框中打“*”,当前只有一个默认的激活文件,名为Profile。
(10)单击Target标签,可以查看目标事件的定义,单击levels可以查看
不同事件的分布
(11)单击Assessment Information标签,出现默认的决策矩阵
(12)在左边对话框的空白区域的单击鼠标右键,选择Add,出现新增的名
为Profit matrix的新矩阵;单击该Profit matrix,在右侧的Name域输入Dining matrix,替换Profit matrix。
(13)单击Edit Decisions按钮,出现Editing Decisions and Utilities
窗口
(14)选择Maximize profit with costs,将Decision为1的Cost值改
为10;其他内容不变。关闭窗口,选择“是”保存修改。
此处修改Editing Decisions and Utilities的含义为:当DINEBIN值为1的时候,我们会发出邮件,那么我们的固定成本为$10;而当DINEBIN为0时,我们不发出邮件,那么成本为0。
当设置好成本矩阵后,我们接下来要做的是确定期望收入
在Target Profiles for DINEBIN窗口中,Name域下面的LEVEL矩阵中,行属性1代表有购买行为,0代表没有购买;列属性1代表有目录发出,0代表没有目录发出。所以,对于本例,LEVEL都为1时,表示有目录发出同时客户购买,那么按照前面我们分析过的目标变量的商业属性,此时将有$90的期望收入;当LEVEL的值都为0以及LEVEL行为0,列为1时,没有购买行为,所以将产生0收入;而LEVEL行为1,列为0时,表示没有订单发出却产生购买,这显然是个不合理的结论,所以保持它的值。
(15)将LEVEL都为1的矩阵框填入90,将LEVEL都为0的矩阵框中填入0,
其他值保持0不变。
(16)右键单击Target Profit matrix列表中的Profit matrix,选择Set
to use,在Profit matrix的前面将出现“*”
在Target Profiles for DINEBIN窗口中可能涉及到的最后一个设置是Prior标签。对于商业建模来说,我们要挖掘的数据量可能是非常巨大的,可能会涉及到抽样的过程,我们这里使用的CUSTDET1本身是对原有数据集的随机抽样,这种随机抽样可能会导致目标变量分布的改变。例如在本例中,总体数据中的目标变量占12%,而通过抽样得到的CUSDET1中,TARGET所占百分比达到了
共分享92篇相关文档