IBM SmartCloud Enterprise 上的敏捷预测分析

学习如何从云中利用过去的数据模式,向未来进军

世界各地的企业均面临着处理大量的数据(这就是它被称为 “大数据” 的原因),为了从中提取价值及洞察力,组织需要借助预测分析。通过使用统计技术,可以发现存在于过去的数据中的重要模式,然后,企业可以向未来进军,制定更精确和一致的业务决策。但是,要充分受益于大数据解决方案,必须准备好基础架构,以实现敏捷的部署和执行。Predictive Model Markup Language (PMML) 等开放标准使解决方案可以在开发和运营环境之间即时迁移(统称为 DevOps),云计算和软件即服务则提供了实现它们所需的能力和灵活性。在本文中,作者介绍了云上的敏捷预测分析概念,提供了有关 PMML 的一些信息,并提供了一个真实的工具示例,该工具可将这些元素集成在单个控制下。

Alex Guazzelli, 分析副总裁, Zementis, Inc.

/developerworks/i/p-aguazzelli.jpgDr. Alex Guazzelli 是 Zementis Inc. 的分析副总裁,他负责开发 ADAPA 的核心技术和预测解决方案,ADAPA 是基于 PMML 的决策平台。Guazzelli 博士拥有超过 20 年的预测分析经验,他持有美国南加州大学的计算机科学博士学位,并且是 PMML in Action: Unleashing the Power of Open Standards for Data Mining and Predictive Analytics 一书的合著者,该书目前已出版第二版。



2012 年 7 月 23 日

最近,大数据、预测分析和云计算这些术语似乎无处不在:

  • 顾名思义,大数据是指从不同来源以不同格式捕获的大量的数据。数据源可能包括人或传感器数据,该数据可以是结构化或非结构化的。例如,由人生成的事务数据是结构化的;Tweet 提要则是非结构化的。有关大数据的大问题是,“如何从中提取洞察力和价值”,以及 “如何更有效地提取这些洞察力”。这两个问题的答案涉及到高级分析。
  • 分析是一个广义的术语,指的是描述性的分析以及预测分析。前者让您知道在过去发生了什么事,后者则告诉您接下来会发生什么事。预测分析采用描述性分析作为垫脚石,以更加精确和一致的方式制定决策。预测分析技术能够从历史数据了解相关模式,并利用这些知识来预测行为。他们通过将数据与巧妙的数学相结合来实现这一点。

然而,数据和数学并不是完整的答案;您还需要准备好一个基础架构,它能够处理数据和复杂的算法。在过去,预测解决方案被绑定到非常具体的问题,并且范围有限,主要原因是没有具成本效益的处理能力。现在不一样了。云计算已经把这个方程式倒过来,它以低成本提供了几乎无限的能力。

在其核心,云计算是一组通过 Internet 提供计算资源的服务。大型数据中心将可扩展的、通常是虚拟化的按需资源作为服务提供,消除了在特定的硬件、软件,或对自己的数据中心基础架构进行投资的需要。

云计算支持多种服务,包括存储容量、处理能力和业务应用程序。在云上访问服务并不是一个新概念,但只是在最近才能作为一个安全和可靠的基础架构提供。IBM® SmartCloud Enterprise 是一个通用云基础架构的主要示例。由 IBM 技术支持,它通过遍布世界各地的几个数据中心在云中提供了动态的计算能力。

本文介绍了预测分析的基础知识,如数据挖掘模型的常用语言 PMML 及其组件。然后,本文向您介绍一个真实的 PMML 引擎,并讨论它如何部署和执行预测解决方案。最后,看看一个在 IBM SmartCloud Enterprise 上如何使用引擎的示例。

预测解决方案和 PMML

当预测分析技术以解决某个具体问题为目标时,其结果将是一个预测模型。预测解决方案不仅包括模型本身,还包括所有数据转换,数据转换是为了让数据可供模型消费。

数据预处理用于处理在原始数据中的任何缺陷,如缺失值和异常值。然而,其最终目标是增强原始输入字段的预测能力,并将它们转化为特性。

