[关闭]
@liuhui0803 2016-04-15T10:41:28.000000Z 字数 2900 阅读 2194

使用Bluemix和混合云技术造就更健康的星球,第2篇

云计算 Bluemix 混合云


在这一系列文章中,我们将介绍一个在为公民提供所需医疗用品方面遇到挑战的虚构国家中发生的故事。我们会介绍云解决方案(IBM Bluemix®)和预测分析,以及移动和安全技术如何帮助他们应对挑战, 造就出一个更智能、更健康的星球。第1篇介绍了他们面临的挑战以及整体解决方案。现在,第2篇将介绍如何使用Bluemix提供的Predictive Analytics(预测分析)服务预测物品的需求。

Predictive analytics是这一系列文章中第1篇所介绍解决方案的一个组件。其角色在于根据以往订单产生的历史数据预测需求。调度器应用可以调用该组件,关于调度器的详细介绍可参阅这一系列文章的第3篇

借助Bluemix中的Predictive Analytics Service,您可以根据自行定义的预测模型开发具备分析能力的应用程序。我们使用的预测模型基于以往产生的医疗用品订单历史数据。

解决方案中的预测分析组件概述

预测未来一直是企业的重要能力之一。在对未来工作进行规划的过程中,能做出更好预测的组织总是能获得更大优势,医疗健康领域也不例外。对服务于整个国家的医疗健康供应商来说,对未来需求的预测有助于更好地管理整个国家不同地区内部,或发往该地区的订单、仓储,以及医疗健康用品的交付。在这一系列文章中,一个虚构的国家在医疗用品的交付方面面临挑战,他们在IBM Bluemix Predictive Modeling服务上运行了自己的预测模型。

IBM Bluemix的Predictive Analytics Service

传统方法中,用户必须使用IBM SPSS软件开发、测试,并部署预测分析模型,例如使用SPSS Modeler桌面版进行开发测试,使用SPSS Modeler服务器版进行部署。为了将预测模型与完整的软件解决方案相集成,还需要使用SPSS Collaboration and Deployment Services。

Bluemix使用Predictive Analytics服务取代了Collaboration and Deployment Services。现在用户无需任何其他软件,即可部署自己的SPSS模型(或“流(Stream)”,这是SPSS中的专用术语)。

延伸阅读:上手使用Predictive Analytics

预测分析的数据挖掘阶段

Predictive analytics需要进行数据挖掘。在建立数据挖掘项目时,可考虑将CRISP-DM (Cross-Industry Standard Process for Data Mining)作为首选技术。正如IBM SPSS Modeler CRISP-DM Guide中所述,CRISP-DM可以将项目分为六个阶段:

1.理解业务

这一阶段专注于理解业务目标以及数据挖掘项目试图解决的问题。在我们的案例中,该国不同地区未来对医疗用品的需求完全是未知的。例如,A地区可能缺乏某种药物,而B地区可能该药物过多。这种失衡可能导致B地区该药物用不完过期,而A地区依然无法得到需要的数量。如果中央医疗健康供应商可以预测每个地区的需求,就可以同时将损失和短缺的情况降至最低,同时也能进一步降低物流和仓储成本。

2.理解数据

现有数据的问题在于,要详细描述该国每个地区针对某一具体类型医疗用品产品生成的每个订单。每个订单包含发出该订单的区域、产品名称,以及订购的产品数量。如果订单中包含超过一种产品,则会将每种产品视作一个独立订单进行存储和处理,每个独立订单对应某一种类型的产品。同时对于某些药物,产品名称中可能包含某些药效物质的剂量或浓度。这种情况下,同一种药物的不同变体会被视作不同产品。

因此每条记录会包含下列字段:

对于医疗用品未来需求的预测工作,可将诸如交货日期、订单状态、交货数量等其他字段排除在外。在SPSS Modeler中,可以使用筛选器节点(位于字段操作面板下)丢弃这些不需要的字段,如下图所示。

此处输入图片的描述

原始数据可从任何ODBC数据库,甚至CSV文本文件中加载。这些数据可用于训练和测试模型,直到完成流的部署,并针对未知数据进行实际预测。

3.准备数据

每个订单的日期可用于计算该订单是在当年的第几周生成的。通过使用一个Derive节点和一个Filler节点,每个日期值都可以用两个字段代表:年和周。在这种情况下,订单管理系统就可以按照周数管理订单,并且同样的做法还可用于以一个月或三个月的时间为间隔给订单添加标签,具体做法主要取决于管理系统的需求。

随后可使用记录操作SPSS Modeler面板的Aggregation节点计算每个地区,每一周,每种产品的订单总量。

此处输入图片的描述

4.建模

我们的场景是一种时间序列变体的经典范例,但在很多情况下,用于对模型进行训练和测试的历史数据可能不足。因此我们采用了另一种方法:我们的解决方案可以使用之前20周的汇总数据预测未来的需求。

此处输入图片的描述

5.评估模型

可以使用输出面板上的分析节点评估并分析建模节点输出的结果,并对不同的模型进行对比。在我们的案例中,对比不同模型输出结果时所用的主要因素是平均绝对误差,建模面板下的Auto-numeric建模节点提供了最佳结果。

6.部署

Bluemix Predictive Analytics使得SPSS Modeler流的部署工作比以往更简单。只需要一个Bluemix ID即可。(若要获得Bluemix ID,请注册免费试用的Bluemix。)随后将SPSS Modeler流上传至Bluemix,便可获得通过调用流进行记分的REST API。

  1. 在SPSS Modeler流属性的Deployment选项卡下,指定部署类型为Scoring Only
  2. 指定记分节点并上传流。
  3. 您将获得一个REST API的URL,借此可通过输入值(通常为周数、地区,以及产品键)调用该模型,并获得代表某一地区某种产品估算数量的输出结果。

此处输入图片的描述

使用Bluemix Predictive Service的记分功能

可以通过Bluemix指定的URL调用Predictive Analytics Service的不同API。在我们的案例中,主要使用Scoring API,该API可通过下列方式调用:

POST http://{service​
    instance}/pm/v1/score/{contextId}?accesskey={access_key for this bound​application}

结论

Bluemix提供的Predictive Analytics服务需要使用您自己创建的预测模型。该服务本身提供了完善的功能,不像其他类似解决方案那样需要您自行构建任何底层基础结构。

在这一系列文章的第3篇中,我们将介绍负责调用Predictive Analytics服务的调度器应用。

作者:Ahmed Abbass、Ahmed Abdel-Hamid、Mohamed El-Kholy
阅读英文原文Making a healthier planet with Bluemix and hybrid cloud technologies, Part 2

添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注