冰与火之歌:数据分析的前世今生(二)

冰与火之歌:数据分析的前世今生(二)

一场与上帝的战斗

2017年5月27日,浙江乌镇,人机对弈。世界第一的柯洁在颤抖,他皱着眉,仿佛听到眼前黑白子之间刀来剑往的杀伐之声。俄而,他叹口气,捡两枚旗子丢到棋盘上,认输了。这个身穿黑衣的青年,狂傲不羁的天才,躬身站起,望了眼兵败如山倒的棋局,似乎又有些释然。没有惊喜,没有奇迹,当围棋上帝AlphaGo一骑绝尘时,他明白自己也走到十字路口上。

冰与火之歌:数据分析的前世今生(二)_第1张图片

围棋,是一个靠直觉而非计算的游戏,而AlphaGo是在尝试“用计算机拟合直觉”。具体说就是,通过深度神经网络,模仿人类下围棋这种直觉行为。而深度神经网络这种算法的实现,则依赖于对海量数据的挖掘与分析,d也就是我们接下来要讲的大数据分析。

大数据分析的优点

在讲大数据前,让我们回顾上一篇冰与火之歌:数据分析的前世今生(一)文末提到,基于统计学的数据分析有一些局限性:

  • 对数据的精确度要求很高
  • 很难做到实时分析
  • 无法回答数据搜集时未考虑的问题

而大数据能近乎完美地解决上述问题,解决的原因,我们可以从大数据的三个特征进行分析:

冰与火之歌:数据分析的前世今生(二)_第2张图片

海量数据规模

举个不太严谨的例子,假如我们要预测2017年北京高考数学平均分,方法是找出历年北京高考数学平均分与试卷难易度的关系,再根据2017北京数学卷的难易度,算出平均分。

冰与火之歌:数据分析的前世今生(二)_第3张图片

如果是统计学,因为无法处理海量的数据,则只能采用随机采样的原则,从每年的学生中随机抽取100人作为样本。假设有1个人的成绩录入出错,则误差为0.01。

如果是大数据,则将北京的6万考生全部作为处理数据,假设有100个人成绩录入出错,则误差为0.002。

从上面这个例子可以看出,统计学由于数据量小,一颗耗子屎打乱一锅粥。而大数据的数据规模如此庞大,所以允许数据有一定误差。

动态数据体系

大数据的采集、存储、处理都是实时进行的,所以能实时分析。而统计学的数据分析,则依赖于确定问题,再根据问题去搜集数据,数据的搜集无法做到实时,分析自然也无法实时。有兴趣的朋友可以看一下我的上一篇文章,这里不再赘述。

多样数据类型

从新泽西州的汇款诈骗说起

Xoom是一个专门从事跨境汇款业务的美国公司,它会分析一笔交易的所有相关数据。2011年,它注意到用“发现卡”从新泽西州汇款的交易量比正常情况多一些,于是启动报警。Xoom公司的首席执行官约翰·孔John Kunze)解释说:“这个系统关注的是不应该出现的情况。”单独来看,每笔交易都是合法的,但是事实证明这是一个犯罪集团在试图诈骗。而发现异常的唯一方法就是,重新检查所有的数据,找出统计学分析法错过的信息。

冰与火之歌:数据分析的前世今生(二)_第4张图片

大数据强调搜集所有的相关数据,所以能发现“未知的问题”。而传统的统计学分析,则只能等到问题爆发,才能回溯寻找原因,继而进行事后分析。孰优孰劣,自然一清二楚。

什么是大数据分析?

定义:对规模较大的数据进行分析,通常使用一些算法结合海量数据来预测某些事情发生的可能性

初看定义,同学们可能会很失望,看似深奥的大数据分析竟然可以用这么一句简单的话来概括?然而,越是简单的道理,实际操作起来往往越难。大数据分析,简单可以分为以下4步:

冰与火之歌:数据分析的前世今生(二)_第5张图片

收集

数据收集的核心:在于收集的最好是“全量”数据,至少是尽可能多维度的数据

屁股坐姿与防盗系统——数据维度

很少有人会认为一个人的坐姿能表现什么信息,但是日本先进工业技术研究所的教授越水重臣认为可以。当一个人坐着的时候,他的身形、姿势和重量分布都可以量化和数据化。越水重臣的团队通过在汽车座椅下部安装总共360个压力传感器以测量人对椅子施加压力的方式。把人体屁股特征转化成了数据,并且用0~256这个数值范围对其进行量化,这样就会产生独属于每个乘坐者的精确数据资料。

