SQLServerR2人工智能之联机分析六大要素
控件中国网提示:控件中国网提供联机分析处理控件,请点击以下地址查看:
联机分析处理是一种用于组织大型商务数据库和支持商务智能的技术。其实人工智能或者商务智能并没有大家想的那么复杂。在这里很多人有个误区,被科幻电影所误导了。让电脑懂得人的思想、知道人的逻辑思维,这已经脱离了人工智能的范畴。
一、人工智能的简单案例。
那么到底什么是人工智能?什么是联机处理分析呢?下面这个案例就可以很清楚来回答这个问题。
假设现在有一个超市,其有过去五年的销售记录。现在要利用这些数据进行联机分析,帮助管理层得到如下信息:
一是需要知道,年龄与消费习惯的关系。现在大部分超市都执行了会员制。那么每笔消费记录与会员的关系就都可以一一对应了。此时根据历史数据就可以分析出,这几年来各个年龄段的顾客有什么样的消费习惯?随着年龄的增长,这些消费习惯有什么样的变化?
二是需要知道,产品与季节之间的关系。即什么样的季节什么样的产品卖的好。很多产品,如饮料、服装、食品等等都跟季节有着密切的关系。了解这个信息,对于超市提前准备存货、甚至囤积货物都有很大帮助。
三是需要知道,各个产品对企业利润的贡献率。零售企业,往往每个产品的利润都是不同的。有些产品利润比较薄,像矿泉水,但是销售量达。为此利润低的产品并不代表利润贡献率低。相反,利润高的产品,由于消费数量少,有时候对企业的利润影响反而比较小。作为企业的决策层需要知道这些信息,并据此作出一些合理的决策。
等等。
只要SQLServer数据库系统能够回答以上这些问题,那么就是一个成功的人工智能系统。所以笔者认为,人工智能并没有大家想的那么神秘。
二、SQLServer R2人工智能之联机分析六大要素。
那么要实现这个联机分析,需要哪些内容呢?在这里,笔者就以SQLServerR2为例,堂堂联机分析的六大要素。掌握这些内容,对于管理员设计一个成功的联机分析系统,有着至关重要的作用。
要素一:多维数据集。这是SQLServer数据库中的一种数据的存储结构。一般的数据都是一维的,即一个变量针对一个字段。而在数据联机分析中,要求具有多维数据集。简单的说,多维数据集就是将度量值按照需要分析的每个纬度的级别和层次进行聚合。这就好像评价一个人,要从多个角度去看,从其外观、性格、年龄、品格等等多个纬度进行评价。
要素二:度量值。简单的说,度量值就是一个个数据,其保存在多元数据集中。如人的年龄、外观、性格等等。在SQLServer2008 R2 中一般要求度量值是经过预先处理、分析、聚合的多维数据集的核心值。这是什么意思呢?也就是说,需要的不是每天每个产品的销售记录,而需要的是每天、每月、每个季度、甚至每年某个产品的销售总额。这跟原始数据还是有一定差距的。这里需要注意的一点是,度量值直接决定了最后的处理结果的效果。巧妇难为无米之炊。如果度量值不准确,即使后续的再怎么努力,也是竹篮子打水一场空。
要素三:纬度。这是SQLServer2008 R2比较难以理解的一个内容。如果仍然以评价人这个案例来说,那么纬度就是说在评价人之前,先要确定从几个方面来评价。如从高度、体重、年龄、收入等等来评价某个男人是否适合做你的女婿。纬度确定下来,不同的人才有可比性。利用专业的话来说,纬度就是多维数据集中一个或者多个有组织的级别层次集。这是进行分析的基础。也就是说,对数据分析其实也就是一个横向比较与纵向比较的过程。需要先建立比较的标准(纬度)。否则的话,对比就是空的。如现在要分析某个年龄层次的消费习惯,我们一般可以将顾客分为20岁以下、30岁以下、40岁以下、50岁以下、60岁以下、60岁以上等几个群体。这个划分就是纬度。这也就是说,纬度的划分没有硬性的标准,往往是根据用户的需求而变化。这也真是考验数据库工程师的时候。一个有经验的数据库工程师,能够根据用户的需求马上设计出需要用到的纬度。相反,经验相对缺乏的工程师这可能需要在程序开发过程中甚至最后的测试中才会完善。在SQLServer2008R2中在这方面有所改善。设计者们根据一些项目的成功经验,设计了多套现成的模板,供用户使用。笔者强烈建议那些在这方面经验相对缺乏的读者,多去研究一下这几套模板。对你们后续的工作会有很大的裨益。
要素四:成员。在SQLServer2008R2人工智能系统中,成员指的是在层次结构中数据一次或者多次出现的项。在数据库业务中,我们有时候把它叫做基数。如对于会员信息中,性别其就只有两个成员:男与女。成员可以是唯一的,也可以是不唯一的。这里没有强制的要求。不过笔者这里有一个建议。在系统中设计成员的时候,最好有一个合法性的检验过程,以提高数据的准确率。如再以会员信息为例,在性别中,就只能够输入男或者女,而不能够输入其它的数值。在某些分析中,这种合法性检查非常有用。如需要分析男会员与女会员购买习惯与购买力的问题,则就需要对其进行验证。否则的话,在最后的结果中万一出现一个“非男非女”的结果,就会闹笑话了。
要素五:计算成员。这主要是对成员的一个分析计算的过程。如上面这个案例,要分析男会员与女会员的购买力与购买习惯。在分析的时候,系统首先要做的工作就是计算成员的数量。这个步骤非常重要。这直接决定着系统从几个方面出结果。在这个案例中,系统通过分析其就只有两个成员:男和女。然后系统在后面的分析中,就从这两个角度对数据进行汇总、分析与对比,最终得出用户所需要的结果。这个过程也印证了要对成员进行合法性检验的必要性。在实际工程中,如果需要对某个值进行对比分析,如需要根据年来统计销售额、根据地区来统计收入、根据食品的类别来对比利润等等,都需要对其成员进行合法性检验。确保在数据中没有出现多余的或者模棱两可的成员。另外需要注意的是,在计算成员中,有时候往往需要对成员进行分割或者合并,形成一个新的成员。如在销售纪录中,其保存的往往是年、月、日、小时、分、秒等具体的时间信息。而在分析过程中,可能需要用到的就是年与月这两个信息。即分析各个年度每月销售额的变化,以判断未来的发展趋势。此时就需要抽取年与月的信息,组成一个新的成员。
要素六:层次结构与级别。SQLServer2008R2人工智能中这主要说的是成员的一种组织结构。如上面提到的年月日的案例中。其有两种实现方式。一是在记录中保存着年、月、日等信息。然后在分析中抽取一部分信息(如年月日)组成一个新的成员。这么处理的好处是简单,但是如果数据量一多,速度就会慢下来。二是将其分层次保存。如这个案例中,可以将其分解为年、季度、月、日、时间多个层次。级别也是从高到低。在分析的时候,就可以随意的组合得到不同的成员。其实这就是成员的两种不同的计算机制。前者是拆分,后者是合并。
如果能够掌握这六大要素,然后对其灵活的应用,再结果SQLServer2008R2在数据分析方面的强大功能,那么设计出一个成功的联机分析系统,是指日可待的事情。