众说纷纭的大数据分析是怎么回事?

大数据

众说纷纭!

个人认为,大数据中的“大”,不仅仅是涉及数据规模,而且包含“价值“这个层面。其实无非就是大量的信息罢了,但是我们却能通过各种手段从这些信息中提取出我们所需要的东西。

数据分析、数据挖掘和推荐系统

数据分析(Data Analysis)

啤酒和尿布这个故事在欧美国家也被传唱,出现的版本还不尽相同。但对此质疑的声音也不少,其中有一位叫Daniel J. Power的教授特此撰文,应该是最全面地有理有据揭开这个故事后面的真相。有兴趣的人可以详细阅读英文全文:What is the "true story" about using data mining to identify a relation between sales of beer and diapers? 主旨内容如下:

这家连锁店不是沃尔玛,而是Osco Drugs,一家主要在美国中西部经营的药房和便利店。 该公司于1992年就着手进行数据分析项目,算是数据分析的先驱者。当时的项目收集了来自25家分店、一千两百多万个购物车的信息。

数据的确发现:下午5点到7点之间,客户购买了啤酒和尿片。 商店管理层的确对此发现表示兴趣。但现实中,并没有重新设计商品的摆放,没有把啤酒和尿布进行捆绑销售。不过,公司保守地对销售流程进行了改造,即在正确的时间放正确数量的正确商品。

这就是啤酒和尿片的故事真相,所以,这其实并不是数据分析的好故事。大家对此故事津津乐道,无外乎希望表达:数据分析技术是商业决策的好帮手。

数据分析:就是对数据进行分析,得出一些结论性的内容,用于决策。分析什么哪? 根据分析现状、分析原因、预测未来。分析现状和分析原因,需要结合业务才能解释清楚。用到的技术比较简单,最简单的数据分析工具就是 Excel 和 Python 了。预测未来指的是分析未来一段时间的销售额之类的。在预测未来方面,一般用到数据挖掘的技术了。数据分析更多的是指用适当的统计分析方法对收集来的大量数据进行分析,提取有用信息和形成结论而对数据加以详细研究和概括总结的过程。这一过程也是质量管理体系的支持过程。在实用中,数据分析可帮助人们作出判断,以便采取适当行动。

数据分析是以输入的数据为基础,通过先验的约束,对数据进行处理,但是不需要对结果做处理,得到任何结果都行。例如你需要图像识别,这个属于数据分析,你要分析人脸,而数据通过你的先验的方法,就是出来个猫脸。你的数据分析也没有问题,你需要的就是默默的承受结果,并且尊重事实。因此数据分析的重点在于数据的有效性、真实性和先验约束的正确性。

简而言之:数据分析是对数据的一种操作手段。或者算法。目标是针对先验的约束,对数据进行整理、筛选、加工,由此得到信息。如一份用户信息表中,某个用户的年龄超过了200岁,这种数据明显就是用户恶搞的数据,我们一般使用数据分析的手段把这种脏数据剔除掉,而我们不需要关心处理后的数据是什么样子的,这就是数据分析中的一种数据预处理手段。

数据挖掘(Data Mining)

数据挖掘:从字面意思上看,是从数据中挖掘出有价值的信息。比如,超市通过对一段时间的客户消费记录能发现,哪些物品经常被顾客一起购买。那么,就可以把这些物品摆放的位置近一些,或者一起促销。在这里,客户的消费记录是“数据” ,“挖掘” 出的信息是哪些商品经常被一起购买。“价值” 指的是超市可以据此搞促销,提高超市的销售额。挖掘出这些有价值信息的方法就是课程中需要学习的。数据挖掘关注的是一些方法如何在商业中应用,并不是纯粹的理论和学术。数据挖掘涉及到很多的算法,源于机器学习的神经网络,决策树,也有基于统计学习理论的支持向量机,分类回归树,和关联分析的诸多算法,值得庆幸的是 Python 中的 Scikit-learn库 中提供了以上所有的算法。数据挖掘的定义是从海量数据中找到有意义的模式或知识。