在这个实验中,这个系统能根据人体对座位的压力差异识别出乘坐者的身份,准确率高达98%。有了这个系统之后,汽车就能识别出驾驶者是不是车主;如果不是,系统就会要求司机输入密码;如果司机无法准确输入密码,汽车就会自动熄火。

如果仅仅只收集身形数据,或者只收集体重,系统都无法准确识别人的身份。大数据分析非常依赖数据的维度,数据的维度越多,数据量越大,大数据的价值也会倍增,可控分析的内容也会越多。

数据分类

IDC早在2011年的调查报告中就提到,非结构化数据占未来十年新生成数据的90%。所以,数据的收集,不单单是对结构化数据的收集,也包括非结构化数据。

数据类型 数据定义
结构化数据 即行数据,存储在数据库里,可以用二维表结构来逻辑表达实现的数据
半结构化数据 介于完全结构化数据(如关系型数据库、面向对象数据库中的数据)和完全无结构的数据(如声音、图像文件等)之间的数据
非结构化数据 不方便用数据库二维逻辑表来表现的数据即称为非结构化数据,包括所有格式的办公文档、文本、图片、XML、HTML、各类报表、图像和音频/视频信息等等

存储

以微信为代表的社交网络,和以淘宝为首的电子商务,把人类社会带入了一个以“PB”(1024TB)为单位的结构与非结构数据信息的新时代。

目前关系型数据库在可缩放方面几乎已经达到极限,无法处理如此量大、并且不规则的“非结构数据”的。而解决方案就是使用键值(Key-Value)存储数据库,这是一种 NoSQL(非关系型数据库)模型,其数据按照键值对的形式进行组织、索引和存储。KV存储非常适合不涉及过多数据关系业务关系的业务数据,同时能有效减少读写磁盘的次数,比SQL数据库存储拥有更好的读写性能。

下图是5种用于大数据处理的存储数据库:

冰与火之歌:数据分析的前世今生(二)_第6张图片

处理

数据处理的技术可以使用云计算,而处理数据的方法,便是利用算法结合数据预测某些事情发生的可能性。比如这两年风头正劲的今日头条,就是一个经典例子。它为用户推荐有价值的、个性化的信息,本质就是记录你的阅读内容、习惯、口味等,将这些数据标签化,再利用协同过滤、基于内容推荐等推荐算法,就能推荐你想看的新闻了。

以大数据分析的一个分支,机器学习算法为例,整个流程如图所示:

冰与火之歌:数据分析的前世今生(二)_第7张图片

下面,我会最经典的朴素贝叶斯分类算法来给大家讲解上面的流程。

问题建模

对现实问题进行抽象

假设豆瓣的老大久闻你的大名,给你提了这样一个需求:

这时,你会对需求进行分析,提取出以下两个关键词:

  • 不同用户:

    A喜欢的电影B可能不喜欢,所以我们的模型一定是基于用户的

  • 喜欢的电影:

    什么叫喜欢?什么叫讨厌?所以,我们需要量化喜欢的标准,最直接的办法就是用评分来做,5分代表非常喜欢,1分代表非常讨厌。

根据上述分析,我们就可以看出问题的本质,即我们要实现的东西——一个基于用户的电影评分系统。现在,我们来看看实现这个电影评分系统的两种方案:

  • 方案一:根据用户之前评分高的电影,推荐相似的电影
  • 方案二:A、B两个用户喜欢的电影很相似,可以给A推荐B喜欢的电影

第一种方法,就是基于内容的推荐算法;而第二种方法,就是基于用户的协同过滤算法。假如我们采用第一种方案,问题就可以被转化为下列表达:

  • 计算电影内容之间的相似度,两部电影越相似,它们的评分越可能相同
选择模型
朴素贝叶斯概述

众所周知,朴素贝叶斯是一种简单但是非常强大的线性分类器。它在垃圾邮件分类,疾病诊断中都取得了很大的成功。举个例子,你在街上看到一个黑人,我问你你猜这哥们从哪来的,你十有八九猜非洲。为什么呢?因为黑人中非洲人的比率最高,当然人家也可能是美洲人或亚洲人,但在没有其它可用信息下,我们会选择条件概率最大的类别,这就是朴素贝叶斯的思想基础。(篇幅所限,这里没有讲朴素贝叶斯的特征独立性以及数学原理,有兴趣的朋友请自行百度)

