《SPSS Modeler 建立线性回归模型》由会员分享,可在线阅读,更多相关《SPSS Modeler 建立线性回归模型(11页珍藏版)》请在金锄头文库上搜索。
1、Modeler 建立建立线性回归模型示例线性回归模型示例 线性回归模型是一种常用的统计学模型。IBM SPSS Modeler 是一个强大 的数据挖掘分析工具, 本文将介绍如何用它进行线性回归预测模型的建立和使 用。 在本文中,将通过建立一个理赔欺诈检测模型的实例来展示如何利用 IBM SPSS Modeler 建立线性回归预测模型以及如何解释及应用该模型。 回归分析(Regression Analysis)是一种统计学上对数据进行分析的方 法, 主要是希望探讨数据之间是否有一种特定关系。线性回归分析是最常见的 一种回归分析, 它用线性函数来对因变量及自变量进行建模(自变量和因变量 都必须是连
2、续型变量), 这种方式产生的模型称为线性模型。线性回归模型由 于其运算速度快、直观性强以及参数易于确定等特点, 在实践中应用最为广 泛,也是建立预测模型的重要手段之一。 IBM SPSS Modeler 是一组数据挖掘工具,通过这些工具可以采用商业技 术快速建立预测性模型, 并将其应用于商业活动,从而改进决策过程。在后面 的文章中,将通过一个理赔欺诈检测的实际 商业应用来介绍如何用 IBM SPSS Modeler 建立、分析及应用线性回归分析模型。 用线性回归建立理赔欺诈检测模型用线性回归建立理赔欺诈检测模型 在本例中,用于建立模型的数据存放在 InsClaim.dat 中,该文件是一个 C
3、SV 格式的数据文件, 存储了某医院以往医疗保险理赔的历史记录。该文件 共有 293 条记录,每条记录有 4 个字段, 分别是 ASG(疾病严重程度)、 AGE(年龄)、LOS(住院天数)和 CLAIM(索赔数额)。 图 1 显示了该 数据的部分内容。 图图 1. 历史理赔数据文件历史理赔数据文件 任务与计划任务与计划 基于已有的数据,我们的任务主要有如下内容: 建立理赔金额预测模型,该模型将基于病人的疾病严重程度、 住院天数及年龄预测其索赔金额。 假设模型匹配良好,分析那些与预测误差较大的病人资料。 通过模型来进行索赔欺诈预测。 根据经验及对数据进行的初步分析(这个数据初步分析可以通过 IB
4、M SPSS Modeler 的功能实现,此处不是重点, 故不做深入介绍),可以猜测理 赔金额与疾病严重程度、住院天数以及年龄存在线性相关关系,因此我们将首 先 选用线性回归模型进行建模,因此可以得到下面这样一个初步计划: 应用线性回归分析来建立模型。 如果模型匹配度不佳,则可能应用更加复杂的模型,例如神经 网络、规则推导等。 基于上面的分析,我们容易得到目标模型的因变量为 CLAIM,自变量为 ASG、AGE 和 LOS。在建立模型之前,我们可以 对该模型进行一些猜测, 以下是根据经验能想到的一些假设: 随着住院天数的增加,索赔金额增加 随着疾病严重程度的增加,索赔金额增加 随着年龄的增加,
5、索赔金额增加 在建立好模型后,我们会根据模型来验证或推翻这些假设。 用用 IBM SPSS Modeler 创建创建 stream 文件文件 根据任务要求,我们在 IBM SPSS Modeler 中建立如图 2 所示的 stream 文件。在该 stream 中,InsClaim.dat 作为数据源节点, 它通过一个 类型节点(type)进行数据处理后输入到模型节点(CLAIM),在本例中,输 出节点(table)作为一个测试节 点,可以用于查看类型节点处理后产生的数 据。 图图 2. 理赔预测模型理赔预测模型 stream 示例图示例图 设置类型(设置类型(type)节点)节点 从前面的分
6、析可见,CLAIM 是因变量,在类型节点中须作为目标变量 (Target),而其余三个字段(ASG、AGE 和 LOS) 则是自变量,在类型 节点中须设置为输入变量(Input)。 需要注意的是,在线性回归分析模型中,要求所有变量(包括自变量和因 变量)都是连续类型。 如果数据中有非数字类型,比如 Category 或者 Flag,则需要预先转换为数字型。图 3 显示了类型节点设置的具体情况。 图图 3. 类型节点设置图类型节点设置图 模型节点设置模型节点设置 在设置好类型节点后,我们可以双击 CLAIM 节点,对模型节点进行设 置。首先设置 Model 标签页中的选项。 从图 4 可以看到设
7、置的具体信息, Model Name 有自动和定制两种类型,在自动方式下,模型名称自动设置 为 目标变量的名字(CLAIM)。本模型的输入信息并没有分组,因此 Use partitioned data 和 Build model for each split 的选择与否并无关系。Method 选项将选择输入字段的选择方式,由于本例中的输入字段较少,可以使用默认 的 Enter 模式。 在字段较多的情况下,可以选择 StepWise、Forward 和 Backward 中的一种,它们会采用不同的统计学方式对输入字段进行筛选。 Include constant in equation 选项表示模
8、型中是否包含常量(即截距),在本 例中,由于每次理赔会有一个起始额度,因此选中该选项。 图图 4. 模型节点的模型节点的 Model 页设置图页设置图 在 Expert 页中可以设置一些模型的高级选项。在我们选择了专家模式 后,可以设置两个选项内容: Missing Values 当选中该选项,会忽略那些含有 Missing Value 的记录。 (默认选项,通常应该使用这个选项,除非你非常 有经验,清楚知道 Missing Value 对该模型的影响) Singularity tolerance 用来防止相关变量影响模型准确 度。 该值越小,表示相似性越高,也就说明排除的可能性越低。有 些统
9、计师倾向于把 该值设置的稍大,比如 .05(在本例中 是 .0001) 在点击 output 按钮后还可以选择输出的选项,这里不加以详细描述。 运行模型运行模型 在模型节点的编辑页面中点击 Run 按钮即可运行(也可以关闭设置后通 过菜单和工具栏运行), 运行后将产生一个 Nugget,Nugget 是 IBM SPSS Modeler 对生成模型的称呼。双击该 Nugget 即可查看生 成模型的信息。图 5 显示了 stream 中产生的 Nugget 图。 图图 5. 运行模型生成的运行模型生成的 Nugget 模型分析结果模型分析结果 双击 Nugget 打开的生成模型信息中,首先查看
10、Analysis Summary 窗 口,这里可以看到模型的分析结果。 我们可以看到该模型的方程已经建立。但 是在关注模型方程之前,应该首先看看该生成模型是否是统计学显著的。 从该 模型的显著性分析可以看出(见图 6),该模型的显著几率 0.0005,可以说 非常显著,因此生成的模型具有统计学意义。 图图 6. 生成模型的显著性结果生成模型的显著性结果 让我们回头再看所生成的模型方程(见图 7),可以看出理赔预测模型方 程为: CLAIM(E) = ASG*417.2 - AGE*33.41 + LOS*1105.6 + 3026.8 图图 7. 生成模型的模型方程生成模型的模型方程 模型解释
11、模型解释 还记得我们在建模之前提出的假设么?让我们对之一一进行验证: 随着住院天数的增加,索赔金额增加 - YES 随着疾病严重程度的增加,索赔金额增加 - YES 随着年龄的增加,索赔金额增加 - NO! 从模型方程可以看出,索赔的金额随着住院天数和疾病严重程度的增加会 相应增加,然而,当年龄增加时, 理赔金额反而会下降。可能的原因是:1) 年龄越小,疾病越严重,因此理赔额越高;2)不同年龄段的医疗保 险政策不 同,年龄越长的客户保险公司给出的理赔金额越低。当然,具体的真正原因, 还要找领域专家确定。 预测因子之间的重要性也不尽相同,在统计学中,该重要性通过图 8 中的 Beta 检验值来确
12、定,具体规则是, 根据 Beta 值的绝对值排序,值越大,越 重要。由图 8 中可见,在理赔金额中,最重要的因素是住院天数,而 年龄因 素的重要性最低。这也是符合一般的常识的。 图图 8. 预测因子重要性及误差区间预测因子重要性及误差区间 另外一个需要考量的因素是误差区间,该区间决定了应该怎样去预测未来 的索赔金额是否合理。在图 8 中的 Unstandardized Coefficients 的 B 和 Std. Error 两列表示了一个预测区间,它的含义是 B-Std.Error, B+Std.Error 的区间具有 95% 的可信性。以住院天数(LOS)为例,它的 B 为 1105.6
13、46,Std. Error 为 103.6,这意味着如果住院天数每增加一天,那么理 赔增加的金额将落在 1105.646-103.6, 1105.646+103.6 区间上, 即增加约 1000 到 1200 元之间,其可信性度为 95%。反之,若碰到的客户索赔增加的 金额没有落在这个区间之内,那么 这种客户就有较大可能是索赔欺诈,那么工 作人员就应该仔细审查。 在做完了这些之后,我们还可以对已有的历史记录进行分析,找出以往数 据中的奇异点,以供领域专家进行分析。 找出奇异点找出奇异点 为了找出奇异点,我们可以创建一个 Derive 节点,让它的前向数据源为 生成的 Nugget,它要衍生出来
14、的字段名称为 DIFF,其数据值为实际的理赔额 和预测的理赔额之差,即: DIFF = CLAIM - $E-CLAIM 具体设置参见图 9。 图图 9. Derive 节点设置图节点设置图 观察 DIFF 数据,可以找出奇异点的数据,为了方便找出奇异点,可以使 用直方图来帮助查找,从图 10 中, 可以看出,实际理赔额处在 5000-7500 之间的数据为明显奇异点,应找领域专家来对这些数据进行具体分析。 图图 10. 用直方图帮助查找奇异点用直方图帮助查找奇异点 回页首回页首 结束语结束语 通过本文,您了解了如何通过 IBM SPSS Modeler 创建基于线性回归分 析的预测分析模型,并了解到如何设置、 创建、分析、理解和应用模型。这 样,您就可以通过 IBM SPSS Modeler 简易的数据流风格方便快速地创建和 应用一个模型。 本文中的理赔欺诈预测模型示例,用一个完整的流文件演示了怎样设置数 据数据;怎样设置模型参数; 怎样通过 IBM SPSS Modeler 提供的数据分析 和理解模型;并介绍了如何分析奇异点。通过此示例,您可以立刻就动手创建 自己的模型。