数据也接受了预处理,使其适合 “培训”(通过经验进行优化)。以神经网络为例,这是一个典型的预测分析技术,它将只接受数值输入。在这种情况下,类别字段在被提交到网络之前将需要被转换为连续字段。

预测解决方案通常构建在模型开发环境中。例子有 IBM SPSS Modeler 和 Statistics 或面向统计计算的开源 R 编程语言和软件环境。这些环境提供了很大的灵活性,使数据科学家进行分析和并修改历史数据,以培训一个预测模型。

完成构建和验证后,预测解决方案就可以轻松导出到 PMML (Predictive Model Markup Language),进行模型部署。PMML 是用来表示预测分析解决方案的事实标准。利用 PMML,模型部署是一件轻而易举的事情,因为不必自定义编码就可以将解决方案从科学家的桌面迁移到它将投入使用的部署环境。

PMML 是 Data Mining Group 的心血结晶,Data Mining Group 是由商业和开源分析公司组成的供应商主导的委员会。因此,大多数顶级模型开发环境都可以导出 PMML。PMML 在过去 10 多年来已发展为一个成熟精炼的标准,PMML 不仅可以表示用于从数据学习模式的预测技术,还可以表示原始输入数据的预处理以及模型输出的后处理。

PMML 基于 XML(它是人类和机器都可读的)。PMML 文件的结构反映了它所实施的预测解决方案(参见图 1)。

图 1. 单个 PMML 文件包含可以反映它所实施的预测解决方案的若干个元素
单个 PMML 文件包含可以反映它所实施的预测解决方案的若干个元素

不同的语言元素负责描述:

  • 原始输入数据。
  • 对异常值、缺失值和无效值的适当处理
  • 模型输入的预处理,包括正常化、映射、离散化,以及大量逻辑和算术操作的函数。
  • 表示预测技术的特定模型元素。
  • 模型输出的后处理,包括扩展和业务决策。

PMML 也以能够使用单个语言元素表示多个模型而著称。这样,单个 PMML 文件可以包含模型的集成、细分、链或成分。

IBM SPSS Modeler 和 IBM SPSS Statistics 让无数模型可以导出为 PMML。这些环境将输出数据转换为 PMML 的能力也非常突出。例如,SPSS Statistics 支持自动数据增加,这可以被导出为一串 PMML 派生的字段。另一方面,R 以支持用户导出 PMML 模型集成而著称。例如,用户可以用 R 建立一个随机林模型,并导出其数百棵树到 PMML,然后就可以很容易地将它迁移到部署环境,并在几分钟内投入工作。

即使解决方案不是最终版本,将它保存为一个 PMML 文件也是很好的实践。这使得数据科学家可以将在达成最终解决方案之前的所有尝试保存为 PMML 记录。然后,数据分析团队可以使用该记录决定参数和实践的最佳选择。

如需增加有关 PMML 的知识,请阅读本文作者有关 PMML 标准的文章 What is PMML? 请参阅 参考资料

现在,让我们来看看真实的示例。


示例:ADAPA 决策引擎

Zementis Inc. 提供了一个基于 PMML 的预测分析决策管理平台,其名称为 ADAPA。它能够使用以 PMML 表达的预测解决方案,并实时执行它们。由于 ADAPA 侧重于运营端,它使 IT 资源从使用自定义编码预测解决方案适应运营环境的负担中释放出来。它还使数据科学家有机会自己部署预测解决方案。

ADAPA Decision Engine 是一个很好的部署平台示例。在这方面,它拥有两个重要特性:

  1. 这是一个通用的 PMML 消费者,因为它不仅接受由任何 PMML 兼容的应用程序所生成的 PMML 文件,也接受旧版标准中所指定的 PMML 文件。
  2. 除了支持建模技术本身之外,ADAPA 还支持 PMML 在预处理和后处理方面提供的所有产品。事实上,它还更进了一步。如果预测解决方案实现的函数不属于 PMML 标准,ADAPA 允许用 Java™ 实现它们(参见图 2)。然后,由此产生的 JAR 文件可以作为一种资源被上传到引擎,并且它所包含的任何函数都直接从 PMML 进行实例化。