能否适合电影评分系统?

朴素贝叶斯是一个线性分类器,那么意味着它也能将电影进行分类:

好电影 较好电影 一般电影 较差电影 差电影
5 4 3 2 1

准备数据

这个不难,豆瓣老大发了一份电影评分资料给你:

用户 已看电影 评分
阿强 加勒比海盗5 4
阿强 神奇女侠 5
阿强 满城尽带黄金甲 1
小张 摔跤吧爸爸 5
…… …… ……
电影名 地区 投资 风格
加勒比海盗5 美国 $3亿 冒险
神奇女侠 美国 $2.5亿 冒险
满城尽带黄金甲 中国 $0.8亿 战争
摔跤吧爸爸 印度 $0.5亿 励志
…… …… …… ……

抽取特征

假设我们选取三个特征:地区、投资、风格,并对特征进行数字化处理:

  • 地区:美国 1 中国 2……
  • 投资:0:0-1亿 ,1:1-2亿 2:>2亿
  • 风格:冒险 1 战争 2……

训练模型

假设阿强对100部电影进行评分,我们选择其中80部电影作为训练样本,以此训练朴素贝叶斯模型,则对应下列流程图的第二步与第三步

冰与火之歌:数据分析的前世今生(二)_第8张图片

继续以阿强为例,在他看过的80部电影中,评分为5分的电影有20部,则对应的P(5)=20/80=25%,同理可得:

电影评分 评分概率
5 25%
4 20%
3 20%
2 20%
1 15%

在计算每个类别条件下各个特征属性划分的频率(由于P(x)对于所有类别来说是常数,所以只用计算分子):

P(美国片|电影评分=5分)= P(所有5分电影中美国片的占比)* P(5)
……

至此,模型训练完毕,我们就可以用来预测阿强未看过的电影评分了。篇幅所限,如果对整个过程有兴趣的同学请自行百度。

模型优化

我们可以看到,通过上面的模型只能得到整数型(5、4、3、2、1)的电影评分,所以可能出现下列两种情况:

  • 用户对电影A的评分是3.6分,对电影B的评分是3.4分,但是利用朴素贝叶斯分类给出的电影评分电影A就是4分,电影B就是3分;
  • 通过条件概率的计算,发现某电影评分为5分、4分、3分、2分、1分的概率分别为20.5%,19.5%,20%,20%,20%,那么根据朴素贝叶斯分类的原理,该电影的评分为5分,但实际该电影的评分很可能是1分

所以,从上面的那个例子可以说明,这是一种比较粗糙的分类方式,更适用于非A即B的分类方式,并不能准确地反应用户对一部电影的喜好程度。所以,这里就涉及到可以引入数据期望的方法,至于具体的优化方式,不再赘述。

应用

飓风与蛋挞的故事

沃尔玛公司注意到,每当在季节性飓风来临之前,不仅手电筒销售量增加了,而且POP-Tarts蛋挞(美式含糖早餐零食)的销量也增加了。因此,当季节性风暴来临时,沃尔玛会把库存的蛋挞放在靠近飓风用品的位置,以方便行色匆匆的顾客从而增加销量。

沃尔玛非常聪明的将数据分析的成果应用到他们的销售策略中,而你们如果想要成为一名数据分析师,也应该不断在实践中去运用数据分析的成果,才能真正成长起来。

写在最后&参考书目

无论是传统的统计学分析,还是时髦的大数据分析,它们的本质都是一脉相承的:对数据价值的挖掘与探索。只有在长期的实践中不断培养对数据的敏感性,不断努力向前,你才能成为一名优秀的数据分析师/产品运营/产品经理。《冰与火之歌:数据分析的前世今生》系列就到这里,下一期我们会带来Google、及策都在使用的“归因分析”系列。欢迎关注及策云课堂,也可以点此免费试用我们的产品。

以下是这个系列文章的参考书目,可以一读:

  • 《大数据时代》
  • 《深入浅出数据分析》
  • 《金字塔原理》
  • 《增长黑客》
冰与火之歌:数据分析的前世今生(二)_第9张图片

你可能感兴趣的:(冰与火之歌:数据分析的前世今生(二))