数据挖掘和联机分析处理(OLAP)的区别
一个经常遇到的问题是,数据挖掘和OLAP到底有何不同。
下面将会进行解释,它们是完全不同的工具,基于的技术也大相径庭。
OLAP是决策支持领域的一部分。传统的查询和报表工具是告诉用户数据库中有什么(What happened), OLAP则更进一步告诉用户下一步会怎么样(What next)和如果采取这样的措施又会怎么样(What if)。用户首先建立一个假设,然后用OLAP检索数据库来验证这个假设是否正确。例如,一个分析师想找出什么原因导致了贷款拖欠,他可能先做一个初始的假设,认为低收入的人信用度也低,然后用OLAP来验证。如果这个假设没有被证实,他可能去察看那些高负债的账户,如果还不行,他也许要把收入和负债一起考虑,一直进行下去,直到找到他想要的结果或放弃。
也就是说,OLAP分析师是建立一系列的假设,然后通过OLAP来验证或推翻这些假设来最终得到自己的结论。OLAP分析过程在本质上是一个演绎推理的过程。但是如果分析的变量达到几十个或上百个,那么再用OLAP手动分析验证这些假设将是一件非常困难和痛苦的事情。
数据挖掘与OLAP不同的是,数据挖掘不是用于验证某个假设模式(模型)的正确性,而是在数据库中自己寻找模型,它在本质上是一个归纳的过程。例如,一个用数据挖掘工具的分析师想找到引起贷款拖欠的风险因素,数据挖掘工具可能帮他找到高负债和低收入是引起这个问题的因素,甚至还可能发现一些分析师从来没有想过或试过的其他因素,如年龄。
数据挖掘和OLAP具有一定的互补性。在根据数据挖掘出来的结论采取行动之前,也许要验证一下:如果采取这样的行动,会给公司带来什么样的影响?OLAP工具能回答这些问题。
而且在知识发现的早期阶段,OLAP工具还有其他一些用途。可以探索数据,找到哪些是对一个问题比较重要的变量,发现异常数据和互相影响的变量。这都能使用户更好地理解数据,加快知识发现的过程。