图 2. 允许自定义函数以 Java 代码实现的方式形式嵌入,从而扩展 PMML 标准
ADAPA Decision Engine 允许自定义函数被嵌入为 Java 中的编码资源,从而扩展 PMML 标准

实际的预测模型和规则

观看 Zementis 分析副总裁 Alex Guazzelli 博士的演示,即在 Zementis ADAPA Decision Engine 上运行资格预审应用程序,它使用预测模型和规则来分析贷款申请的默认按揭风险。

观看演示

如图 2 所示,除了基于 PMML 的预测分析引擎,ADAPA 也包含了规则引擎的全部功能。事实上,它提供预测分析和业务规则的无缝集成。通过这种方式,它使数据驱动的洞察力和专业知识能够结合成一个决策战略。

下一步,以 ADAPA 为例,说明如何部署和执行预测解决方案。


预测模型的部署和执行

对于 PMML 和 ADAPA,部署预测模型的过程相当于将相应的 PMML 文件上传到引擎。只要上传成功,模型就可以通过 Web 服务或通过 ADAPA Web Console 执行。用户还可以直接从 Excel 内访问 ADAPA 中的模型(参见图 3)。

图 3. 通过 ADAPA Web Console 可以在 ADAPA 中部署和测试模型
通过 ADAPA Web Console 可以在 ADAPA 中部署和测试模型

实际上,Web 服务使整个企业的应用程序都可以实时访问模型及其预测。按需模式和批处理模式的执行也可以通过同样的方式完成,同时也受益于 ADAPA Web Console。这可以用作一个交互式管理门户,手动管理和验证模型。

业务用户还可以通过使用 ADAPA Add-in 受益于直接从 Microsoft® Office Excel® 内访问使用模型和评分数据。它使得在使用复杂的预测解决方案时不需要涉及构建和部署模型的复杂性。利用该加载项,用户只需在 Excel 中选择他们想评分的数据,从可用模型列表中选择合适的模型,并单击 Score

请注意,现在您是在一个真正的跨平台、多厂商环境中操作。由于可以使用各种 PMML 兼容工具来开发模型,所以在部署过程中,需要谨慎的一个步骤是模型验证,确保评分引擎和模型开发环境会产生完全相同的结果。ADAPA 提供一个综合的测试过程,以确保模型成功上传,并按预期工作。它允许上传一个包含任意数量记录与所有必要的输入变量和每个记录的预期结果的测试文件,进行得分匹配。同样的过程也可以嵌入到 PMML 文件本身,在这种情况下,PMML 文件将有一个专用于模型验证的额外元素。

一旦完成模型验证,统计信息就会返回匹配和不匹配的记录总数及百分比。如果有任何记录无法通过匹配测试,则会显示一个失败记录列表。用户可以通过每个记录的计算信息进行跟踪,以定位预期值和计算值有差异的地方,从而找出问题的根源。


在 IBM SmartCloud Enterprise 上的 ADAPA

如前所述,ADAPA 使用 Web 服务调用,让自动决策真正被嵌入到整个企业的系统和应用程序中。为了最大限度地减少总拥有成本,ADAPA 中的模型执行通过 SmartCloud Enterprise 以服务的形式提供(参阅 参考资料)。

挖掘过去,了解未来:预测分析

IBM 的 Ed Bottini 和 Zementis 的 Michael Zeller 演示 Zementis ADAPA Decision Engine 在 IBM SmartCloud Enterprise 上的技术功能。知识点包括如何结合预测解决方案(SPSS 和 R 编程语言)、如何实现一个具备预测分析能力的、灵活的最佳实践云环境,并了解开放标准的 PMML 如何采用不同的预测模型。

观看演示

SaaS 许可模型为像 Zementis 这样的厂商提供了机会,使他们可以将软件解决方案提供为具有成本效益的服务,这些服务可以随用户需求扩展,并按实际消费进行支付,就像您的水电费账单一样。SmartCloud 上的 ADAPA 是一个完全托管的 SaaS 解决方案。用户只需每月支付服务和容量,即可消除使用昂贵的软件许可以及内部硬件资源的必要性。SaaS 模型消除了用户管理一个可扩展的、按需的计算基础架构的负担。

