【IT168技术文档】
1. 导言
所有公司的最有价值资产是公司内多个应用程序和系统中的大量商业数据。这些数据具有潜力为商业提供之前无法想象的洞察以及为有效的决策制定和可以使公司走向成功的准确预测形成一个可靠的基础。不幸的是,通常数据都是由多个计算机系统收集并静静的待在单独的数据存储中。一些公司可能从这些数据生成了一些历史报表,而一些可能还按照关键性能指示器(KPIs)度量了公司的性能;但令人惊讶的是,只有很少的公司认识到挖掘他们的历史数据以找出模式和趋势所能带来的受益,而几乎没有公司将预测分析嵌入到他们日常商业过程中以制定决策和预测,并改进整个公司的敏捷性。
在过去的几个版本中,Microsoft精简了Microsoft SQL Server中的报表和分析功能以创建一个全面的商业智能(BI)平台,它可以被集成到日常的商业活动中,并被公司内的所有雇员有效使用,而不是只被一些专业分析师使用。许多公司以前发现商业智能解决方案十分昂贵或执行太复杂,而现在他们利用全面的报表制作、渲染、以及提供SQL Server报表服务和SQL Server分析服务提供的强大联机分析处理(OLAP)服务的功能。在这些商业智能服务器产品和无处不在的Microsoft Office系统间的紧密集成将商业分析带给了大众,并使得延伸出一类新的信息工作者,他们可以获得更深一层的商业洞察力,并更加有效地进行操作。
而这个报表和多维分析的发展受益于许多各种规模的公司,提高商业敏捷性和操作有效性的下一个步骤是从对历史数据的回顾分析转到基于对商业数据的预测分析进行预先动作上,以及嵌入智能的、基于事实的决策制定到商业过程中。实现这个目标的关键是使用强大的数据挖掘算法来分析数据集,将新数据和历史数据以及动作相比较,辨别商业实体和属性间的分类和关系,并为所有的系统和制定商业决策的用户提供准确的预测洞察。就像OLAP技术一样,数据挖掘曾经被认为是一个非常专业的领域,需要昂贵的软件和非常专业的技术来实现。但是,通过在SQL Server分析服务中包含了全面的数据挖掘技术,以及通过与2007 Microsoft Office系统的集成,Microsoft提供了一个性价比很高的解决方案,它利用SQL Server分析服务企业级功能,将数据挖掘的能力扩展给每一个人并提供了成功关键因素的洞察力。
2. 用于所有用户的预测分析
当一个预测分析解决方案渗入到整个公司中并用它的扩展和企业级性能帮助进行日常的商业决策时,它是最高效的。而且,提供一个方式来执行全面的预测分析直接为用户提供了可以自服务的数据挖掘,这反过来使商业可以快速地获得具有行动力的洞察。在SQL Server 2008中的数据挖掘技术通过与2007 Office系统、一个全面的开发环境、企业级功能、以及一组设计用来满足常见商业问题的可扩展的、丰富的、创新的数据挖掘算法的紧密集成可以满足这些需求。
2.1 通过Microsoft Office 渗入整个公司
过去,预测分析只限于为一少部分受过训练的统计方面专家的雇员所使用。用于Office 2007的Microsoft SQL Server 2008数据挖掘插件,如图1所示,它使信息工作者可以在一个熟悉的电子数据表环境中利用经验丰富的数据挖掘技术,从而将洞察力和预测扩展到更广的用户群。这些工具通过提供了提示和可执行的建议,从而使得用户可以在几个简单步骤里通知每日的决策。用于Microsoft Office Excel® 2007的表分析工具将数据挖掘的复杂性隐藏在了直接的任务背后,提供了一个无缝的体验,使得用户可以轻松地在探索和发现之间转换。用于Office Excel 2007的数据挖掘客户端提供了一个全面的数据挖掘开发生命周期,它使得高级用户可以具有更多的信息、验证和控制。此外,用于Office Excel 2007的数据挖掘模板使得用户可以渲染数据挖掘模型可注解的图形化显示。总而言之,SQL Server 2008数据挖掘和2007 Office系统的集成提供了一个广泛的、直接的和协作的商业生态系统,它扩展了分析服务的洞察,在整个公司内通知商业决策。
图1:用于Microsoft Office Excel 2007的数据挖掘插件
用于2007 Office 系统的数据挖掘插件提供了以下好处:
· 全面:提供了广泛的工具来满足多种需求
用于Office 2007系统的数据挖掘插件旨在提供一组丰富和可靠的数据挖掘工具。这些工具在桌面电脑上的实用性使得所有用户都可以探究数据并发现隐藏的趋势、以及产品、客户、市场、雇员和其它因素间的关系;使得他们可以满足需求、了解行为和发现隐藏的可以改进商业过程和直接影响收益的机遇。
· 直接:给所有用户提供具有行动力的洞察力
在熟悉的Microsoft Office 环境中访问预测分析帮助用户轻松地将预测合并到日常处理中。在用于Office Excel 2007的表分析工具中提供的自动化任务在下面三个简单步骤中快速地提供了清晰和具有行动力的洞察:
1. 定义你的数据。鉴别对于通知解决方案来说是必要的数据,并在一个定义了要分析的数据的Office Excel 2007电子数据表里创建一个表。
2. 辨别任务。选择合适的数据挖掘任务执行于从数据挖掘或表分析中得到的数据。
3. 获得结果。检查直接从Office Excel 2007环境中清晰和直接的显示所得到的任务输出。
用于Office Excel 2007的数据挖掘插件所提供的自动化任务包括:
o Analyze Key Influencers – 找出影响一个确定结果的关键因素。生成一个根据重要性来罗列关键因素的详细报表,使得用户可以根据每组不同的值比较关键因素。
o Detect Categories – 帮助用户基于通用属性鉴别和分割数据。会生成一个详细的报表,其描述发现的分类,使得将分类重新以有意义的名称贴标签用于进一步的分析。
o Fill From Example – 帮助用户自动根据表的格式将一个只有部分数据的字段填写完全。会生成一个解释所发现格式的报表,使得用户可以重新分析数据并根据获得的更多知识精练格式。
o Forecast – 使得用户可以基于数据集中的值预测未来的值。预测值被添加到初始表和图表中显示过去的情况,并会生成连续的预测发展。
o Highlight Exceptions – 使用户可以发现包含超出预计范围值的数据集。包含异常的记录行会被强调,而会引起异常的字段会被着重突出。
o 场景分析:What If – 使得用户可以获得对一个数据集中一个值的潜在改变对其它值所带来影响的洞察。
o 场景分析:Goal Seeking – 使得用户可以更好地了解需要改变的根本因素,以在一个特定目标字段中实现一个预期值(对What-If工具的补充)。
o Prediction Calculator – 与Analyze Key Influencers任务有关,Prediction Calculator 生成一个交互表格用于存储新的案例。每个属性的影响会被翻译为一组分数。应用于一个新情况的属性结合总结,会预测未来可能的行为。
o Shopping Basket Analysis – 使得用户可以发现经常一起购买的项目间的关系。一个解释了这些关系的报表可以使得更好地了解对财政意义,提供了对打包提供或改良产品布置的洞察。
很容易理解,这些工具的图表输出使得用户很容易在探索中获得发现,并使得用户具有丰富的预测和能够清晰地转变为建议和行动的洞察。
· 协作:在整个公司中共享洞察
在Office Excel 2007中可以执行预测分析,使得用户可以使用2007 Office 系统强大的发布工具在整个公司中共享发现和通知商业决策。举例来说,用户可以通过Office Visio 2007图表中的交互图形化显示来共享分析,或者他们可以通过Microsoft Office SharePoint® Server 2007来共享数据表、报表和图表。
2.2 全面的开发环境
2007 Office 对于信息工作者来说是一个理想的桌面工具,但是对于要在整个企业中部署解决方案的商业智能开发人员来说,SQL Server 商业智能开发套件是非常好的的选择,因为它具有一个基于项目的环境,并与调试和源控制完全集成,你可以用它来创建端对端的商业智能解决方案。
当然,要在公司内渗入数据挖掘功能,只有当开发人员可以建立快速并轻松地满足商业需求的数据挖掘解决方案时。SQL Server商业智能开发套件提供了一个全面的开发环境,它是基于Microsoft Visual Studio®开发系统的。有了商业智能开发套件,开发人员就可以创建数据挖掘结构,它辨别表和字段是否包含在分析中了,并添加多个将数据挖掘算法应用到这些表中的数据上的数据挖掘模型。在商业智能开发套件中的分析服务项目模板,如图2所示,包含了一个直接的用于创建和查看数据挖掘模型的数据挖掘设计器,并提供了交叉验证、提升图、以及利润图来可视化地比较和对照模型的质量,并在部署之前统计错误数和准确性。
图2:在商业智能开发套件中的数据挖掘设计器
SQL Server 2008在SQL Server 2005已经很全面的开发环境基础上,推出了一些改进之处,包括:
· 更有效地将数据分割为训练和测试分区。分区在创建数据挖掘模型的过程中可用。开发人员可以将一部分训练数据集标识为可随意选择用于测试。
· 对过滤的数据建立模型。数据过滤使得可以创建在挖掘结构中使用数据子集的挖掘模型。过滤提供了设计挖掘结构和数据源的灵活性,因为开发人员可以创建一个单独的挖掘结构,基于一个全面的数据源视图,然后应用过滤器只使用一部分数据用于训练和测试大量的模型,而不是为每一个子集建立一个不同的结构和相关的模型。例如,一个开发人员可以对Customers表和相关表定义数据源视图,建立一个单独的挖掘结构,它包含所有必需的字段,然后创建一个过滤了某个特定客户属性(例如Region)的模型。这个开发人员然后就可以轻松地拷贝这个模型,并更改过滤条件以生成一个基于不同region的新模型。通过对数据模型应用过滤器,你可以:
o 为离散值创建各自的模型。例如,一个衣服存储可以使用客户统计来根据性别建立各自的模型,即使销售数据是从用于所有客户的单一数据源获得的。
o 用模型做试验——创建、然后测试相同数据的多个分组,例如年龄20-30与年龄20-40与年龄20-25相比较。
o 对嵌套的数据表内容指定复杂的过滤器,例如要求只有当客户购买了两个或两个以上的某特定项目后才在模型中包括进这个情况.
· 在相同的结构中建立不兼容的模型。使用同一字段的连续或离散版本的模型可以在一个单独的结构中共存,避免了创建相同源字段多个版本的要求。
· 使用交叉验证同时测试多个模型。数据挖掘算法创建的模型具有许多要求不同精度和稳定性度量的应用程序。用户对这些度量的要求取决于应用程序。此外,这些度量帮助确保多种设置形成用于当前数据集和一个给定应用程序的非常好的模型。SQL Server 2008提供一个强大的交叉验证特性,它通过使用一个折叠技术可以同时测试一个结构中的所有模型。这使得用户可以在提交一个数据子集到昂贵的处理步骤之前测试其上的多种设置。交叉验证结果还告诉用户关于模型结果是否是稳定的,或者如果给定更多或更少的数据,结构是否会改变。图3显示了数据挖掘设计器中的一个交叉验证报表。
图3:交叉验证
2.3 企业级功能
SQL Server预测分析是SQL Server分析服务的一部分,它提供了企业级服务器优点:快速开发、高可用性、出众的性能以及可扩展性、强大的安全性、以及SQL Server管理套件中加强的管理能力。这个企业级功能意味着数据挖掘技术使得预测分析可以随着商业的发展而发展,并为任何规模的公司提供了一个高性能、可扩展的解决方案。
2.4 丰富和创新的算法
不同的公司具有不同的目标,并且需要作出不同的决策。因此,任何数据挖掘技术必须支持一组广泛的功能和算法来满足各种不同的商业需求。SQL Server 2008分析服务包括了数据挖掘技术,它支持许多丰富而创新的算法,它们中的大多数都是由Microsoft 研究所设计的,用来解决常见商业问题。此外,SQL Server分析服务的数据挖掘技术是可扩展的,使得你可以添加插件算法来满足专门针对特定公司的独特分析需求。表1显示了SQL Server数据挖掘可以执行的一些任务。
任务
|
描述
|
算法
|
Market Basket Analysis
|
发现一起销售的项目,动态生成意见并决定产品怎样放置可以直接地对你的账目底线有帮助。
|
关联
决策树
|
Churn Analysis
|
预计可能会考虑取消他们服务的客户以及确认如果留住他们将会得到的收益。
|
决策树
线性回归
Logistic回归
|
Market Analysis
|
通过将类似的客户一起分组来定义市场分类。使用这些分类来查找可使你获得收益的客户。
|
聚类
序列聚类
|
Forecasting
|
预测销售和总量,以此来了解它们的关系,从而预测瓶颈和改进绩效。
|
决策树
时间序列
|
Data Exploration
|
在客户间分析利润率,或者比较选择同一产品不同品牌的客户,以此来发现新的机遇。
|
神经网络
|
Unsupervised Learning
|
确定之前所不了解的你公司多个元素间关系来通告你的决策。
|
神经网络
|
Web Site Analysis
|
了解人们是怎样使用你的网站的,并将使用类似的格式分组以提供更好的体验。
|
序列聚类
|
Campaign Analysis
|
通过使目标指向最有可能对产品提高作出回应的客户,从而使得市场投入更加有效。
|
决策树
Naïve Bayes
聚类
|
Information Quality
|
鉴别和处理数据录入和数据加载过程中的异常情况以改进信息的质量。
|
线性回归
Logistic回归
|
Text Analysis
|
分析反馈以找到关系到你的客户或雇员的通用模式和趋势,使用非结构化的输入提供决策。
|
文本挖掘
|
表1:数据挖掘任务
3. 在数据生命周期中每一步的洞察力
无论是对商业数据进行使用、分析、监控、计划、探索、或生成报表,预测分析都可以添加丰富的洞察来显示用于发现的新技术。SQL Server 2008是商业智能技术家族的一部分,它们一起使用提供了一个全面的平台,这个平台使得公司可以将预测分析合并到数据生命周期的每一个阶段。
3.1 本地报表集成
报表是大多数公司中的一个基本动作,而SQL Server 2008报表服务提供了一个用于创建、渲染和在整个企业中部署报表的广泛解决方案。SQL Server报表服务通过使用一个数据挖掘扩展(DMX)查询可以直接从一个数据挖掘模型中渲染报表。这使得用户可以显示数据挖掘模型的内容,以用于非常好的的数据显示。此外,直接查询数据挖掘结构的能力使得用户可以超出挖掘模型要求的范围,轻松地将数据包括在内,显示完整和有用的信息。图4显示了用于报表服务的DMX查询编辑器。
图4:用于SQL Server报表服务的DMX查询编辑器
SQL Server 报表服务提供了基于预测可能性生成参数驱动的报表能力。例如,在图4中显示的查询分析了假设的Adventure Works自行车公司预期的客户列表,并使用一个数据挖掘模型来评估这些客户购买一辆自行车的概率。这个查询进行了过滤,只返回购买概率大于50%的预期。图5显示了结果报表,公司可以将它用作是只针对最有可能购买情况的市场策略的基础。它很大程度上改进了策略的有效性,它对投入作出了回馈。
图5:一个预测分析报表
3.2 在数据集成过程中进行数据挖掘
随着商业智能变得越来越普遍,公司越来越多地执行提取、转换和加载(ETL)解决方案将从公司各处而来的数据合并到一个数据仓库中,用于生成报表和进行分析。然而,这些操作的源数据通常是不完整的,或者在某些情况下是商业实体,例如可能需要对客户基于通用描述特征进行分类。
Microsoft SQL Server 2008集成服务提供了一个强大的、可扩展的ETL平台,商业智能解决方案开发人员可以使用它来执行清理和转换数据的ETL操作。SQL Server集成服务包括一个用于培训数据挖掘模型的数据挖掘模型培训目的地,和一个可用于对数据流中传送过来的数据进行预测分析的Data Mining Query转换。预测分析与SQL Server集成服务的集成使得公司可以标记异常数据、分类商业实体、执行文本挖掘、并基于数据挖掘算法的能力和洞察力在空闲时间填入缺失的值。例如,一个ETL过程可能从一个或多个源系统提取客户数据用于放入一个数据仓库中。过去,数据挖掘是在数据仓库加载之后使用的,用于根据预期购买行为分类客户或其它策略管理任务。然而,有了SQL Server集成服务,Data Mining Query转换可以在ETL过程中应用一个数据挖掘模型,使得数据仓库包含了加载过程中分类的数据。这减少了在仓库服务器上所必需做的工作,并确保可用于分析的数据总是最新的,并一直保持是分类的。此外,在ETL过程中的分类还可以用来过滤掉不符合任何已知分类的客户记录。这些记录可能是由于较差的数据质量造成,或显示一个新的、没有在策略管理过程中找到的分类。无论哪种情况,SQL Server集成服务都可以使用数据挖掘发现这些记录并将它们转为手动或自动检查。
图6显示了一个包含了Data Mining Query转换的SQL Server 集成服务数据流。
图6:在SQL Server集成服务中的数据挖掘
3.3 富有洞察力的分析
SQL Server 2008分析服务提供了一个用于多维OLAP分析的高扩展性平台。许多客户已经从在分析服务中创建一个统一的维度模型(UDM)获得了受益,并使用它按多个维度分割商业度量。预测分析是SQL Server 2008分析服务的一部分,它提供了一个更加丰富的OLAP体验,特别是数据挖掘维度按照数据所隐藏的格式将其进行分割。例如,一个销售和市场部门可以创建一个基于现有Customer OLAP维度的数据挖掘结构,并使用它将客户归类到显示相似特征的集群中。然后他们可以使用这个数据挖掘结构来生成一个新的数据挖掘维度,并使用它基于已确认的客户集群来分析销售信息。图7显示了在一个OLAP立方体中的一个数据挖掘维度。
。
图7:在一个OLAP立方体中的一个数据挖掘维度
除了合并数据挖掘结果到OLAP维度中去之外,SQL Server 2008还使得你可以将基于数据挖掘模型的预测功能合并到计算和KPIs 中去。
3.4 预测KPIs
许多公司使用KPIs 来评估对目标的关键商业度量。SQL Server 2008分析服务提供了一个用于企业中KPIs的集中平台,而与Microsoft Office PerformancePoint™ Server 2007的集成使得决策制定者可以建立商业状态面板,用于监控公司的运作。KPIs 一般是用于回顾的,例如显示上个月的销售总数与销售目标相对比。然而,随着通过数据挖掘使得洞察成为可能,公司就可以建立预测KPIs ,它预测未来的执行与目标的比较,为公司提供了一个预先发现和解决潜在问题的机会。图8显示了一个KPI,它显示了预测的未来订单数目。
图8:Microsoft Office PerformancePoint Server 2007
此外,预测分析可以发现影响KPIs的属性。与Office PerformancePoint Server 2007一起,用户可以监控关键影响因素的趋势来识别影响保持不变的属性,例如确定对一个竞争商品进行价格打折是否对销售具有持续的影响,或只是产生一个短期的干预。这样的洞察使得公司可以通告和改进他们的响应策略。
4. 在所有应用程序中的数据挖掘意识
正如你在这篇文章前面所看到的,SQL Server 2008提供了一个全面的数据挖掘解决方案,与Microsoft 商业智能平台的紧密集成使得很容易给用户提供预测分析以及在企业中的自动处理。然而,还是有一些特例情况需要公司将数据挖掘功能嵌入到应用程序中,为了在现有的商业处理过程中引入智能,或扩展数据挖掘技术来解决一个特定的商业问题。为了这整个目的,SQL Server 提供了一个灵活的、可扩展的编程平台用于无缝地将预测和洞察合并到商业应用程序中去。
4.1 预测编程
SQL Server 2008数据挖掘支持一些应用程序编程接口(API),开发人员可以使用它们来建立利用SQL Server预测分析功能的定制解决方案。DMX、XMLA、OLEDB和ADOMD.NET以及分析管理对象(AMO)提供了一个丰富的、完全记录的开发平台,使得开发人员可以建立具有数据挖掘意识的应用程序,并通过熟悉的工具提供实时的发现和建议。
这个可扩展性为商业公司和独立的软件供应商(ISVs)创造了一个机会来嵌入预测分析到商业应用程序中去,包括通知商业决策和处理的洞察力和预测。例如,Analytics Foundation 解决方案添加了一个预测分数到Microsoft Dynamics® CRM 中,使得销售、市场和服务公司的信息工作者可以确认可得到的机会,这个机会很可能导致一个销售订单,增加了有效性和改进了生产力。
4.2 插件算法和定制可视化
SQL Server 数据挖掘工具集是可以通过Microsoft .NET存储过程、插件算法、定制可视化和PMML进行完全扩展的。这使得开发人员可以扩展SQL Server 2008的创新数据挖掘技术以满足公司特殊的商业需求,通过以下方法:
· 创建定制数据挖掘算法以解决特殊的商业分析问题。
· 使用从其它软件供应商处获得的数据挖掘算法。
· 通过插件阅览器APIs创建数据挖掘模型的定制可视化。
5. 总结
在这篇文章里,你看到了SQL Server 2008分析服务是怎样提供一个完整的数据挖掘平台的,公司可以用它将洞察力与预测注入日常商业决策中。用于2007 Office系统的数据挖掘插件的深入渗透使得整个公司都可通过桌面电脑获得预测分析能力和直接的工具以及清晰的结果。广泛的开发环境和可扩展的创新数据挖掘算法与SQL Server分析服务的企业级可扩展性和管理能力结合在一起,使得SQL Server2008成为一个为你的公司带来预测分析的理想方式。
SQL Server 2008的预测分析功能是Microsoft 商业智能平台的一部分,它紧密集成到数据生命周期的每一个阶段,使得可以将智能合并到报表、数据集成、OLAP分析、以及商业执行监控中去。预测分析广泛集成到公司数据生态系统中,帮助提高了商业敏捷性并创建了一个切实的竞争优势。
尽管SQL Server 2008提供的数据挖掘功能足够全面地满足广泛商业场景中的需求,但是它的扩展性确保了它实际上确实可以用来解决任何分析问题。SQL Server 通过定制算法和可视化来扩展数据挖掘技术的能力,以及将预测功能嵌入到商业应用程序中去的能力使得SQL Server 2008成为了将预测分析推进到现有商业过程中以添加洞察力和建议到日常操作中去的一个强大平台。