较于数据分析的简单分析,数据挖掘则不同,数据挖掘是对信息的价值化的获取。价值化自然不考虑数据本身,而是考虑数据是否有价值。由此,一批数据,你尝试对它做不同的价值挖掘。评估,则就是数据挖掘。此时对比数据分析,最大的特点就是,你需要调整你的不同的先验约束,再次对数据进行分析。而先验的约束已经不是针对数据来源自身的特点,例如信噪比处理算法。而是你期望得到的一个有价值的内容,做先验的约束。以观测,数据根据这个约束,是否有正确的反馈。也就是说,数据挖掘相比较数据分析看重的更是结果,而不看重过程。

举个例子说明数据分析和数据挖掘:你揣着50元去菜市场买菜,对于琳琅满目的鸡鸭鱼猪肉以及各类蔬菜,想荤素搭配,你逐一询问价格,不断进行统计分析,能各自买到多少肉,多少菜,大概能吃多久,心里得出一组信息,这就是数据分析;而关系到你做出选择的时候就需要对这些信息进行价值评估,根据自己的偏好,营养价值,科学的搭配,用餐时间计划,最有性价比的组合等等,对这些信息进行价值化分析,最终确定一个购买方案,这就是数据挖掘。需要注意的是:虽然在此做了这样的比较,但是数据分析的数据量一般远远小于数据挖掘。

推荐系统(Recommended System)——数据挖掘的应用之一

推荐系统:首先,需要申明一点的就是推荐系统!=推荐算法。推荐系统是一套完善的推荐机制,包括前期数据的准备、具体推荐的过程(这个过程可能是一套复杂的算法模型,也可能是一个简单的规则,也可能是多种模型的混合结果等等)、后期数据的预测、AB测试效果评估等等。

推荐系统在算法模型上大体可以分为基于内容的推荐、基于协同过滤的推荐,如下图所示:

  • 基于内容推荐:即通过内容本身的属性,然后计算内容的相似性,找到与某物品属性相似的物品。
  • 基于协同过滤推荐:所谓协同过滤,即不依赖于物品本身的物品属性,而是通过其他相关特征,例如人参与的行为数据,来达到推荐物品的目的。关于协同过滤,又分为以下几个类别:
  • 基于模型的协同,即ModelCF,其中基于模型的协同又可以分为以下几种类型;
  • 基于图模型协同,即Graph,也叫社会网络图模型;
  • 基于矩阵分解的协同过滤,即Latent Factor Model(SVD);
  • 基于距离的协同过滤;
  • 基于用于的协同,即UserCF;
  • 基于物品的协同,即ItemCF;

上述讲了那么多,早期的推荐系统算法一直想解决的是超市中的长尾效应(马太效应)。

所谓长尾效应,在推荐系统中的体现即,部分优质物品,购买的人数较多,即与其相关的的用户行为轨迹会较多。这样,在协同过滤推荐中,由于我们主要的依据就是我们的历史行为行为数据,所以这种物品得到推荐的机会就越多。这样,不断循环迭代,得到推荐的物品都集中在少数的一些物品中,而大部分物品是没有被推荐的机会的。这就造成了造成长尾现象。

而马太效应的意思是,通俗点说就是,强者愈强,弱者愈弱。而长尾的直接体现就是马太效应。通常来讲(当然也有特殊情况),一个推荐系统,如果长时间处于长尾之中,就会造成推荐疲劳,推荐的效果就会下降。所以,很多时候,挖掘长尾是推荐系统不可缺少的部分。即,我们需要把尾巴部分 并且是有价值的部分给适当的展示出来。挖掘长尾的方法很多,其中一种常见的方式就是给热点物品适当的降权。比如物品,我们为热点物品进行权重下降,这样在最终推荐的结果中,非热点物品得到推荐的机会就增大,从而适当的挖掘了长尾。

发表评论
留言与评论(共有 0 条评论)
   
验证码:

相关文章

推荐文章

'); })();