在 IBM SmartCloud 中启动一个虚拟 ADAPA,该过程相当于传统场景中的购买硬件并安装在服务器机房。惟一的区别是,在这种情况下,服务器位于云上,配备了预装版本的 ADAPA,在短短几分钟内就能按需启动,并随时可以使用。在任何时候,您都可以运行一个或多个实例。

每个实例类型都具有独立的处理能力,提供了一个单租户架构。服务被实现为一个私有的专用实例,其中封装了预测模型和业务规则。通过这种方式,对任何实例的访问(通过 HTTPS)都是私有的。因此,决策文件和数据从来不会与其他客户共享相同的引擎。


结束语

预测分析使当今企业做生意的方式发生变革。作为一门学科,它使将要构建的预测解决方案可以窥探日益增加的数据,这些数据是作为社会人的我们从人和传感器(通过交易数据)中收集的。数据在分析和转化后,可用于预测技术的输入,预测技术负责学习隐藏在数据中的重要模式。每当发生这种情况,就会诞生一个预测模型。

然而,要投入到工作中,它需要从科学家的桌面转移到运营环境。为此,我们受益于 PMML 标准。它使通过某种工具构建的预测解决方案能够很容易地被迁移动到另一个工具中执行。

PMML 是一个成熟精炼的标准,所有顶尖的数据挖掘工具都支持它。这些工具包括商用和开源的环境。随着对 PMML 的支持的不断增加,在如何使用 PMML 表示其预测解决方案方面,不同的工具表现得越来越复杂。这包括从全面的数据预处理一直到模型集成,其中数百种模型都可以表示为单个 PMML 文件,而输出是所有模型的加权平均。

Zementis ADAPA Decision Engine 等通用 PMML 消费者,让预测解决方案可以立即投入工作。PMML 释放了 IT 资源,因为没有必要重新编码或自定义实现。这样,模型开发环境生成的同一个 PMML 文件可以直接上传给消费者,它在那里随时可供执行。

一旦部署完毕并投入使用,预测解决方案就能够将其知识应用到新的场景,并因此产生可以明显改变业务格局的预测。当与业务规则相结合时,这样的预测可以用来驱动自动决策,这不仅受益于数据驱动的知识,还受益于被表达为规则的专家知识。

在云的支持下,大数据对预测解决方案可以解决的问题提供了一个更为完整的画面,使预测解决方案能够走出条条框框。当这些解决方案与开放标准相结合时,预测分析可以充分发挥其潜力。在我们这个越来越快的世界中,变得敏捷是必然的。

参考资料

学习

获得产品和技术

  • 查看在 IBM SmartCloud Enterprise 上可用的 产品映像

讨论

条评论

developerWorks: 登录

标有星(*)号的字段是必填字段。


需要一个 IBM ID?
忘记 IBM ID?


忘记密码?
更改您的密码

单击提交则表示您同意developerWorks 的条款和条件。 查看条款和条件

 


在您首次登录 developerWorks 时,会为您创建一份个人概要。您的个人概要中的信息(您的姓名、国家/地区,以及公司名称)是公开显示的,而且会随着您发布的任何内容一起显示,除非您选择隐藏您的公司名称。您可以随时更新您的 IBM 帐户。

所有提交的信息确保安全。

选择您的昵称



当您初次登录到 developerWorks 时,将会为您创建一份概要信息,您需要指定一个昵称。您的昵称将和您在 developerWorks 发布的内容显示在一起。

昵称长度在 3 至 31 个字符之间。 您的昵称在 developerWorks 社区中必须是唯一的,并且出于隐私保护的原因,不能是您的电子邮件地址。

标有星(*)号的字段是必填字段。

(昵称长度在 3 至 31 个字符之间)

单击提交则表示您同意developerWorks 的条款和条件。 查看条款和条件.

 


所有提交的信息确保安全。


static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=10
Zone=Cloud computing
ArticleID=826948
ArticleTitle=IBM SmartCloud Enterprise 上的敏捷预测分析
publish-date=07232012