求spss求p值软件,student edition或full edition都可以

使用SPSS软件进行多因素方差分析_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
评价文档:
使用SPSS软件进行多因素方差分析
阅读已结束,如果下载本文需要使用
想免费下载本文?
你可能喜欢Amazon CAPTCHA
请输入您在这个图片中看到的字符:
& , , Inc. or its affiliatesIBM Bluemix
点击按钮,开始云上的开发!
developerWorks 社区
数据挖掘软件 IBM SPSS Modeler 中的脚本编写是用于在用户界面上实现过程自动化的强大工具。您使用鼠标或键盘进行的操作 , 借助脚本同样可以完成,而且使用脚本可以自动化那些手动执行将造成大量重复操作且高耗时的任务。本文详细介绍了 IBM SPSS Modeler 中的脚本编写语言及脚本编写命令的使用方法,给出具体示例讲解其在数据处理及算法建模自动化等过程中的应用,并进一步介绍如何通过批处理模式运行创建好的脚本以实现在无界面和无人工干预的情况下批量自动构建模型的过程。
, 软件工程师,
万荣红,现任职于 IBM 中国软件开发中心软件工程师,专注于 SPSS Modeler 和 SPSS Decision Management 产品的研究和测试工作。
, 软件工程师,
赵娜,现任职于 IBM 中国软件开发中心软件工程师,专注于 SPSS Modeler 产品的研究和测试工作。
, 软件工程师,
李华,2007 年加入 SPSS,先后任职于 IBM SPSS Data Collection 和 IBM SPSS Modeler Team,一直专注于产品功能测试和自动化测试,熟悉 Rational Functional Tester,Silk Test 等自动化工具。
免费下载: 或者 下载更多的 ,并加入 ,参与在线交流。数据挖掘软件 IBM SPSS Modeler 产品及产品族简单介绍IBM SPSS Modeler 是一组数据挖掘工具,通过这些工具可以采用商业技术快速建立预测性模型,并将其应用于商业活动,从而改进决策过程。SPSS Modeler 参照行业标准 CRISP-DM 模型设计而成,可支持从数据到更优商业成果的整个数据挖掘过程。IBM SPSS Modeler 的产品族包括以下几种产品:IBM SPSS ModelerIBM SPSS Modeler ServerIBM SPSS Modeler BatchIBM SPSS Modeler Solution PublisherIBM SPSS Text AnalyticsIBM SPSS Modeler 使用客户端 / 服务器体系结构将资源集约型操作的请求分发给功能强大的服务器软件,它是具有完整功能的产品,既可以在本机模式下独立运行,也可以与 IBM SPSS Modeler Server 一起联机使用,从而提高了对大数据集的处理速度。IBM SPSS Modeler Batch 可提供对 SPSS Modeler 完整分析性能的支持,而无需访问常规的用户界面 , 使用批处理模式执行长期任务或重复性任务。IBM SPSS Modeler Solution Publisher 发布和部署完整的 IBM SPSS Modeler 流, 将数据挖掘结果集成到业务过程中,以解决实际的问题。IBM SPSS Text Analytics 是一个 IBM SPSS Modeler 完全集成内插式插件,它采用先进语言技术和 Natural Language Processing (NLP),快速处理大量无结构文本数据,抽取和组织关键概念,以及将这些概念分为各种类别,并且可用于借助 SPSS Modeler 的一整套数据挖掘工具来进行建模,以此实现更好更集中的决策。本文将着重介绍 IBM SPSS Modeler 中的脚本编写功能及其应用于自动化那些手动执行将造成大量重复操作且高耗时的任务,并进一步介绍通过批处理模式执行 IBM SPSS Modeler 流,以实现在无界面和无人工干预的情况下自动构建模型和数据处理的过程。
脚本编写在 IBM SPSS Modeler 自动建模及数据处理中的重要性CRISP-DM(即“跨行业数据挖掘标准流程”的缩写)作为业界认可的用于指导数据挖掘工作的标准,其描述了数据挖掘的整个生命周期。数据挖掘的生命周期由六个阶段组成,分别是商业理解,数据理解,数据准备,建立模型,模型评估和结果部署。其中,数据准备是数据挖掘最重要的阶段之一,通常需要花费大量的时间。据估计,实际的数据准备工作通常占 50-70% 的工程时间和工作量。如果能用脚本实现数据的自动准备和处理,将会节省大量的人力和时间。数据挖掘生命周期中另外一个耗时较多的阶段是建立模型的阶段,建模时通常会执行多次迭代。通常,数据挖掘人员会使用默认参数运行多个模型,然后再对这些参数进行微调或回到数据准备阶段以便执行所选模型所需的操作。仅使用一个模型且仅执行一次就能圆满地解答组织的数据挖掘问题,这样的情况几乎不存在。所以,建模阶段也会耗费大量的人力和时间,有时,用来训练模型的数据量比较大的时候,构建模型的时间也会比较长,最长可达一天甚至几天,而且每次建模成功后还需要对模型进行调整,测试和评估,利用脚本实现数据挖掘人员和建模过程的交互就可以节省大量的人力资源。
通常,适用于批处理模式的任务主要包括以下几个:
在后台运行比较耗时的建模训练。在计划的时间(例如在夜间,此时计算机上的资源比较空闲)运行流。针对大量数据运行数据预处理流(例如,在后台和 / 或在夜间)。运行定期的计划任务,例如每月报告。实例 – 应用脚本编写语言及脚本编写命令实现从数据准备到模型自动创建并部署的过程实例描述当今市场竞争日益激烈,越来越多的企业开始注重对已有客户的保留,因为开发一个新客户的成本是留住一个已有客户的三倍。某大型电信服务提供商非常关心自己的在网客户有哪些会存在潜在的流失风险,担心有些客户在不久的将来会流失到竞争对手那里。在电信服务提供商的数据库里,存在着大量的在网以及已流失客户的信息,如果可以使用这些数据预测有可能转移到其他提供商的客户,则可针对这些潜在流失客户群提供自定义服务,以尽可能多地保留这些客户,起到减少客户流失率的目的。在 IBM SPSS Modeler 中,二项 Logistic 回归模型可以帮助我们解决这样一个问题。
首先介绍一下我们用来建立数据挖掘模型的数据,如表 1 所示。可以看出,用来创建模型的数据中,目标字段为 churn 字段,它有两个截然不同的类别,1 或者 0,代表客户会流失和不会流失,因此我们将使用二项模型根据输入字段的值对客户记录进行分类,分析出哪类的客户存在潜在的流失风险。一般情况下,我们通过鼠标键盘来创建如图 1 所示的业务流,这个流中包含从读取数据,数据准备和处理,建立模型,分析模型,到应用模型进行预测的全过程。接下来,我们就具体介绍如何通过 IBM SPSS Modeler 的脚本编写一步一步来创建图 1 所示的流。
表 1. 数据挖掘模型数据表 telco字段名含义存储类型测量级别region地区字符串枚举型tenure电信客户年限整型连续型age客户年龄整型连续型marital婚姻状况字符串枚举型address居住在当前住址的年限整型连续型income家庭收入 (单位 : 千)实型连续型ed教育程度 (4 种)字符串枚举型employ当前工作的服务年限整型连续型retire退休与否字符串枚举型gender性别字符串枚举型reside家庭成员数整型连续型tollfree免电话费字符串枚举型equip设备租借字符串枚举型callcard电话卡服务字符串枚举型wiremon无线接入服务占有期实型连续型wireless无线接入服务字符串枚举型cardten电话卡服务占有期实型连续型internet网络整型枚举型churn客户流失整型标志型logtoll免电话费指数实型连续型图 1. 预测电信客户群流失模型首先,介绍在 Modeler 客户端中如何打开脚本编写对话框。在菜单项中选择工具 -& 流属性 -& 脚本,打开脚本编写对话框,在这个对话框中可以开始编写脚本了。
读取数据源
我们的数据存在于 SQL Server 2008 数据库中一个名为 telco 的表中,在控制面板 -& 管理工具 -&ODBC 连接中,创建一个名为 SQL_2008R2 的数据链接用来连接 telco 表所在的数据库。通常情况下,在 Modeler 客户端,我们可以通过鼠标拖拽数据库源节点,将其加入到流中,再通过双击此节点将其打开,选择 SQL_2008R2 数据链接,输入用户名和密码,进而读取 telco 表中的数据。但用脚本编写如何实现呢? 首先,点击菜单项工具 -& 流属性 -& 参数,打开参数对话框,在其中定义如图 2 所示的三个参数:datasource 是我们在 ODBC 连接定义好的指向数据库的连接,username 和 password 用来定义访问数据库的用户名和密码。
图 2. 数据库连接参数定义接下来,就可以用脚本编写命令实现从数据库中读取数据了。在 Modeler 客户端中,点击菜单项工具 -& 流属性 -& 脚本,打开脚本编写对话框,输入如图 3 所示的脚本编写命令,就实现了在流中创建一个数据库源节点,并从相应的数据库中读取 telco 表数据的操作 。图 3. 从 SQL Server 数据库中读取 telco 表的数据脚本编写方法定义模型预测目标在 Modeler 中一般选择类型节点来定义字段,它可以指定每个字段的测量级别、设置用于处理缺省值和系统空值的选项、设置用于建模的字段的角色、指定字段和值标签,以及为字段指定值。在此实例中,读取了数据源之后,就需要添加一个类型节点,在其中指定客户流失字段 churn 为创建模型的目标输出,并将这个字段的测量级别设置为标志类型,其他所有字段作为创建模型的输入,如图 4 所示。
图 4. 定义模型预测目标
我们可以用以下脚本来实现如上所述的定义模型预测目标的操作。清单 1. 定义模型预测目标脚本 create typenode
/* 创建一个类型节点 */
connect telco to typenode
/* 将数据库源节点与类型节点连接起来 */
set :typenode.type.churn = Flag
/* 将流失字段的度量级别设置为标志 */
set :typenode.direction.churn = Target /* 将流失字段设置为建模的目标 */过滤、重命名数据源 telco 表中的字段
数据过滤节点是 Modeler 中非常常用的数据处理节点,主要用于在数据源中过滤字段,或者对字段进行重命名。本实例中,不是 telco 表中的所有数据都对预测客户流失有用,可以使用过滤节点仅选择被认为很重要的字段来用作预测变量。根据分析我们将不能为预测目标 churn 提供任何有用信息的预测变量逐一删除。在如图 5 所示的过滤节点中,我们将字段 region 和 marital 字段过滤掉,并且将字段 ed 重命名为 education。以下是用脚本对 telco 表中的这些字段进行过滤和重命名也很简单。 清单 2. 过滤和重命名脚本 create filternode
/* 创建一个数据过滤节点 */
connect typenode to filternode
/* 将数据过滤节点连接到类型节点的后面 */
set :filternode.default_include = true
/* 将所有字段的角色定义为输入 */
set :filternode.include.'region' = off
/* 将 region 字段过滤掉 */
set :filternode.include.'marital' = off
/* 将 marital 字段过滤掉 */
set :filternode.new_name.'ed' = 'education' /* 将字段 ed 重命名为 education */图 5. 过滤、重命名数据源 telco 表中的字段对缺失值的处理
在 telco 表中,字段 logtoll 中有大量记录都为空白值和 Null 值,这会影响字段 logtoll 作为预测模型输入的准确性。因而,我们需要使用填充节点对这些缺失值进行填充,使用字段 logtoll 的平均值来填充那些缺失的记录,如图 6 所示。以下是用脚本编写实现对 logtoll 字段中缺失值的填充处理。清单 3. 缺失值处理脚本 create fillernode
/* 创建一个填充节点 */
connect filternode to fillernode
/* 将填充节点连接到数据过滤节点的后面 */
set :fillernode.fields = logtoll
/* 指定我们将填充 logtoll 字段的缺失值 */
set :fillernode.replace_mode = BlankAndNull
/* 指定将填充 logtoll 字段的空值和 NULL 值 */
set :fillernode.replace_with = 3.240
/* 指定将 logtoll 字段的空值和 NULL 值替换为平均值 3.240 */图 6. 对缺失值的处理构建模型以上步骤在整个业务流中都属于数据准备阶段,都是服务于模型创建的,实际上在 Modeler 的大部分客户中,他们用于创建模型的数据源都很庞大,甚至会有很多个同类型的数据源,或者是对部分数据源的同一字段做设置,这些操作如果一个个在 Modeler 的客户端去定义和设置,将是一件很让人头疼的事情,这时候就体现了脚本编写的人性化,你可以用一行行命令轻松定义和处理庞杂的数据。每个节点的所有属性都有相应的脚本编写方法,你可以在 Modeler 的使用手册中查到。接下来将重点介绍如何用脚本构建一个二项 Logistic 回归模型来帮助电信公司分析客户流失问题。以此类推,掌握了 Modeler 中脚本编写的基本方法,你就可以在 Modeler 中编写脚本去自动创建其他模型。
首先,用如下所示的脚本创建一个空的二项 Logistic 回归模型。
清单 4. 创建空的二项 Logistic 回归模型脚本 create logregnode其次,根据建模需要,需要对模型本身进行设置,图 7 是此实例创建模型的一些方法设置,同样可以用如下的脚本实现这些方法。清单 5. 模型配置脚本 - 模型选项卡 set :logregnode.use_model_name = true
set :logregnode.model_name = "churn"
set :logregnode.use_partitioned_data = true
set :logregnode.logistic_procedure = Binomial
/* 定义使用二项式模型 */
set :logregnode.binomial_method = Forwards
/* 选择前进法 */
set :logregnode.include_constant = true图 7. 配置模型 – 模型选项卡 接下来,在“专家”选项卡上,选择专家模式,然后单击输出, “高级输出”对话框被打开,如图 8 所示。可以用如下脚本实现:
清单 6. 模型配置脚本 - 专家选项卡 set :logregnode.mode = Expert
set :logregnode.scale = None
set :logregnode.scale_value = 1.0
set :logregnode.all_probabilities = true
set :logregnode.tolerance = "1.0E-8"图 8. 配置模型 – 专家选项卡在“高级输出”对话框中,选择“每个步骤”选项,并且勾选“迭代历史”和“参数估计”,然后单击确定,如图 9 所示。上述步骤用脚本实现如下:清单 7. 模型配置脚本 - 高级输出 set :logregnode.binomial_output_display = at_each_step
set :logregnode.binomial_iteration_history = true
set :logregnode.binomial_parameters = true
set :logregnode.binomial_classification_cutoff = 0.5图 9. 高级输出对话框前面完成了对模型的基本设置之后,就可以基于这些设置训练模型。只需运行如下脚本命令就可轻松构建出模型。清单 8. 构建模型脚本 execute logregnode模型结果分析和输出 模型构建完成之后需要对模型进行分析和评估,可以使用图 10 所示的分析节点。借助以下脚本来实现对模型的分析功能。清单 9. 模型分析脚本 create analysisnode
/* 创建一个分析节点 */
connect applylogregnode to analysisnode /* 连接模型块和分析节点 */
set :analysisnode.performance = true
/* 指定使用绩效评价 */
set :analysisnode.confidence = true
/* 指定使用置信区间 */
set :analysisnode.threshold = 90
set :analysisnode.improve_accuracy = 2图 10. 分析节点设置同样的,我们可以将分析结果存放到本地。实现脚本如下:
清单 10. 模型分析结果输出脚本 set :analysisnode.output_mode = File
set :analysisnode.output_format = HTML
set :analysisnode.full_filename = "C:/output/telco_out.html"
execute analysisnode表输出是 Modeler 中最常见的一种输出格式。通常我们会将结果输出到本地,保存起来。相应的脚本实现如下: 清单 11. 模型结果输出脚本 create tablenode
/* 创建一个表输出节点 */
connect applylogregnode to tablenode /* 连接模型块和表输出节点 */
set :tablenode.use_output_name = false
set :tablenode.output_format = Formatted
/* 输出 .tab 类型 */
set :tablenode.transpose_data = true /* 导出前转置数据,使行表示字段,列表示记录 */
set :tablenode.output_mode = File
set :tablenode.full_filename = "C:/output/telco.tab" /* 将模型输出结果存到相应路径 */
set :tablenode.paginate_output = true
set :tablenode.lines_per_page = 50
execute table用批处理方式运行流脚本通过脚本编写创建好了如图 1 所示的流之后,将创建好的流命名为 telco.str 存到 C 盘根目录下,接下来就需要在没有可视用户界面的批处理模式中执行 telco.str 流,以实现处理数据和执行数据挖掘任务。在安装了 IBM SPSS Modeler 的计算机上,打开 DOS 或命令提示符窗口,进入 Modeler 的安装路径 bin\ 目录下,输入如下 clemb 命令并进行执行,实现了在不调用 Modeler 用户界面的情况下载入和执行流 telco.str。相应的执行日志 telco.log 将会在 Modeler 的安装路径 bin\ 目录下产生。
清单 12. 批处理执行脚本 clemb -stream “C:\telco.str” -execute -log telco.log图 11. 批处理执行界面在实际应用中,我们可以通过在 Windows 的定时任务中定时启动一项任务,调用命令行执行以上操作,来实现在 Modeler 的批处理模式下自动执行流脚本,实现数据处理和建模自动化。总结本文详细介绍了如何应用 IBM SPSS Modeler 中的脚本编写实现其在数据处理及算法建模自动化等过程中的应用,并进一步介绍如何通过批处理模式运行创建好的脚本以实现在无界面和无人工干预的情况下批量自动构建模型的过程。本文所介绍的实例只是使读者了解并认识 IBM SPSS Modeler 的脚本编写基本步骤和方法,它的功能和应用领域远不止这些,随着用户了解的深入,可以看到如何在批处理模式下编写脚本,如何在批处理模式下使用参数及对输出进行操作的更进一步应用。
“”:获取用以提高您在 Cognos 业务分析方面的技能和资源。在
:了解关于信息管理的更多信息,获取技术文档、how-to 文章、培训、下载、产品信息以及其他资源。了解
,免费的 DB2 Express Edition 社区版。随时关注
developerWorks
和 。 下载
的免费试用版。 现在您可以免费使用
DB2。下载免费的 DB2 Express Edition 社区版 , 它具有与 DB2 Express Edition 相同的核心数据特性,并为构建和部署应用程序打造了稳固的基础。
选择最适合您的方式获得试用版 :下载试用版产品、在线试用产品、在云环境中使用产品,或者花一些时间在
中学习如何高效地实现面向服务的架构。使用可以直接从 developerWorks 下载的
构建您的下一个开发项目。。参与
并加入 ,developerWorks 社区是一个面向全球 IT 专业人员,可以提供博客、书签、wiki、群组、联系、共享和协作等社区功能的专业社交网络社区。
developerWorks: 登录
标有星(*)号的字段是必填字段。
保持登录。
单击提交则表示您同意developerWorks 的条款和条件。 查看条款和条件。
在您首次登录 developerWorks 时,会为您创建一份个人概要。您的个人概要中的信息(您的姓名、国家/地区,以及公司名称)是公开显示的,而且会随着您发布的任何内容一起显示,除非您选择隐藏您的公司名称。您可以随时更新您的 IBM 帐户。
所有提交的信息确保安全。
选择您的昵称
当您初次登录到 developerWorks 时,将会为您创建一份概要信息,您需要指定一个昵称。您的昵称将和您在 developerWorks 发布的内容显示在一起。昵称长度在 3 至 31 个字符之间。
您的昵称在 developerWorks 社区中必须是唯一的,并且出于隐私保护的原因,不能是您的电子邮件地址。
标有星(*)号的字段是必填字段。
(昵称长度在 3 至 31 个字符之间)
单击提交则表示您同意developerWorks 的条款和条件。 .
所有提交的信息确保安全。
IBM PureSystems(TM) 系列解决方案是一个专家集成系统
通过学习路线图系统掌握软件开发技能
软件下载、试用版及云计算
static.content.url=/developerworks/js/artrating/SITE_ID=10Zone=Information ManagementArticleID=760806ArticleTitle=脚本编写语言在数据挖掘软件 IBM SPSS Modeler 自动化中的应用publish-date=

我要回帖

更多关于 spss求p值 的文章

 

随机推荐