当前位置: 首页 > 新闻 > 信息荟萃
编号:1680
数据科学家修炼之道.pdf
http://www.100md.com 2020年1月14日
第1页
第9页
第13页
第22页
第40页
第184页

    参见附件(3943KB,373页)。

     数据天才:数据科学家修炼之道,这是一本关于数据科学讲解的书籍,提供数据库、统计模型、Hadoop、MapReduce、哈希连接等领域讲解,帮助读者多方面了解数据科学。

    数据科学家修炼之道介绍

    这是一本跟数据科学和数据科学家有关的“手册”,它还包含传统统计学、编程或计算机科学教科书中所没有的信息。

    本书有3个组成部分:一是多层次地讨论数据科学是什么,以及数据科学涉及哪些其他学科;二是数据科学的技术应用层面,包括教程和案例研究;三是给正在从业和有抱负的数据科学家介绍一些职业资源。

    本书中有很多职业和培训相关资源(如数据集、网络爬虫源代码、数据视频和如何编写API),所以借助本书,你现在就可以开始数据科学实践,并快速地提升你的职业水平。

    数据科学家修炼之道作者

    Vincent Granville博士,是一名富有远见的数据科学家,有15年大数据、预测建模、数字分析和业务分析的经验。Vincent在评分技术、欺诈检测和网络流量优化及增长等领域,是举世公认的专家。在过去的10年中,他曾与Visa一起研究实时信用卡欺诈检测,与CNET一起研究广告组合优化,与Microsoft(微软公司)一起研究“改变点检测”,与Wells Fargo(富国银行)一起研究在线用户体验,与InfoSpace一起研究搜索智能,与eBay一起研究自动竞价,与各大搜索引擎、广告网络和大型广告客户一起研究点击欺诈检测。Vincent也管理着LinkedIn上庞大的“大数据及分析数据科学家”小组,该小组拥有超过100000名成员。

    数据科学家修炼之道主目录

    第1章 数据科学是什么

    第2章 大数据的独特性

    第3章 成为一名数据科学家

    第4章 数据科学的技术(Ⅰ)

    第5章 数据科学的技术(Ⅱ)

    第6章 数据科学应用案例研究

    第7章 踏上你的数据科学职业之路

    第8章 数据科学资源

    这本书涵盖了什么内容

    将大数据和传统的算法应用到大数据时的挑战(例如在进行大数据聚类或分类时的解决方案)。

    一种统计科学上新颖、简化、对数据科学友好的方法,重点在于它是一种健壮的无模型方法。

    顶尖的机器学习方法(隐性决策树和组合特征选择)。

    新型数据的新指标(综合指标、预测能力、波动系数)。

    创建快速算法所需的计算机科学要素。

    MapReduce和Hadoop,以及Hadoop进行计算时的数值稳定性。

    数据科学家修炼之道截图

    目录

    内容简介

    专家推荐

    译者序

    关于作者

    关于技术编辑

    前言

    第1章 数据科学是什么

    真伪数据科学对比

    伪数据科学的两个例子

    新大学的面貌

    数据科学家

    数据科学家与数据工程师

    数据科学家与统计学家

    数据科学家与业务分析师

    13个真实世界情景中的数据科学应用

    情景1:国家对烈性酒销售的垄断结束后,DUI(酒后驾驶)逮捕量减

    少

    情景2:数据科学与直觉

    情景3:数据故障将数据变成乱码

    情景4:异常空间的回归

    情景5:分析与诱导在提升销量上有何不同价值

    情景6:关于隐藏数据

    情景7:汽油中的铅会导致高犯罪率。真的吗

    情景8:波音787(梦幻客机)问题

    情景9:NLP的7个棘手句子

    情景10:数据科学家决定着我们所吃的食品

    情景11:用较好的相关性增加亚马逊的销售量

    情景12:检测Facebook上的假档案或假“喜欢”数

    情景13:餐厅的分析

    数据科学的历史、开拓者和现代趋势

    统计学将会复兴

    历史与开拓者

    现代的趋势

    最近的问答讨论总结

    第2章 大数据的独特性

    两个大数据的问题

    大数据“诅咒”

    数据快速流动问题

    大数据技术示例

    大数据问题是数据科学所面临挑战的缩影

    大规模数据集的聚类和分类

    1亿行的Excel

    MapReduce不能做什么

    问题

    3种解决方案

    结论:何时使用MapReduce

    沟通问题

    数据科学:统计学的终结

    8种最差的预测建模技术

    把计算机科学、统计学和行业专业知识结合在一起

    大数据生态系统

    总结

    第3章 成为一名数据科学家

    数据科学家的主要特征

    数据科学家的职能

    横向与纵向数据科学家

    数据科学家的类型

    伪数据科学家

    自学成才的数据科学家

    业余数据科学家

    极限数据科学家

    数据科学家人群特征

    数据科学方面的培训

    大学课程

    公司和协会培训项目

    免费培训项目

    数据科学家职业道路

    独立顾问

    创业者

    总结第4章 数据科学的技术(I)

    新型指标

    优化数字营销活动的指标

    欺诈检测的指标

    选择合适的分析工具

    分析软件

    可视化工具

    实时产品

    编程语言

    可视化

    用R生成数据视频

    更复杂的视频

    无模型的统计建模

    无模型的统计建模是什么

    该算法是如何工作的

    源代码生成数据集

    三类指标:中心性、波动性、颠簸性

    中心性、波动性和颠簸性之间的关系

    定义颠簸性

    在Excel中计算颠簸性

    使用颠簸系数

    大数据的统计聚类

    大数据的相关性和拟合度

    一系列新的秩相关性

    渐近分布与归一化

    计算复杂度

    计算q(n)

    理论上的解决方案

    结构系数

    确定簇的数量

    方法

    例子

    网络拓扑映射

    安全通信:数据加密

    总结

    第5章 数据科学的技术(II)

    数据字典什么是数据字典

    建立数据字典

    隐性决策树

    实现方法

    示例:互联网流量打分

    结论

    与模型无关的置信区间

    方法

    分析桥第一定理

    应用

    源代码

    随机数

    解决问题的4个办法

    拥有超强直觉能力的业务分析师的直观法

    软件工程师的蒙特卡洛模拟法

    统计学家的统计建模方法

    计算机科学家的大数据方法

    因果关系和相关性

    怎样检测因果关系

    数据科学项目的生命周期

    预测模型的错误

    逻辑相关回归

    变量之间的相互作用

    一阶近似

    二阶近似

    用Excel进行回归分析

    实验设计

    有趣的指标

    把患者分成不同的人群进行治疗

    私人定制的治疗

    分析即服务和应用程序接口

    工作原理

    实施案例

    关键词相关的API的源代码

    其他主题

    当数据库改变时,保存好数值

    优化网络爬虫哈希连接

    用于模拟簇的简单源代码

    Hadoop和大数据的新型合成方差

    Hadoop和MapReduce的介绍

    综合指标

    Hadoop、数值的和统计的稳定性

    方差的抽象概念

    一个新的大数据定理

    平移不变性的度量标准

    实现:通信和计算成本

    最终意见

    总结

    第6章 数据科学应用案例研究

    股票市场

    使回报率提高500%的模式

    优化统计交易策略

    股票交易的API:统计模型

    股票交易的API:具体实现

    股票市场模拟

    些许数学知识

    新趋势

    加密

    数据科学应用:隐写术

    好的电子邮件加密

    验证码破解

    欺诈检测

    点击欺诈

    连续点击评分与二进制欺诈非欺诈

    数学模型与基准

    虚假转化产生的偏差

    一些误解

    统计面临的挑战

    点击评分优化关键词出价

    组合优化自动快速的特征选择

    特征的预测能力:交叉验证

    勾连检测和僵尸网络的关联规则检测

    模式检测的极值理论数字分析

    在线广告:到达率和频率的计算公式

    电子邮件营销:提高300%的性能

    在7天内优化关键词广告宣传活动

    自动新闻提要优化

    用bit.ly进行竞争情报分析

    测量Twitter哈希标签(hashtag)的收益

    用3个修补方法提升谷歌搜索

    改进相关性的算法

    广告循环问题

    杂项

    简单模型会获得更好的销售预测

    更好的医疗欺诈检测

    归因模型

    预测陨石撞击

    在路口停车场收集数据

    数据科学的其他应用

    总结

    第7章 踏上你的数据科学职业之路

    面试问题

    关于工作经验的问题

    技术问题

    一般性问题

    关于数据科学项目的问题

    测试你自己的视觉和分析思维

    通过肉眼的检测模式

    识别偏差

    误导性的时间序列和随机游走

    从统计学家到数据科学家

    数据科学家也是统计从业人员

    谁应该给数据科学家教统计学

    雇佣问题

    数据科学家与数据架构师密切合作

    谁应该参与战略思考

    两种类型的统计学家

    大数据与取样

    数据科学家的分类数据科学最流行的技能集合

    LinkedIn上的顶级数据科学家

    400个数据科学家职位头衔

    薪酬调查

    根据技能和位置的薪酬分类

    创建自己的薪酬调查表

    总结

    第8章 数据科学资源

    专业资源

    数据集

    书籍

    会议与组织

    网站

    概念定义

    职业建设资源

    招聘数据科学家的公司

    数据科学招聘广告的样本

    简历样本

    总结Developing Analytic Talent: Becoming a Data Scientist, 978-1118810088,Vincent Granville

    Copyright ? 2014 by John Wiley Sons, Inc.Indianapolis, Indiana

    All rights reserved. This translation published under license.

    图书在版编目(CIP)数据

    数据天才:数据科学家修炼之道 (美)文森特·格兰维尔(Vincent

    Granville)著;吴博,张晓峰,季春霖译. —北京:电子工业出版社,2017.5

    书名原文:Developing Analytic Talent: Becoming a Data Scientist

    ISBN 978-7-121-30883-3

    Ⅰ. ①数… Ⅱ. ①文…②吴…③张…④季… Ⅲ. ①数据管理 Ⅳ.

    ①TP274

    中国版本图书馆CIP数据核字(2017)第021480号

    责任编辑:付 睿

    印 刷:

    装 订:

    出版发行:电子工业出版社 北京市海淀区万寿路173信箱 邮编:

    100036

    开 本:787×980 116

    印 张:22.25

    字 数:385千字

    版 次:2017年5月第1版印 次:2017年5月第1次印刷

    >>更多新书朋友圈免费分享微信xueba987内容简介

    这是一本跟数据科学和数据科学家有关的“手册”,它还包含传统统

    计学、编程或计算机科学教科书中所没有的信息。

    本书有3个组成部分:一是多层次地讨论数据科学是什么,以及数

    据科学涉及哪些其他学科;二是数据科学的技术应用层面,包括教程和

    案例研究;三是给正在从业和有抱负的数据科学家介绍一些职业资源。

    本书中有很多职业和培训相关资源(如数据集、网络爬虫源代码、数据

    视频和如何编写API),所以借助本书,你现在就可以开始数据科学实

    践,并快速地提升你的职业水平。

    本书是写给数据科学家和相关专业人士的(如业务分析师、计算机

    科学家、软件工程师、数据工程师和统计学家),也适合有兴趣转投大

    数据科学事业的人阅读。专家推荐

    数据科学家是商业分析、统计学和计算机科学等领域的通才,成为

    数据科学家正成为年轻人的新梦想。光启高等理工研究院季春霖副院长

    推荐我读这本他参与翻译的书之后,我一开始期望这是一本数学味、计

    算机味很浓的书籍。后来,完全出乎意料,这本书行文竟然如此清晰明

    白,原理与观点娓娓道来,并剖析了大量实际而有趣的案例,读起来丝

    毫没有教科书式的刻板感。通过本书,你可以了解一个数据科学家所需

    的完善的知识体系,包括商业分析、数据库、统计模型、蒙特卡洛模

    拟、机器学习、Hadoop、MapReduce、哈希连接等。本书显然为有梦想

    的你在通往数据科学家的道路上铺就了阶梯,我相信你只要拾阶而上,到达目的地就是确定无疑的。

    ——王磊 国家统计局高级统计师

    中国国际经济交流中心金融学博士后

    北京大学肿瘤医院核医学科客座教授

    2017年大数据行业已经从上半场开始挺进下半场,数据在不知不觉

    中影响着我们的生产、生活、娱乐等方方面面。我们深耕在行业,深知

    目前国内从行业角度真正缺乏的是有着商业精神的数据科学家,本书从

    场景出发给我们展示了如何成为数据天才。我与吴博、晓峰、春霖交流

    很多,他们有深厚的学术素养,但仍实实在在地做着数据商业,恰恰这

    一点也是目前国内缺乏的,我一直认为在中国不缺数据技术人才,但缺

    乏的是真正懂商业的数据天才、数据科学家。希望大家能从本书中汲取

    知识,真正走向数据科学的商业之路。

    ——汪祥斌 DataEye创始人、CEO

    数据科学家是“21世纪最性感的职位”,全球到2018年对数据科学家

    有上千万的职位空缺,仅中国就稀缺上百万这样的人才。这本《数据天

    才:数据科学家修炼之道》是成为数据科学家的必备宝典。书中对数据

    科学有着翔实的介绍,并针对数据科学家日常工作中所需的技能进行了深度的剖析,辅以大量的实用案例分析,有助于快速提升大家对数据科

    学的理解和应用。本书势必会成为继维克托·迈尔-舍恩伯格的《大数据

    时代》后的又一经典大作!

    ——刘金玲 中国大数据产业第一媒体“36大数据”创始人

    大数据是近年来媒体的热点话题,大数据时代在科学领域里的表现

    就是数据科学的兴起。那么人们不禁会问:什么是数据科学以及如何成

    为数据科学家?作者通过本书及时地为读者用一种全景式的方式给出了

    答案。本书以通俗易懂的语言风格和众多的真实案例,讲活了大数据与

    数据科学,全面而又深入浅出地阐明了数据科学的实质与内涵,揭示了

    数据科学家的修炼秘笈。相信不同读者一定都能从书中得到启发,了解

    价值,找到灵感,更好地以全新的视角审视自己的专业领域以及汲取更

    多的新理念、新思想。

    ——谌东宇 教授 深圳云数通科技有限公司总裁

    前海云游数据运营(深圳)有限公司首席数据官

    西南交通大学数学学院客座教授

    人生的关键决策只有几个,择业就是其中之一。良好的职业决定和

    素质准备来自于对未来的场景有清晰而且正确的认知。吴博的这本译

    著,不仅能够帮助我们认识未来几十年社会、商业和技术场景中的数据

    行业,数据科学家的是和不是,更重要的是提供了修炼自己的宝鉴。本

    书横跨中美视野、结合生活事件的描述,使得我们带着轻松、开心的心

    情完成对数据科学的认知、体悟,让人有一种跃跃欲试和大展宏图的感

    觉。实在是4.0时代必备的一本书!

    ——郑立新 德摩资本董事长

    2017年3月14日于深圳献给我挚爱的妻子Paris、可爱的女儿Capri和儿子Zinal,感谢他们

    长久以来的支持。献给我怀念的父亲Roger,感谢他在我孩提时代引领

    我接触到数学。译者序

    本书最适合有志于在大数据与数据科学领域从业的人学习。格拉德

    威尔在《异类》一书中强调,“若要成为行业专家,离不开十万小时的

    刻意学习(deliberate learning)”,这跟中国俗语里“板凳要坐十年冷”有

    些类似。但要实现刻意学习,就不能一味依赖通识科普书籍。在大数据

    与数据科学领域,市面上已不缺通识性的科普书籍,唯缺这类烧脑、有

    专业性、适合进行刻意学习的数据科学书籍。

    本书不失专业性,但也不是令人生畏的大学教材。它处处体现理论

    与实践的结合,还兼顾技术与商业的平衡。这要归功于原作者Vincent是

    学术、技术、商业三栖高手。比如书中对于星空双星的估算、陨石撞地

    球的建模推算,让作者在数学奥赛方面的天分展现得淋漓尽致;在垃圾

    邮件、水印加密、点击欺诈等案例中,作者又分享了诸多为大公司实施

    数据项目的经验;在方案选择、股市预测等场景中,作者更侧重商业视

    角,帮读者提升对数据科学方法投入产出比及适用性的敏感度。

    本书虽然专业度高,但也因为案例翔实、讲求实际,适合其他行业

    或领域的人士阅读。特别建议业务跟数据息息相关的企业负责人或高

    管,或者对数据相关项目感兴趣的投资者品读。毕竟数据科学家这一高

    层职位,跟企业负责人及高管的对接较多。虽说好的数据科学家,应具

    备与非技术人士沟通的能力,但作为数据科学家的领导,一旦多懂一些

    数据科学的思考模式及流程,便会对数据科学家有更多理解,也会对数

    据化的决策有更深的认识。

    本书也传递出对行业热词的审慎态度。比如本书就对“大数据”的缘

    起、演变、更替、历史、迷思和幻象,着墨不少。就像书中所说,大数

    据领域许多看似新的方法,可以追溯到二三十年前,如今的不少创新,实乃新瓶旧酒。想必读者从Gartner的成熟度曲线里,可以看到大数据一

    词已渡过巅峰、渐趋理性,与之相随的,是跟数据科学息息相关的人工

    智能(AI)重新崛起。若理解本书的立场和价值取向,就知道人工智能60多年来几起几落,不少如今大放异彩的方法,也可找到前身。透过现

    象看本质,人工智能多少因为数据体量更大、数据分析更细、计算能力

    更强,才成为行业焦点。忽视基础理论盲目追随人工智能热点无异于舍

    本逐末,认真和刻意学习数据科学及人工智能的基础理论和实践,方是

    正途。

    正因为这本书内容如此之好,能满足读者所需,于是我痛快答应电

    子工业出版社付睿编辑的邀约来翻译本书。但这个小想法变成最终成

    品,却耗费不少人的时间和精力,对他们的感谢和亏欠不能尽录。我最

    要鸣谢翻译合作者光启研究院的副院长季春霖博士,还有在哈工大深圳

    研究生院任教的张晓峰博士,两位的研究和管理任务都很繁重,面对译

    书这种流程漫长、成效滞后的工作,他们展现了学界出身的坚韧素养,而在翻译校对本书的过程中,又处处体现出手不凡的专业功力。同时,也要感谢配合翻译校对本书的助手和出版社工作人员,他们对我有莫大

    的包容和支持。本书准备期间,也正是我的一对小孩——泰学和雅学

    ——从孕育到出生的过程,所以要感谢我的太太熊瑛,容许我为本书挤

    出不少本来可以陪伴家人的时间。

    最后,我还要代表季春霖博士感谢广东省自然科学杰出青年基金项

    目(No.S20120011253)和深圳市数据科学与建模技术重点实验室的资

    助。也要感谢我所在的宜远智能团队,他们在将本书中许多数据科学方

    法实践到医疗健康领域时,提出了诸多宝贵的翻译修正补充建议。当

    然,对专业内容的翻译,难在对作者见识的理解和原意的把握,所以总

    有力有不逮、不甚精确之处,请各位读者和专家对此海涵,提出宝贵的

    建议。

    本书译者 吴博关于作者

    Vincent Granville 博士是一名富有远见的数据科学家,有15年大数

    据、预测建模、数字分析和业务分析的经验。Vincent在评分技术、欺诈

    检测和网络流量优化及增长等领域,是举世公认的权威专家。在过去的

    10年中,他曾与Visa一起研究实时信用卡欺诈检测,与CNET一起研究

    广告组合优化,与Microsoft(微软公司)一起研究“改变点检测”,与

    Wells Fargo(富国银行)一起研究在线用户体验,与InfoSpace一起研究

    搜索智能,与eBay一起研究自动竞价,与各大搜索引擎、广告网络和大

    型广告客户一起研究点击欺诈检测。Vincent也管理着LinkedIn上最大

    的“大数据及分析数据科学家”小组,该小组拥有超过100 000名成员。

    最近,Vincent推出了数据科学中心(Data Science Center)这个大

    数据、业务分析和数据科学界的领先社区。Vincent曾是剑桥大学和美国

    国家统计科学学院的博士后。他曾入围沃顿商业计划竞赛和比利时数学

    奥林匹克的决赛。Vincent已经在统计期刊上发表了40篇论文,并且是许

    多国际会议的受邀演讲嘉宾。他还开发了一种新的数据挖掘技术,被称

    为隐性决策树,他还拥有多项专利,是发表数据科学书籍的第一人,并

    筹集了600万美元的创业启动资金。根据福布斯的排名,Vincent是大数

    据领域前20位有影响力的人物之一,被VentureBeat、MarketWatch和美

    国有线新闻网(CNN)专门报道。Vincent的Twitter账号

    为@Analyticbridge 。关于技术编辑

    Joni Ngai 是一位数字化传播者,在财富500强企业任职高管,负责

    数字视觉开发,以及利用技术和数据来吸引大量当今互联世界里的客

    户。她拥有带领机构和客户在数字业务、客户关系管理(CRM)、网

    络媒体、分析和技术发展领域进行新尝试的丰富经验。从2000年开始,Joni在纽约的Razorfish公司开始了她的数据咨询职业生涯。此后,她在

    许多顶尖的数字化机构里工作过,如MRM Worldwide和Havas Digital。

    还有亚太地区的一些全球品牌,如Intel(英特尔公司)、Microsoft(微

    软公司)和PG(宝洁公司)。她曾是I-COM China的副主席,这是一

    个由工业界所支持的全球数字度量论坛,该论坛通过促进在线指标度量

    标准化的发展,帮助相关行业成长。

    Joni毕业于滑铁卢大学,主修电气工程,并辅修管理学。她还获得

    了西北大学凯洛格管理学院和香港科技大学的行政工商管理硕士学位。

    她也在香港中文大学传授新媒体理科硕士课程。前言

    这是一本跟数据科学和数据科学家有关的“手册”,它还包含传统统

    计学、编程或计算机科学教科书中所没有的信息。凭借作者在数据科学

    领域20多年的领导者地位,他在本书中收集了他认为对从事数据科学职

    业最重要的一些信息。在过去3年里,本书中的很多内容首先被发表在

    Data Science Central官网上,被数百万的网站用户所阅读。本书介绍了

    数据科学与其他相关领域的差异,以及使用大数据能给组织带来的价

    值。

    本书有3个组成部分:一是多层次地讨论数据科学是什么,以及数

    据科学涉及哪些其他学科;二是数据科学的技术应用层面,包括教程和

    案例研究;三是给正在从业和有抱负的数据科学家介绍一些职业资源。

    本书中有很多职业和培训相关资源(如数据集、网络爬虫源代码、数据

    视频和如何编写API),所以借助本书,你现在就可以开始数据科学实

    践,并快速地提升你的职业水平。如果你是一位决策者,你会在本书中

    找到一些信息,来帮助你建立更好的分析团队,以及决定是否需要及何

    时需要专业的解决方案,以及哪些方案最为恰当。

    这本书是写给谁的

    这本书是写给数据科学家和相关专业人士的(如业务分析师、计算

    机科学家、软件工程师、数据工程师和统计学家),以及有兴趣转投大

    数据科学事业的人。本书也是为学习定量课程、想成为数据科学家的大

    学生所准备的。最后,本书也可供数据科学家的上级领导、想创建数据

    科学初创公司开展业务或提供数据科学咨询的人阅读。

    这些读者将在本书中找到有价值的信息,特别是在以下几章中。

    第2、4、5、6章对数据科学工作者 特别有价值,因为它们包含大

    数据技术内容(如聚类和分类技术),以及前沿数据科学技术,如

    组合特征选择、隐性决策树、分析类API、判断MapReduce何时有

    用等。这些章节里很多案例研究(如欺诈检测、数字分析、股票市

    场策略和其他更多)的说明非常详细,详细到可以让读者在实际工

    作中面临类似数据时,能沿用这些案例的分析方法。然而,它们的

    文字描述都很简单,高层管理人员不用花太多时间在细节、代码或

    公式上,也能阅读下来。

    修读计算机科学、数据科学或工商管理硕士课程的学生 ,会在第

    2、4、5、6章中找到对他们有用的信息。特别是在第2、4、5章,他们能从中找到进阶内容,如实际的数据科学方法和原则,这些在

    一般的教科书或典型的大学课程里都没有。第6章还介绍了现实生

    活应用和案例研究,并包含更深入的技术细节。

    求职者 将会在第3章中找到有关数据科学的培训和课程资源。第

    7、8章为求职者提供了大量的资源,包括面试问题、简历模板、招

    聘广告样板,经常招聘数据科学家的公司的清单,以及薪资调查

    等。

    对于想要创建一个数据科学创业公司或顾问公司的企业家 ,在第3

    章中会找到商业计划书样板、创业公司点子和针对顾问职位的薪酬

    调查。同时,在本书中,数据顾问会了解如何提高数据科学工作沟

    通效率,掌握数据科学项目的生命周期,并得到相关书籍、会议参

    考和许多其他资源。

    对于试图评估数据科学的价值和它们对企业项目的益处,以及评估

    MapReduce架构何时有用的高管们 ,会在第1、2、6(案例部

    分)、8章(招聘广告样板、简历、薪金调查)中找到有价值的信

    息。这些章节的重点通常不是技术。顶多会在第2章和第6章介绍一

    些新的分析技术。

    这本书涵盖了什么

    本书的技术部分包括数据科学的核心内容,比如:

    将大数据和传统的算法应用到大数据时的挑战(例如在进行大数据

    聚类或分类时的解决方案)。一种统计科学上新颖、简化、对数据科学友好的方法,重点在于它

    是一种健壮的无模型方法。

    顶尖的机器学习方法(隐性决策树和组合特征选择)。

    新型数据的新指标(综合指标、预测能力、波动系数)。

    创建快速算法所需的计算机科学要素。

    MapReduce和Hadoop,以及Hadoop进行计算时的数值稳定性。

    重点还是最新的技术。在本书中你不会找到关于旧技术的资料介

    绍,如线性回归(除非在引文里涉及),因为这些在经典书籍里已经讨

    论了很多。在本书中,对逻辑回归类的知识讨论不多。我们只是将逻辑

    回归与其他分类器混合,提出一种数值稳定的近似算法(近似的解决方

    案往往和精确模型一样有效,毕竟没有任何数据完全符合理论模型)。

    除了技术,本书还提供了有用的工作资源,包括工作面试的相关问

    题、简历模板和招聘广告样板。本书的另一个重要组成部分是案例研

    究。本书的案例研究,有些带有统计或机器学习的意味,有些则跟商业

    或决策科学或运筹学有关,有些则关乎数据工程。大多数时候,我喜欢

    Data Science Central(这是个数据科学家的领先社区)上最新发表和非

    常热门的主题,而不是我特别重视的话题。

    本书是如何架构的

    本书由三大主题构成。

    数据科学和大数据是什么和不是什么,以及与其他学科的区别(第

    1、2、3章)。

    职业和培训资源(第3章和第8章)。

    用作教程的技术材料(第4章和第5章,以及第2章中关于大规模数

    据集聚类和分类的内容,第8章中关于Hadoop的新变化和大数据的

    内容),以及案例研究(第6章和第7章)。

    本书为潜在的和现有的数据科学家和相关专业人员(以及他们的管

    理者和老板)提供了宝贵的职业资源。宽泛而言,本书适用于所有处理

    更大、更复杂、更新、频率更快的数据的专业人士。本书还提供一些数

    据科学的秘诀、技巧、概念(其中许多是原创和首次公开的)、带实施方法和技术的案例研究,以及已经在不同领域,不论是手动还是自动,能成功分析现代数据的技术。

    阅读本书你需要什么知识

    这本书包含了少量的R或Perl示例代码。你可以

    在http:www.activestate.comactiveperldownloads 下载Perl,在http:cran.r-project.orgbinwindowsbase 下载R。如果你使用

    Windows计算机,首先需要安装一个Linux式环境:Cygwin。你可以

    在http:cygwin.cominstall.html 上下载Cygwin软件。Python也是开

    源的,且有一个有用的、被称为Pandas的库。

    如果你有一两年大学基本定量课程的知识基础,就足以理解书中大

    多数内容。本书不需要微积分或高等数学的相关知识——事实上,它几

    乎不包含任何数学公式或符号。

    然而,本书也包含一些高度概括性的进阶材料。本书中的一些技术

    讲义,是针对那些对数学更有倾向和有兴趣深入挖掘的读者。有两年大

    学微积分、统计学和矩阵理论知识的读者,将能更好地理解这些技术细

    节。本书提供了一些源代码(R、Perl)和数据集,但本书的重点不是

    编码。

    本书通过多种技术水平混合的介绍方式,让你不用具备高级数学知

    识,也有机会深度探索数据科学(这有点像Carl Sagan向主流公众介绍

    天文学的方式)。

    惯例标记

    为了帮助你从本书中学到最多的东西,而不是一头雾水,我们将在

    本书中使用惯例标记。

    注意 本书中的注意、提示、交叉参考,以及对当前讨论的辅助

    说明,将像这个注意的方式显示。至于文本的样式标记如下。

    当我们介绍术语和重要的词时,我们会用楷体突出它们。

    快捷键用这种方式表示:Ctrl+A。

    我们在书中显示文件名、链接和代码的格式如下。

    persistence.properties

    我们介绍代码的格式如下。

    对于大多数代码,我们使用Courier New 字体,不加粗。

    致谢

    我要感谢来自Wiley的Chris Haviland和Carol Long,他们对本书的出

    版有很大的贡献,承担了不少风险,他们把我很多有价值、分散未经组

    织的在线文章,整合成一本连贯、全面和有用的书。从许多方面来看,这个复杂的过程类似于将非结构化数据转化为结构化数据,这是许多数

    据科学家经常面对的常规挑战,而这本书也正好提供了将非结构化数据

    转化为结构化数据的解决方案。同时,我要感谢我的商业伙伴和共同创

    始人Tim Matteson,他帮助Data Science Central这个网站成为数据科学社

    区的领导者,还变成了一个现代的、专注于产生价值的创业项目。最

    后,我要感谢我们社区的所有成员,感谢他们的评论和支持。如果没有

    他们的帮忙,本书也无法出版。

    读者服务

    轻松注册成为博文视点社区用户(www.broadview.com.cn),扫码

    直达本书页面。

    提交勘误 :您对书中内容的修改意见可在提交勘误 处提交,若被

    采纳,将获赠博文视点社区积分(在您购买电子书时,积分可用来

    抵扣相应金额)。

    交流互动 :在页面下方读者评论 处留下您的疑问或观点,与我们

    和其他读者一同学习交流。第1章

    数据科学是什么

    要理解某样东西是 什么,有时需要清楚地了解它不是 什么。理解

    数据科学也不例外。正因为数据科学这个词已被滥用,围绕大数据和数

    据科学又有诸多炒作,因此本章开篇要探讨什么不是数据科学。首先,我们要思考真数据科学跟伪数据科学的差异。其次,我们要了解数据科

    学训练是怎样从大学课程进化而来的。再次,我们会检视一些现实世界

    场景中应用现代数据科学的例子。

    最后,我们回顾下数据科学的历史,以及它如何从计算机科学、业

    务优化及统计学演化成现代数据科学的过程。本章结尾是我近期参与讨

    论而提炼出的问答环节,描绘了数据科学家、数据架构师和业务分析师

    的分歧和矛盾之处。

    本章提出的问题比解答的问题多,更多的解答细节将在后续章节中

    给出。这一做法是为了让你学会数据科学家的思维方式,抓住如今大数

    据行业的重点,摒弃那些过时的手法,从而明白如果对数据科学这一职

    业感兴趣,哪些内容不需要深究。举例来说,你需要知道统计学、计算

    机科学和机器学习,但并不需要对这些领域无所不知。你没必要纠结排

    序算法复杂度的细节(只需要了解排序算法复杂度的一般性结论),也

    不用知晓如何计算矩阵的广义逆,甚至连矩阵广义逆是什么(这可是统

    计学理论的一大核心)都不必知道,除非你对数据科学数值层面的东西

    很在行。

    技术讲义

    对数学和技术知识掌握很少的读者也能阅读本章。你们可以选择跳过列在“技术讲义”里的高深内容。

    交叉参考 本书提到的大部分术语可以在第8章中找到定义。

    真伪数据科学对比

    数据科学书籍、认证和文凭,如雨后春笋般层出不穷。不幸的是,许多仅仅是镜花水月:许多人钻了这一新名词的空子,将旧酒(比如统

    计学和R编程)放在“数据科学”这个新瓶里。

    补充说一下R语言编程跟伪数据科学为何扯上了关系:R是一种有

    20多年历史的开源统计编程语言及编译环境,是商业化产品S+的后继

    者。R一直以来都局限于内存数据处理,在统计圈子里非常流行,并因

    其出色的可视化效果为人称道。一些新型的开发环境通过创建R程序包

    或者将其扩展到分布式架构里(比如将R与Hadoop结合的RHadoop),将R(限于在内存里处理数据)的能力扩大。其他程序语言当然也存在

    跟伪数据科学沾边的情况,比如说SAS,但不及R这么流行。说到

    SAS,它价格高昂,在政府机构或者实体企业的应用更为广泛。但在过

    去10年数据快速增长的领域(如搜索引擎、社交媒体、移动数据、协同

    过滤推荐等)运用不多。R跟C、Perl或者Python的语法不一样(后三者

    语法根源一样),其简易性使得写R的程序员比较广泛。R还有很多程

    序包和不错的用户界面,SAS却难学很多。

    更混淆的事情是,管理决策层在搭建其数据科学家团队时,有时也

    不是很清楚他们想要的到底是什么。他们往往最终招募的是很纯粹的技

    术极客、计算机科学家,或者缺乏恰当大数据经验的人。人力资源部门

    对于数据科学的了解也不会好到哪里,因此导致更为严重的问题,他们

    给出的招聘广告就是不断重复类似的关键词:Java、Python、MapReduce、R、Hadoop和NoSQL。但数据科学真的就是这些技能的混

    合吗?>>更多新书朋友圈免费分享微信xueba987

    MapReduce只是一个将数据分解为子集,在不同机器上分开处理,并把所有结果集合起来,从而处理大数据的泛化框架。因此它涉及的是处理大数据的分布式框架,用到的这些服务器和设备则组成云 (Cloud)。

    Hadoop是MapReduce的一种实现,就像C++是面向对象编程的实现

    一样。NoSQL意味着“Not Only SQL(意为不单只是SQL)”,是指能更

    新颖、更高效地访问(比如MapReduce)数据的数据库或数据库管理系

    统,有时它是作为SQL(标准数据库查询语言)之下的隐藏层而存在

    的。

    交叉参考 参见第2章,更多地了解MapReduce所不能做到的事

    情。

    除了MapReduce以外,还有其他框架——例如,图形数据库和环

    境,它们依赖于节点和边这类概念,来管理和访问数据(通常是空间数

    据)。这些概念并不一定是新的。在谷歌存在之前,分布式体系结构已

    被应用到搜索技术环境中了。15年前,我写Perl脚本进行哈希连接 (一

    种NoSQL连接,用来连接或合并数据库中的两个表)。然而,现在一些

    数据库厂商提供的哈希连接,是SQL连接的一个快速替代品。哈希连接

    在本书后面还会讨论到。它们使用哈希表,并依赖于名称-值对 的形

    式。我想说的结论是,有时MapReduce、NoSQL、Hadoop、Python(一

    种优秀的脚本语言,往往用于处理文本和非结构化数据)会被认为是

    Perl的后继者,但它们根源于几十年前就开发出的系统和技术,只是在

    过去的10年里变得更成熟而已,但数据科学并不只是这些。

    事实上,你可以成为一名真正的数据科学家,且不需要掌握这些技

    能。NoSQL和MapReduce不是新概念——在这些关键词被创建之前,就

    有很多人接触到它们。但要成为一名数据科学家,你需要以下能力。

    敏锐的商业头脑。

    真正的大数据专业知识(例如,可以在几个小时内快速地处理一个

    5 000万行的数据集)。

    认知数据的能力。

    对模型具有猜疑精神。

    了解大数据“诅咒”。

    有能力沟通并理解管理人员正在试图解决哪些问题。

    能正确评估付你工资所能带来的回报(ROI)或效益提升(lift)。

    能够快速地识别一个简单的、健壮的、可扩展的解决方案。能够说服并推动管理人员,即使不情愿,也要为了公司、用户和股

    东的利益,转到正确的方向上。

    真正热爱数据分析。

    成功案例的实际应用经验。

    数据架构知识。

    数据收集和清理技能。

    计算复杂度的基础知识——如何开发健壮的、高效的、可扩展的、可移植的架构。

    良好的算法知识。

    数据科学家在商业分析、统计学和计算机科学等领域也是通才,比

    如会掌握这些专业知识:健壮性、实验设计、算法复杂度、仪表盘和数

    据可视化。一些数据科学家也是数据策略师——他们可以开发数据收集

    策略,并使用数据来发现可操作的、能对商业产生影响的见解。这就要

    求数据科学家具有创造性,能根据业务要求,制定分析、提出解决方

    案。

    要理解数据科学,所需的基本数学知识包括:

    代数,如果可能的话,包括基本矩阵理论。

    微积分入门课程。要掌握的理论不多,只需要理解计算的复杂度和

    O 标记法即可。了解特殊函数,包括对数、指数、幂函数。微分方

    程、积分和复数不是必要的。

    统计与概率的入门课程,要了解随机变量、概率、均值、方差、百

    分位数、实验设计、交叉验证、拟合度和稳健统计的概念(不需要

    了解技术细节,而是达到本书介绍的程度即可)。

    从技术的角度,要掌握的重要技能和知识有R、Python(或Perl)、Excel、SQL、图形(可视化)、FTP、基本的UNIX命令(sort、grep、head、tail、管道和重定向操作符、cat、cron定时等),以及对如何设计

    和访问数据库有基本了解。了解分布式系统如何工作和在哪里能发现瓶

    颈(是在硬盘和内存之间的数据传输,还是在互联网上),这也很重

    要。最后,要了解网络爬虫基本知识,这有助于获取互联网上能找到的

    非结构化数据。伪数据科学的两个例子

    这里有两个伪数据科学的例子,说明数据科学家要开展工作,为什

    么需要遵循标准和最佳实践。这里讨论的例子,并不是说它们是不好的

    产品——实际上,它们有很多的内在价值——但跟真的数据科学无关。

    原因有以下两点:

    首先,部分统计学家没有参与到大数据革命中。虽然有些人还写了

    关于应用数据科学的书,但只是重新包装原来的统计课程。

    第二,适合大数据集的方法需要变化——按2005年的大数据定义,当有2 000万行数据时,才有资格成为大数据——但2010年后不能

    再这样划分,因为大数据至少是TB级的。

    不少人认为数据科学是统计学的一个新名字,他们把数据科学和伪

    数据科学,以及2005年的大数据定义与2013年的大数据定义弄混淆了。

    现代数据也有很大的不同,已经被描述为3个V:速度(velocity)(实

    时、快速流动)、多样化(variety)(结构化、非结构化,如微博内

    容)和大数据量(volume)。我会增加真实性(veracity)和价值

    (value)。要了解详细信息,请阅读第2章对数据流动速度超过处理速

    度的讨论。

    交叉参考 更多关于统计学家与数据科学家的对比,请参阅第4

    章。

    例子1:某一本数据科学电子书

    查看一所著名大学2012年的数据科学训练手册,书的大部分内容是

    关于旧的统计理论。这本书用R来说明各种概念。当用逻辑回归处理仅

    仅1万行数据时,并不是大数据科学,它是伪数据科学。这本电子书全

    部关于小 数据,最后几章例外,在那里你会学到一点SQL(嵌入在R代

    码中)的知识和如何使用R包从Twitter提取微博内容,且创造出作者所

    说的词云(它和云计算没关系)。

    即使提取Twitter内容的项目也还是小数据,也没有分布式体系结构

    (例如,MapReduce)。事实上,该书从来没有谈到数据架构。该书的水平是初级的。每章以简单的英语(适合高中学生阅读)简短介绍大数

    据和数据科学,跟该书实际涉猎的小数据科学不搭,跟项目和技术展示

    脱节。

    也许作者增加了这些简短的段落,是为了可以将他的“R统计”的电

    子书,重新改名为“数据科学的介绍”。它是免费的、很好的、写得很棒

    的书,且会使高中学生对统计和编程感兴趣。但它与数据科学无关。

    例子2:数据科学证书

    我们讨论一下美国受人尊敬的公立大学提供的数据科学证书。该证

    书课程咨询委员会主要是高级技术人员,大多数人有学术职位。数据科

    学家被介绍为“一种新型的数据分析师”,但我不赞同。当你查看招聘广

    告时,你会发现数据分析师包括统计人员和平均工资收入低的其他人,主要是因为这些职位不是高级职位。数据科学家不是初级职位。

    这所大学的课程有很强的数据架构和计算机科学背景,它的计算机

    科学课程也非常好。这是数据科学的一个重要组成部分,但它只涵盖了

    数据科学的三分之一。它也有一些陈旧的统计学内容,以及跟健壮性和

    其他统计主题相关的课程,但没有涉及对数据科学家很有用的那几个主

    题(例如,六西格玛、近似解、8020规则、交叉验证、实验设计、现

    代模式识别、效益提升力指标、第三方数据、蒙特卡洛模拟或数据科学

    项目的生命周期)。修读该课程需要Java和Python作为先修课。因此该

    课程价格昂贵——需要几千美元。

    那么数据科学剩下的三分之二内容是什么呢?领域知识(一个或两

    个领域)占到三分之一。最后的三分之一是应用统计、敏锐的商业头

    脑、有能力与决策者沟通和决策,以及远见力和领导力的结合。你不需

    要全盘知晓六西格玛、统计学或运筹学,但熟悉这些领域中一些有用的

    概念,对你将是有帮助的,并且当这些领域有新问题出现时,你可以快

    速找到专门的信息。也许有一天你会从事时间序列数据或计量经济学模

    型方面的工作(在微软时,我意外地也从事了这方面的工作)。现在对

    时间序列只有一点了解也是可以的,但作为一名数据科学家,你应该能

    够确定恰当的工具和模型,当接触到新类型数据时,学习过程应该是非

    常快速的。知道时间序列 是必要的,在面对一个新问题时,可以判定

    应用时间序列建模是一个好的选择还是糟糕的选择。但是你不需要成为

    时间序列、六西格玛、蒙特卡洛模拟、计算复杂度或逻辑回归等方面的

    专家 。即使突然接触到时间序列,你也不需要去学习所有的东西,但是你必须通过快速的在线搜索,找出解决方法,这是很重要的关键技

    能,所有的数据科学家都应该具备。在这种情况下(比如遇到时间序列

    问题时),如果需要的话,则可以了解它的相关图、趋势、变化点、标

    准化和周期性。在第4章的三类指标那一节描述了这些主题:中心性、波动性、颠簸性。

    新大学的面貌

    请允许我与你们分享两个故事,说明当今有抱负的数据科学家面临

    的一个重大问题。我最近读到一个副教授的故事,他给一个班级上课的

    薪酬是2 000美元,但根据该课程的学费和学生的数量,这所大学在该

    课程上赚了50 000美元。那么其余48 000美元的利润去哪儿了呢?

    我的妻子申请了一个为期一年的研究生课程,花费22 000美元。然

    后她收到一封信,说给她发放35 000美元的贷款,以支付该课程。但

    是,如果她需要一笔贷款来支付这个课程,她一开始就不会继续该课程

    了。

    我分享这两个故事的原因是要指出,一般的美国研究生和本科课程

    的高额费用通常是由贷款来支撑的,这就是美国学生面临的债务危机。

    传统的高校收取这么高的学费,是为了支付同样高的费用,包括工资、设备、运营和达到政府监管要求。因此,传统的大学面临越来越多的竞

    争者,更现代、更短、在线点播的替代课程,成本要少得多 。

    注意 并不是所有国家都和美国一样,有高成本的教育。对于一

    个美国学生来说,在中国或欧洲修读一门数据科学课程,可以最大限度

    地降低成本,同时还可以学到高质量的内容,积累国际经验,这对美国

    学生来说也是有意义的。

    既然我们批判数据科学的一些传统课程的授课方式和美国传统大学

    的教育成本,那么现在让我们看一看数据科学高等教育的未来。

    正确的培训是根本,因为这关乎你如何成为一名优秀的、合格的数

    据科学家。许多新的数据科学课程是在线提供的(如在Coursera.com上

    的那些课程),或通过企业(而不是大学)类似地共享提供,如在线提供或按需提供。新的数据科学“大学”,总结而言有以下特点。

    新数据科学课程有如下特点。

    花更少的时间来学习,只要6个月,而不是几年。

    按需求或在线提供课程和资料。

    专注于运用现代技术。

    去掉陈旧内容(微分方程或特征值)。

    培训材料里包括经验法则、交易技巧、技术、真正的实施方法、实

    际建议。

    教学成本很低甚至没有,所以学生没有必要大量借贷。

    有时是由公司或具有前瞻性思维的大学赞助或组织的(内容应该中

    立)。

    不再包括知识孤岛(例如,运筹学、统计学与商业分析相互隔

    离)。

    需要参与实际的、真实世界里的项目(鼓励进行合作),而不是为

    了通过考试。

    包括高度紧凑的,以及深度总结的培训材料,必要时还部分使用免

    费的在线资源。

    用学徒制取代博士课程。

    提供实质性的帮助,帮助学生找到不错、薪酬高的相关工作(要交

    费用,并成功完成所需的课程;如果是由公司资助的课程,则不需

    要费用:因为公司已经聘请你,或即将雇用你)。

    开放给每个人,不管学生以前的教育、语言、年龄、移民身份、财

    富或居住的国家。

    甚至比现有的传统课程更为严格。

    不是照搬书本内容,能减少作弊或抄袭的问题。

    课程资料经常更新:不断增加新的发现和新方法。

    课程材料的架构专注于垂直行业(例如,金融服务、新媒体社交

    媒体广告),因为要识别和理解现实世界的问题,特定的行业知

    识是重要的,并且在上岗时,能够快速上手新的工作(即没有学习

    曲线)。

    同样,新的数据科学“教授”有以下特点。

    不是终身的教授,但也不是兼职的。在许多情况下,没有受雇于传统的大学。

    是跨学科的专家,不断地适应变化,并确实为课程和行业带来了有

    意义的变化。

    与行业领导者有着很好的联系。

    被高度尊重和众所周知。

    有在企业获得的经验,或自己独立获得的经验(担任顾问,擅长发

    布现代化的数字内容)。

    他们在网上发布研究成果和其他资料,这是一种比传统杂志更快地

    推动科学发展的途径。

    不必花大部分时间写经费申报书,而是侧重于应用及传授科学。

    很少面对任何官僚机构。

    在一些情况下,可以在家里工作,消除了博士夫妇所面临的工作地

    点不同的问题。

    研究活动很自由,虽然可能倾向于可以赚到高收入、利润丰厚的项

    目。

    积累开放共享的知识而不是专利,并广泛传播这方面的知识。

    在某些情况下,更直接贴近市场。

    比传统的终身教授赚更多的钱。

    可能没有博士学位。

    交叉参考 第3章包含数据科学学位和培训课程的具体信息。

    数据科学家

    数据科学家在工业、政府和其他组织中具有独特的作用。这个角色

    不同于统计人员、业务分析师或数据工程师等岗位。下面的章节将讨论

    他们的差异。

    数据科学家与数据工程师

    数据科学家和数据工程师的主要区别,可以用ETL和DAD的区别来

    解释。

    ETL(提取变换载入)是数据工程师,还有数据架构师或数据库

    管理员(DBA)的职责。

    DAD(发现获取提炼)是数据科学家的职责。

    数据工程师往往把重点放在软件工程、数据库设计、生产环境代码

    上,并确保数据在来源(在那里它被收集)和目的地之间平稳地流动

    (在目的地那里通过统计摘要提取和处理,或通过数据科学算法产生结

    果,并最终转移到源或其他地方)。数据科学家却需要了解数据的流动

    和如何优化(尤其是使用Hadoop时)。实际上不是优化数据流本身,而

    是数据处理的步骤,从数据中提取出价值。数据科学家与工程师和商业

    人员一起工作,定义指标、设计数据收集方案,并确保数据科学流程与

    企业数据系统(存储、数据流)有效地集成。对于在小公司工作的数据

    科学家,尤其如此,这也是数据科学家应该能编写可被工程师重复使用

    的代码的原因。

    有时数据工程师也操作DAD,有时数据科学家也操作ETL,但这并

    不常见,且他们通常是在公司内部才这么做。例如,数据工程师可以做

    一些统计分析,以优化一些数据库流程,而数据科学家可以做一些数据

    库管理,以管理一个保存汇总信息的、小型的、本地的私有数据库。

    DAD包含以下内容。

    发现 :识别良好的数据源和指标。有时(与数据工程师和业务分

    析师一起工作),对应该创建的数据提出需求。

    获取 :获取数据,有时通过API、网络爬虫、互联网下载或数据

    库,有时是从内存数据库获取数据。

    提炼 :从数据中提取信息,做出决策,增加投资回报率,并采取

    行动(比如,在自动投标系统中,确定最佳的投标价格)。它包括

    以下内容。

    通过创建数据字典和进行探索性分析,对数据进行探索。

    清洗数据杂质。

    通过数据汇总进一步提炼数据,有时是通过多层汇总或分层汇总来实现的。

    对数据进行统计分析(有时会采取像实验设计这样的做法,所以在

    前面的“获取”阶段也可以进行),自动和手动都可以。可能需要设

    计统计模型,也可能不需要。

    在某些自动过程中呈现结果或集成结果。

    数据科学是计算机科学、商业工程、统计学、数据挖掘、机器学

    习、运筹学、六西格玛、自动化和行业知识的交叉点。这些不同的领

    域,加上业务的愿景和行动,汇集了一系列的技术、流程和方法。数据

    科学是连接不同组件的过程,有助于业务优化,并消除那些降低业务效

    率的孤岛。它也有自己独特的核心,(例如)包括以下主题。

    高级可视化。

    分析即服务(AaaS)和API服务。

    大规模数据集的聚类与分类。

    计算大数据的相关性和R平方。

    任何数据库、SQL或NoSQL都应该有的11个特征。

    快速特征选择。

    HadoopMap-Reduce。

    网络拓扑。

    大数据中关键词的相关性。

    在常规空间、超平面、球面上或单纯形上的线性回归。

    无模型置信区间。

    特征的预测能力。

    无模型的统计建模。

    大数据“诅咒”。

    MapReduce不能做的事。

    请记住,一些雇主寻找的是具备丰富统计知识的Java或数据库开发

    人员。这些开发人员是非常罕见的,所以雇主反而有时会试图雇用数据

    科学家,但希望他在开发生产代码方面很优秀。所以职位到底是需要具

    备统计知识的Java开发者,还是具有较强的Java技术的统计学家,你应

    该事先询问雇主(如果可能的话,在电话面试的过程中去询问)。然

    而,有时招聘经理不知道他真正想要的是什么,如果你告诉他你的专业

    知识所带来的附加价值,你可能会说服他雇用你,哪怕欠缺他们预期的

    某些技能。对于雇主,招聘Java软件工程师,再要他们学习统计学,比

    反过来更容易。数据科学家与统计学家

    许多统计学家认为,数据科学是关于分析数据的,但它远不止分析

    数据。数据科学还涉及实现算法、自动处理数据,并提供自动化的预测

    和行动,比如:

    分析美国宇航局的照片,以寻找新的行星或小行星。

    自动报价系统。

    自动驾驶(飞机和汽车)。

    在Amazon.com或Facebook上推荐书和朋友。

    针对所有酒店客房的客户定制(实时)定价系统。

    在计算化学中模拟用于癌症治疗的新分子。

    流行病的早期检测。

    (实时)估计美国所有房屋的价值(Zillow.com)。

    高频交易。

    为用户和网页匹配谷歌广告,以最大限度地提高转化率。

    为所有谷歌搜索返回高度相关的结果。

    信用卡交易评分(欺诈检测)。

    税收欺诈检测与恐怖行为检测。

    天气预报。

    所有这些都涉及统计科学和TB级的数据。大多数做这些类型的项

    目的人,并不称自己为统计学家。他们称自己为数据科学家。

    几个世纪以来,统计学家一直在收集数据并进行线性回归分析。

    300年前、20年前、现在或在2015年由统计学家 进行的DAD,跟如今数

    据科学家 进行的DAD大相径庭。关键是,最终随着越来越多的统计学

    家学会这些新技术,而更多的数据科学家学会统计科学知识(采样、实

    验设计、置信区间——不只是第5章中描述的那些),数据科学家和统

    计学家之间的边界将变得更加模糊。事实上,我可以看到另一种数据科

    学家正在兴起:具备深厚统计知识的数据科学家。

    数据科学家和计算机科学家的区别是,数据科学家有更强大的统计

    学背景,特别是在计算统计方面,但有时则是在实验设计、采样和蒙特

    卡洛模拟方面。数据科学家与业务分析师

    业务分析师专注于数据库设计(高层次的数据库建模,包括指标定

    义、仪表盘设计、检索和生成管理报告,并设计报警系统)、评估各种

    业务项目和支出的投资回报率及预算问题。一些业务分析师从事营销或

    财务的规划、优化和风险管理工作。许多业务分析师从事高层次的项目

    管理工作,直接向公司主管汇报。

    有些任务也由数据科学家完成,特别是在较小的公司:指标的创建

    和定义、高层次的数据库设计(收集什么样的数据以及如何收集),或

    计算营销,甚至增长黑客>>更多新书朋友圈免费分享微信xueba987

    (最近创造的一个词,来形容一种角色,它能够快速增加公司互联网访

    问流量,扩大公司或产品的影响力,这种工作涉及较强的工程和分析技

    能)。

    数据科学家让业务分析师有提升空间,例如,帮助将报表制作过程

    自动化,使数据提取速度更快。数据科学家还可以教给业务分析师FTP

    和基础的UNIX指令知识:ls -l、rm -i、head、tail、cat、cp、mv、sort、grep、uniq -c及管道和重定向操作符(|, >)。然后,可以在数据库服务

    器上编程或安装一段代码(业务分析师通常是通过浏览器或工具,如

    Toad或Brio访问服务器),以检索数据。所有的业务分析师都必须做的

    是:

    1. 创建SQL查询(甚至要有可视化工具),并保存为SQL文本文

    件。

    2. 将它上传到服务器并运行程序(例如,一个Python脚本,读取

    SQL文件并执行它,检索数据,并将结果存储在CSV文件中)。

    3. 输出结果(CSV文件)到业务分析师的电脑中,做进一步分析。

    对于业务分析师和 数据科学家,这样的合作是双赢的。在实践

    中,这样的合作已经帮助业务分析师提取的数据比他们过去所使用的数

    据要大100倍,而且提取速度快10倍。

    总之,数据科学家并不是业务分析师,但前者可以极大地帮助后者,包括帮助业务分析师将任务自动化。此外,如果数据科学家能带来

    额外的价值,具备额外的经验,他更容易找到工作,特别是在只有一个

    职位预算的公司,当雇主不能确定是雇用业务分析师(开展整体分析和

    数据任务)还是数据科学家(有商业头脑,可以执行一些通常分配给业

    务分析师的任务)时。在一般情况下,业务分析师是优先聘请的,但如

    果数据和算法变得过于复杂,也会雇用数据科学家。如果你创建自己的

    创业公司,你需要扮演两个角色:数据科学家和业务分析师。

    13个真实世界情景中的数据科学应用

    现在让我们看看13个在真实世界情景下的例子,了解现代数据科学

    家可以帮助我们做些什么。这些例子将有助于你学习如何专注于一个问

    题和如何形式化一个问题,以及如何仔细评估所有潜在问题——总之,是学习数据科学家在提出解决方案之前,如何定位问题和进行战略性思

    考。你也会看到为什么一些广泛使用的技术,如标准回归,可能并不适

    合所有情况。

    注意 本章重点是问题本身,以及如何评估它们。第4章、第5章

    将讨论这些问题的解决方法。

    数据科学家 的思维方式不同于工程师、运筹学专业人士、计算机

    科学家。虽然运筹学涉及很多分析,但这一领域的焦点是具体业务优化

    层面,如库存管理和质量控制。运筹学涉及国防、经济、工程、军事等

    领域。它采用马尔可夫模型、蒙特卡洛模拟、排队论、随机过程,以及

    (由于历史原因)Matlab和Informatica工具。

    交叉参考 参阅第4章,数据科学家与业务分析师、统计学家和

    数据工程师的对比。

    数据科学会遇到两种基本类型的问题。

    1. 内部数据科学问题, 如损坏的数据、粗心的分析或使用不恰当

    的技术。内部问题不是针对业务而言,而是针对数据科学社区。因此,解决办法包括训练数据科学家更好地工作,要他们遵循最佳做法。2. 业务应用问题 是现实世界中的问题,因此要寻求解决方案,如

    欺诈检测,或识别一个因素是原因还是结果。这些可能涉及内部或外部

    (第三方)数据。

    情景1:国家对烈性酒销售的垄断结束

    后,DUI(酒后驾驶)逮捕量减少

    最近发表在MyNorthWest 报纸上的一篇文章,说到一年前在华盛顿

    州实施的一条新法律,允许杂货店销售烈性酒类。这里的问题是如何评

    估和解释在法律生效后,酒后驾车者的逮捕量下降。

    作为一个数据科学家,你首先需要制定一个可能解释逮捕量下降的

    原因列表(通过与客户或老板的讨论)。然后设计一个方案,排除其中

    的一些原因,或为每个原因附上正确的权重,或简化结论,判定这个问

    题除非有更多的数据或信息可以使用,否则没法回答。

    以下是15个可能原因,以及跟酒后驾车逮捕率报告存在悖论的问

    题。你当然可以想出更多的理由。

    在数据收集过程中有差错(数据是错误的)。

    这篇文章的作者,可能与别人有利益冲突、想推销特定的观点,或

    是出于政治动机。也许只是一个大胆的谎言。

    之所以酒后驾驶被逮捕的人数变少,也许是因为警察的人手少了。

    在这一时期内,其他犯罪率也有所下降,这是犯罪率总体下降趋势

    的一部分。若没有这条新法律,酒后驾驶的逮捕量会不会下降更

    多?

    缺乏统计显著性。

    存在其他更为严厉的刑罚,阻止了酒后驾车行为。

    年纪大的酒客多,因为他们已经肇事死亡,所以逮捕量下降。

    总人口增加,但喝酒的人数减少,因为移民率高的是中国人和印度

    人,但他们中喝酒的人数比例远远低于其他人口群体。

    酒后驾车逮捕量统计口径是针对华盛顿居民,还是非居民的?

    这一法律没有效果,在此之前,人们也可以从华盛顿的杂货店买酒(除了烈性酒)。

    (可能是因为增加了税收),酒价升高,导致酒精消费减少(尽管

    酒精和烟草消费对价格弹性变化有抵抗力)。

    人们现在开车到更近的地方就能买到烈性酒,因此,喝烈性酒驾驶

    而被逮捕的人变少了。

    所有酒后驾驶逮捕量都下降,还是仅仅喝烈性酒的酒后驾驶逮捕量

    下降才如此?

    一般来说,如果人们开车次数减少了,无论对饮酒者还是非饮酒者

    来说,那么可能的原因就是汽油价格上涨了。

    要评估这个新法律的影响,有一个更好的指标是华盛顿居民的酒类

    (特别是烈性酒)的总消费量。

    数据科学家必须选择正确的方法来评估新法律的影响,并想出如何

    获得评估所需数据的方法。实际上,逮捕量减少的真正原因是,喝烈性

    酒者可以开车在很短的距离内就能买到烈性酒。对华盛顿州来说,问题

    在于判断该法律能否减少因酒精消费而产生的社会问题代价(是否会增

    加酒精销售的税收、裁减州内商店的员工,使酒精相关的犯罪率维持适

    度水平或完全消失等)。

    情景2:数据科学与直觉

    在管理层圈子里,许多决定仍然依靠直觉。然而,正如这个例子所

    示,数据科学和统计分析结果优于直觉,让你不至于凭直觉而形成错误

    的结论。

    双数据点是指几乎相同的观测值。在许多不同类型的数据集中,这

    种情况经常出现,而非特例。在任何有300多行数据的二维或三维的数

    据集中,如果数据是定量的,并均匀地分布在一个有界空间中,你应该

    会看到大比例(大于15%)的数据点都有一个近邻。

    这适用于所有数据集,但这一发现首先是从星系照片里发现的。星

    系照片里有很多双星,你可能会直觉地认为,有一些内在原因使得星星

    成对地聚集在一起。但是,如果你知道纯概率,你会发现,即使没有任

    何外部机制推动,15%的星星也会属于双星系统。例如,我们可以考虑一个包含500颗星星的星系。计算这些星星构

    成双星系统的纯概率,结果如下。

    至少有60颗(12%)星星属于双星系统的概率为85%。

    至少有80颗(16%)星星属于双星系统的概率为18%。

    至少有100颗(20%)星星属于双星系统的概率(几乎)为0%。

    然而,在现实中,超过80%的星星都属于双星系统。概率统计不支

    持这个数字;因此,很明显有一些机制使得星星成对聚集。

    该问题提供了一个很好的、可以测试你分析直觉的机会。看看图表

    里的双生观测值,然后目测评估下双生观测值是自然的(随机)还是非

    自然的(数量太多或太少)。可以写一段代码当作练习(Python、Perl、R代码),进行模拟(包括更复杂的三维情况),检查下理论结

    果,并比较一下R、Perl、Python的速度差异。

    交叉参考 第6章“数据科学应用案例研究”,包含了额外的测试,可以用来评估你的分析直觉。

    技术讲义

    本节讲义解释如何计算概率。如果你不是一个数学家,可以跳

    过本节。

    假设,有一张10cm×10cm的夜空图,其有大约n=500个可见的

    星星(数据点),而双星定义是一颗星星和邻近的星星距离是

    1mm(或更短)。如果恒星是完美随机分布的,则500颗恒星中,位于双星系统中的星星数量将是73颗(平均而言)。这个数字远远

    高于大多数人所认为的数字。这一比例可以表示为p,因此

    p=14.5%,在500颗恒星中,预计位于双星系统中的星星数量为

    np=73。

    在这种情况下,可以用Poisson过程的理论来计算该概率。如果

    500个点分布在一个100mm×100mm的区域(一个放大的夜空图),则Poisson过程的强度L是每平方毫米面积内点的数量,即L=500(100mm×100mm)=0.05mm2 。

    在1 mm距离之内一颗星星至少有一个邻近点的概率p为

    1?Proba(0个邻近点)=1?exp(?LPir

    2 ),其中r=1mm,Pi=3.14。这里Pir

    2 是一个半径为1mm的圆的面积。指数项是一个

    Poisson过程,在一个给定的集合里(圆、矩形等),点的数目有一

    个均值为LArea的Poisson分布。因此p=0.145。

    所以是否属于双星,是一个参数p=0.145的伯努利(10)变

    量。V可以表示位于双星系统中的星星数目:V是参数p的n个伯努

    利变量的总和,因而是参数为n、p的二项式分布,而normal(0,1)

    分布跟标准化变量Z=(V-np)SQRT{np(1-p)}的值非常近似。

    这个事实可以用来计算前面所说的概率。

    替代计算: 使用蒙特卡洛模拟,而不是使用理论模型,来计

    算这些概率,也可以得到相同的结果。这将涉及生成100万个模拟

    图像(二维数据表),并在每个模拟图像里,计算属于双星系统的

    星星数目。使用现代计算机、良好的随机数生成器和智能算法,这

    项任务可以在几分钟内自动化进行。

    如果你使用朴素的做法,则该模拟过程可能是缓慢的。但计算

    n个距离,找最近的星星时,计算复杂度可以做得比O(n2 )好得

    多。具体做法是将数据存储在一个间隔为1mm的网格中(即,一个

    有100×100=10 000个单元格的二维数组)。因此,对于每一颗星

    星,你只需查看周围的8个像素,来计算不到1mm距离的邻近点的

    数目。通过使用1万个1比特(代表存在不存在)存储单元,可以

    把O(n2 )的复杂度降低到O(n)。

    请注意,选100万或1万是随意的,实际只需足够大的数字,保

    证所估计的结果足够稳定即可,数字若再大则不会带来更准确的结

    果。选择合适的样本和样本大小是一个实验设计问题,并且使用无

    模型的置信区间有利于这项任务的开展,也保证结果稳健。这种蒙

    特卡洛模拟方法较受运筹学专业人士的青睐,一些数据科学家、计

    算机科学家、喜欢无模型统计建模的软件工程师们也较钟爱。然

    而,在这个案例里,理论模型众所周知,也很简单(即使不是很基

    础),也能快速而简捷地得到答案。所以,除非你必须花很多时间

    才能理解它的原理,否则还是建议寻找理论解决方案。附加说明: 在这个例子中,星星显示在二维屏幕上。在现实

    中,它们存在于三维空间中。从X坐标和Y坐标来看两颗星星可能

    是邻近的,但在Z轴上它们可能是永久分开的。所以要计算出双星

    的真实比例期望值,你就得模拟三维空间里的星星(点),投影到

    矩形内计算出双星的比例。在这种情况下,我不确定该理论模型是

    否是简单的解决方案,但蒙特卡洛模拟仍然是简单的。在实践中,实际上遥远的恒星不够明亮而不能显示在图片上,所以二维模型确

    实是对真实的三维问题很好的近似。

    此外,在理论模型中,关于星星的位置有一些隐含的独立性的

    假设(当提到二项式模型时),但这不是实际情况,因为星星周围

    1mm直径范围内有时会重叠。但这种近似依然不错,并且是保守估

    计的。而理论上的数字,如果排除重叠,肯定要高于73。

    情景3:数据故障将数据变成乱码

    在数据导入或导出的过程中,有许多出差错的例子。这通常是架构

    较差的结果,或者使用了错误的工具,或者盲目依赖工具而不进行数据

    质量检查的原因。数据科学家如何检测和解决这个问题?

    Microsoft Access有时不能正确导入或导出数据类型,使数据库表自

    动甚至是强迫类型转换,输出文本或CSV文件(或其他格式),结果较

    差,容易导致许多错误。这种情况发生,是因为环境不够灵活,从而不

    能进行智能的类型检测并进行类型转换。例如,你是否处理过以下情

    况,一行日期数据被记录为整数,另一行却被记录为mmddyy格式

    (月、日、年格式,比如2016年10月5日记为100516)?或者是你不得

    不处理数据字段值内的逗号,因为这会搞砸你的CSV文件?

    我收到过许多数据文件,损坏率达到5%以上。有时两种不同类型

    的值(广告主关键词与用户查询,或来源域名与广告网络域名)存储在

    同一字段中。有时字段没有正确对齐。有时看起来制作数据的人不是使

    用正则表达式的专家,或是总是错误地使用分隔符。有时则是因为软件

    把事情搞糟了。有时这些差错有不良的副作用,比如你的数据库里有一个非真实的

    用户ID,成为所有没有ID的用户的垃圾收集器 ,导致分析数据时有缺

    陷。但在其他时候不是个大问题。

    以下几个例子是讲混乱的数据、混乱的格式和不完整的数据整合如

    何导致严重的错误,以及如何解决这些问题。

    Wells Fargo (美国富国银行): IBM Tealeaf用户的会话被分解成

    多个会话,因为每个服务器都有自己的网络日志,而这些日志并没

    有被正确混合。这种情况下主要是架构设计造成的问题。幸运的

    是,发现和解决这个问题能帮助我们形成对该类问题的洞察力。

    eBay (易贝): 数据传输过程中把法语和德语关键词的特殊字符

    删除了,造成了数据不一致性。通过建立临时的外键查找表,让正

    确的和错误的拼写对应,从而可以解决数据不一致的问题。

    点击欺诈检测: 关键词字段有时代表用户查询(如谷歌查询),有时是一个预先指定的关键词类别,这取决于广告网络联盟公司的

    种类。如果相关公司的关键词是属于关键词类别的,我们会施加一

    个较大的错误惩罚值,这是因为(出于设计而非欺诈的原因)这种

    关键词的分布很差。添加一个指定关键词类型的新字段,能够解决

    该类问题。

    作为练习,我希望你多想想这些类型的问题,并回答以下问题。以

    下问题都是常见的、有趣的工作面试问题。

    你如何处理这些问题?

    如何自动检测这些差错?该问题是质量保证(QA)问题吗?

    在大数据情景下这类问题是变得更糟了吗?检测问题和解决问题,哪个比较困难?

    能够容许多少坏数据?能否容许1%的错误?欺诈检测的话能容许

    的错误甚至更少吗?

    解决这些问题,你花费了多长时间?

    如何设计智能的类型转换?

    情景4:异常空间的回归这个例子说明了在使用传统技术解决新问题之前,需要改进原有技

    术,如回归。这些技术有些已经超过了100年,是统计分析领域的主要

    工具。针对小的数据集,已经有简单的数学方案能解决问题。随着大数

    据和大规模并行计算能力的出现,情况已经不同。

    比如,你想通过逆向工程得到可口可乐的配方。基于许多人的品尝

    结果(根据实验设计),响应值Y衡量你的配方跟可口可乐真正配方的

    接近程度。事实上,这非常类似于在临床试验中,通过测试混合的原子

    或化学基(每个组合产生一个独特的分子)来改善药物效果。而自变量

    是二进制值,每一个代表一个成分,如盐、水、玉米糖浆等。如果所讨

    论的成分在配方中是存在的,则该值等于1,否则等于0。这与标准的线

    性或逻辑回归有很大的差异。

    技术讲义

    回归系数a_k (k = 1,..., m)必须满足以下要求。

    每个k都是正数(a_k大于或等于0)。

    这些系数的总和等于1。

    总之,你在单纯形空间进行回归,其中a_k代表混合的比例。

    这种回归有一个有趣的特性,a_k系数的平方和等于由SUM(a_k)

    =1定义的m-1面体面积的平方,且a_k大于或等于0。(这是毕达哥

    拉斯定理的一个泛化。)这有点像一个套索回归、岭回归或逻辑

    (是logic而不是logistic)回归,但放在贝叶斯框架里,也可以利用

    马尔可夫蒙特卡洛(MCMC)来解决。

    如何解决在一个球面上的回归?例如:

    根据鸟的视线,找出加拿大大雁的迁徙飞行路径。

    针对一颗在行星上撞击出多个排一起的陨石坑的流星,计算其轨迹

    和起源。基于火山的位置探测地质断层(两者几乎是一一对应的,比如在喀

    斯喀特山脉内,或在大西洋中部的海底)。

    答案是通过将球面映射到平面上,通过平面回归来解决问题。

    在这个例子中,目的是创造一个竞争产品,口味和可口可乐一样,用不同的名字称呼它,并以更低的价钱销售。如果味道是相同的,但成

    分是不同的,那么可口可乐制造商若起诉你复制他们的配方是没法胜诉

    的。我认为,Virgin(维京)几乎克隆出来了这个味道。当然,百事可

    乐并不相近:味道是那么不同,二者就像苹果和橘子的差别。

    最后说回来,有许多不同的方法来解决回归问题(或任何数据科学

    问题。如果你使用正确的参数,则不同解决方案在效率方面往往是等效

    的。例如,你可以用纯优化或纯数学解决这个问题。统计学家会认为,使用这种方法不能为回归参数建立置信区间,或没法测试是否有一些参

    数等于0。作为替代,我自己设计了一个无须统计模型就可以计算置信

    区间的方法。这个方法被称为分析桥(Analyticbridge)第一定理,将在

    这本书更多技术化的章节里得到描述。

    情景5:分析与诱导在提升销量上有何

    不同价值

    这个例子说明即使是最好的分析,如果你忽略了其他关键的、使业

    务成功的要素,也不会很有用。总之,对于所有业务问题,分析并不是

    万能的。

    这个情景的背景是提高转化率,如将网站访问者转化为活跃用户,或者是将被动的简报订阅者转化为业务意向(打开简报和点击链接即代

    表意向)。在此我们讨论简报的转化问题,虽然这个例子可以适用于许

    多不同的环境。

    为了最大限度地提高总的意向数量,你需要使用诱导手段和分析手

    段。销售量是一个与下列影响因子密切相关的函数。

    诱导分析

    产品

    价格

    竞争

    声誉

    市场营销

    注意 如何评估每一个因子的权重超出了本章的范围。

    首先,即使是度量“诱导”或“分析”也是很困难的。但是你可以用一

    个0~10的级别(10表示最好的),诱导值=9代表公司在使用诱导方法

    上非常努力,而分析值=0代表公司完全忽视分析手段。

    在优化简报邮件方面(从而最大限度地提升意向的数量和规模),大多数公司把诱导设置为1,把分析设置为4或5。通常是通过多变量测

    试、数学分割、用户群定向进行分析的。这种方法来源于营销人员所受

    的训练——但是,这不是最好的方法。现在,ISP(互联网服务提供

    商)提供的用户细分,比传统的用户分组技术更关键。未能 送达给

    Gmail用户,比起分组不当送达给不恰当的Gmail用户,后者更糟糕(例

    如,年轻用户和年老用户虽然收到不同的信息,但是这些信息并不是有

    针对性发送的)。

    另一个关键的错误是在邮件主题上,重复使用相同的关键词,刚开

    始这样可能有效,但最终会使你的用户厌烦而不想读你的简报(除非你

    已经找到弥补用户流失的方法,比如说雇用增长极客来帮助你解决问

    题)。如果你的竞争对手也使用完全相同的关键词,这个问题就更加复

    杂了。

    丰富多样的、非炒作性的关键词对于分析型、高学历、厌恶垃圾邮

    件的用户来说非常有效果。例如,一个主题行,如Weekly digest, July 29

    (digest 用小写字母d )比25 Fantastic Articles From Top Big Data Gurus

    (From 用大写字母F )的效果更好。当然,后者可能在前两次效果很

    好,但最终还是无效的。此外,你的简报内容必须与主题行紧密相关,否则你失去用户的速度会比你获得新用户的速度快。

    相反地,你可以基于诱导而不是分析手段,即,猜测用户现在喜欢

    什么内容,而不是根据历史的效果数据来设计内容。它也可以自动化完

    成,并转化为分析规则——例如,检测一个关键热词奏效的次数,例如“肚皮舞分析”这一有效关键词可以持续多久,等等。过度使用通过分

    析找到的技巧,最终会使得诱导手段没有存在空间,也会拉低销售。但

    现在,似乎很多网络营销者忽视了这些规则。诱导比分析提供一个更大

    的杠杆效应(虽然它们应该混合在一起),特别是长期业务。

    情景6:关于隐藏数据

    在该情景下,你的数据就像Gruyere奶酪一样。它有很多、很大的

    孔。有时候,空白的空间占据着比数据本身更大的容积,就像在宇宙中

    暗物质比可见物质更丰富一样。这个情景不是关于浅层的或稀疏的数

    据,而是关于你看不到的数据,你甚至不知道它们的存在,但它们比你

    的数据仓库里的任何东西,都有更好的可操作价值。

    以下是“Gruyere数据”的3种情况,以及每一种情况的补救方法。

    丢失的或不完整的数据

    这是最容易解决的问题。任何有才华的数据科学家都可以使用现代

    的、无偏的数据补齐技术,来解决这个问题。大多数分析软件也包括处

    理丢失数据的机制。

    经过删改的数据

    所谓删改,我的意思是从统计学角度看的。下面是一个例子:我们

    要估计所有至少涉及一次犯罪的枪支比例。我们使用的数据集(枪或犯

    罪统计)已经被删改了,比如品牌的新枪今天并没有用来杀人而没被统

    计在内,但可能下个星期就被用来射杀某人。此外,一些罪犯丢弃了他

    们的枪,在案发后可能追踪不到该枪支。

    你如何处理这个问题?任何有才华的数据科学家都能轻松使用正确

    的统计技术处理这个问题,使用统计分布(通常是指数的)来衡量犯罪

    时间,并基于删改数据估计其平均值。这样问题就解决了。

    隐藏数据处理隐藏数据是一个大问题。首先,你甚至不知道它的存在,因为

    它是看不见的,至少从你的角度来说是看不见的。领域专业知识和统计

    学知识(更多技术知识的经验法则),会帮助你意识到潜在的隐藏数

    据。事实上,数据可能根本就不存在,在这种情况下,首先你必须组装

    数据。

    思考这样一个例子:假设Target公司在试图优化它的收入数字。它

    分析了销售数据,看看与花园相关的物品什么时候销售量最好。该公司

    总部在明尼苏达州,2月份没有任何关于花园物品的销售数据,任何人

    提出这样的分析做法可能被当场解雇,或被怀疑是不是吃错药。然而,在加州,2月份Target的竞争对手们的花园物品销售量不错,一直到6月

    份都没有留给Target什么市场份额。Target不知道原因,错误地认为在

    加州花园物品这块没钱可赚。

    你如何处理该问题?即使Target可能缺乏2月份的花园物品销售数

    据,但可以查看竞争对手的数据(例如,浏览和分析每天发送的数百万

    封垃圾邮件),这是正确方向上良好的第一步。但真正的解决方案是雇

    用一位有远见的数据科学家 。有才华的数据科学家利用每个人都能看

    到的数据;有远见的数据科学家 利用没人看到的数据。

    情景7:汽油中的铅会导致高犯罪率。

    真的吗

    这种典型的分析和观点可能在受尊敬的新闻媒体上出现过,然而这

    种分析不足以支持作者的观点。根据Rick Nevin的计量经济学的研究,禁用含铅汽油约20年后,(汽油使用量高的)大城市的犯罪率达到高

    峰。20年的滞后是婴儿受铅影响到成为20岁罪犯所经历的时间。至少这

    是一些著名的计量经济学家基于过去大城市历年犯罪率的分析而提出的

    论点。但这又是一个缺乏适当的实验设计的例子。

    那么,如何设计一个更好的研究呢?我们可以得到过去30年间所有

    特定规模的城市1万人的均衡样本,样本分成两个子集(罪犯和非罪

    犯),并检查(使用比率)罪犯是否比非罪犯在出生时更容易受铅影

    响。总之,要跟之前的研究相反,要针对个体而不是城市——也就是看微观层面,而不是宏观层面——并进行经典的假设检验,使用标准抽样

    和适当的实验程序设计。

    或者,如果你真的想研究原有的宏观时间序列(假设数据粒度细到

    每月),那可以进行Granger 因果关系 检验,这样会考虑原始时间序列

    转为白噪声后的所有互相关系的残差(类似于时间序列的频谱分析或相

    关图分析)。然而,如果你有几千个指标(因此会有几千个时间序列和

    几百万个相关性),你最终会发现非常高的相关性纯属意外。这被称为

    大数据的“诅咒”,在第2章中会对此详细描述。

    相关性不是因果关系。不要轻易声称是因果关系,除非你能证明

    它。很多时候,多个相互依赖的因素会对同一问题产生影响。当婴儿潮

    一代(不太守法的一代)20岁时,也许正是犯罪发生高峰期。这可能是

    一个更可信的原因。

    情景8:波音787(梦幻客机)问题

    波音公司的梦幻客机推出几个月后不久,由于其电池相关问题,被

    FAA(联邦航空局)禁飞。主要的问题是其使用了从未在飞机上使用过

    的一种新型锂电池。这种强大的电池容易过热和着火,导致短时间内多

    次紧急着陆。

    根本原因是设计电池的供应商缺少良好的实验设计。这是一个质量

    控制问题,而质量控制在很大程度上依赖于分析。以下的一些提问证明

    了更好的质量控制和实验设计可以解决电池问题。

    这些电池(就像其他很多可以购买到的产品的电池,如汽车或笔记

    本电脑的电池)难道不能经过深入的质量控制检测,采用健全的统

    计技术,确保电池次品率或生命周期内产品的失败风险低于可接受

    的阈值吗?

    会不会是质量控制测试没有根据最佳实践进行?

    过热模拟能代表现实世界飞机起飞时的情况吗?

    “压力”测试电池的时间够不够长?

    是不是日本的质量控制标准更低?因为这些电池的设计和生产是在日本进行的。

    这些电池的可靠性统计报告是错误的吗?

    一种可能的解决方案是使用更好的机制来冷却这种类型的电池,但

    在飞机上从来没有使用过这种方法,不过,过去手机就因为过热而发生

    过火灾,所以现在所有手机中都使用冷却手段。与手机或笔记本电脑不

    同的是,在一架飞机上,因为外界温度远低于冰点,所以很容易冷却

    (甚至是冷冻)。>>更多新书朋友圈 免费分 享微信 xueba987

    情景9:NLP的7个棘手句子

    NLP是指自然语言处理 。当数据科学家分析非结构化的数据时,如

    原始 (未分类)文本 ,将会面临这类问题,所以我们在此将对该类问

    题进行说明。这类分析叫作文本挖掘 。

    交叉参考 第2章会讨论如何在非结构化数据中创建结构(通常

    是分类)。

    以下7种类型的语言模式,很难用自动化算法进行分析。

    “A land of milk and honey”变成“A land of Milken Honey” (这是针对

    The Wall Street Journal 20世纪80年代以来的语料训练而形成的算

    法,该语料里Michael Milken提到的次数比milk多)。

    “She threw up her dinner”与“She threw up her hands”对比。

    “I ate a tomato with salt”与“I ate a tomato with my mother”或“I ate a

    tomato with a fork”对比。

    以“ing”结尾的单词——例如,“They were entertaining people”。

    “He washed and dried the dishes”与“He drank and smoked cigars”对比

    (在后面的情况下,他没有“喝”香烟)。

    “The lamb was ready to eat”与“Was the lamb hungry and wanting some

    grass?”对比。

    具有多重含义的词,如“bay”,可能是一种颜色,或者窗户类型,或者海湾。在这些例子中,或者在情感分析中,数据科学家试图猜测用户意

    图,以便正确地解读数据,得到正确的答案或决策。例如,这可能会在

    以下情况中发生。

    在分析谷歌搜索数据时,根据用户查询应该显示哪些相关广告?

    对于发布在Facebook网页上关于产品或公司的评论,如何分析评估

    它们是正面的还是负面的?

    在分析Facebook的帖子时,如何判定一个帖子是不是因为违反了

    Facebook的政策或法律而应该被自动删除?

    用户画像(如果可用)指标,或网页和电子邮件内容(特别是如果

    网页已经分类了),可以帮助解决歧义。

    情景10:数据科学家决定着我们所吃

    的食品

    影响美国人吃什么的因素有很多,但最大的因素是食品杂货店的利

    润率。这解释了为什么我们买不到红醋栗或百香果,但可以买到高能量

    饮料和富含糖分的食物。当然,这有一个反馈循环:美国人喜欢甜食,所以许多公司生产甜的食品,并且由于大规模生产,所以价格便宜,因

    此食品杂货店可以有效定价,销售量也好。

    这也说明超市可以通过更好的分析来增加收入。这一切的背后都是

    数据科学,数据科学有助于回答以下问题。

    为了客户利益和投资回报率(ROI),应该尝试去卖哪些新产品?

    红醋栗派?橘子酒?法国风味的樱桃派?野猪肉?紫薯奶酪?红鸡

    蛋?球状奶酪?(虽然球形不像平行的方形管道形状,从存储的角

    度来看不是最优的,但这是另一个数据科学问题。)

    你如何确定一个新产品的成功或失败?你如何测试一个新产品(实

    验设计问题)?

    哪些产品应该被淘汰?(美国的大多数杂货店将不再出售百香果、百香果汁和正宗的意大利香肠。)如何度量提升力(收入增长)?你有考虑营销费用和其他费用等因

    素吗?

    如何给一件商品定价?

    如何进行交叉销售?

    在营销活动中,如何优化投资回报率?

    什么时候及在哪里销售哪种产品(根据季节性和地方性趋势)?

    如何改进库存预测?

    上次我去一家杂货店,购买全脂无糖酸奶。我在商店里找了10分

    钟,只找到最后的一盒(品牌是Dannon)。我已经准备多花点钱购买这

    种酸奶(世界上数十亿人消费了几千年的产品),而不是另两种选择:

    低脂肪,或原味带甜的酸奶。(讽刺的是,这种“低脂肪”版本含有180

    卡路里,而以前普通的酸奶只含有150卡路里。这是因为低脂肪的产品

    中有玉米淀粉。)

    随着时间的推移,我发现杂货铺供应的产品数量正在减少。很多旧

    产品被淘汰,引入了一些新产品。显然,这些被淘汰的产品市场较小,如百香果。但是,数据科学能不能更好地帮助食品杂货零售商决定上架

    的商品,决定何时及在哪里销售,并以多少比例和什么价格销售呢?

    答案是肯定的。一个好的解决方案是,借助具有较高预测能力的模

    型,在预测销售量和(每种产品)收入时,颗粒度更精细,方差更小。

    在这种情况下,虽然很多人尽量避免有脂酸奶,但在西部和东部沿海地

    区有很多较瘦的人不介意喝原味酸奶。因此,在西雅图或波士顿可以销

    售原味酸奶(也许仅仅是几十盒高价的产品,放置在低价低脂品牌

    旁),但在堪萨斯市则销售不了。

    这也为专用杂货店创造了新的机会,如在美国西北部的PCC自然品

    市场,卖的正是其他超市已经停止出售的产品(只要是畅销的)。总

    之,是销售能产生利润但其他超市已经不再销售的产品。

    这个例子也说明了,对于数据科学家,沟通技巧是很重要的:提出

    了一种新方法,并说服高管使用这种方法,可以同时优化利润,且给客

    户带来长远的价值。当然,这样的做法将是一个长期的战略投资,在短

    期内可能无法满足财务上的数字(公司的首席执行官需要和股东说

    明)。情景11:用较好的相关性增加亚马逊

    的销售量

    亚马逊是如何通过重新定义相关性来增加销售量的?答案:通过改

    进其搜索和相关性引擎,把物品价格当作主要的相关因素。这里所描述

    的优化和提升投资回报率的做法,适用于所有的数字化产品类别,虽然

    在本书中我们只针对书籍这个类目进行了讨论。

    搜索引擎

    当你在亚马逊网站上的购书栏搜索关键词时,返回的搜索结果页

    面,有10本推荐的书与你的关键词匹配。这是由搜索引擎执行的。搜索

    引擎会以某种排序显示图书。该排序是基于价格或关键词相似度的。

    相关性引擎

    如果你搜索一个特定的书名,亚马逊还会基于其他用户的购买记

    录,显示你可能感兴趣的其他的书。这项任务是由相关性引擎执行的。

    技术讲义

    相关性引擎的工作原理是这样的:如果有m(A, B)个用户在

    过去30天内都购买了A书(是你想要购买的书)和B书,而k(A)

    代表购买A书的用户数,k(B)代表购买B书的用户数,那将A和B

    之间的关联(从交叉销售的角度,这些书的关联程度)定义为

    R(A, B)=m(A, B)SQRT{k(A)k(B)}。所推荐的书籍排

    序完全由函数R(A,)决定。

    更好的排序标准

    昂贵的图书将产生很少的销售量,但有巨大的利润。廉价的图书利润较少,但销售数量能弥补每本书的利润。总之,如果显示的书都跟用

    户的相关性评分相同,那么在1位置显示的书的定价应使得预期总收益

    最优。图1-1显示了一个假想的最优图书定价是21美元。

    图1-1 最优图书定价此图基于模拟的数字,假设书售出的机会是图书定价的指数递减函

    数。也就是:

    P(sale | price) = a exp(?bprice)

    其中sale为销售量,price为售价。一个更一般的模型是:

    P(sale | price, relevancy score) = a exp(?bprice) f(relevancy

    score)

    其中relevency score为相关性评分。

    另一种能进一步增加收入的方式是,将用户数据也包含在公式中。

    一些用户有能力购买一本昂贵的书。对于经常购买更昂贵图书的用户,应该在他们的搜索结果中,显示更昂贵的书籍。

    把所有东西放在一起

    当销售产生时,我们怎么知道,是因为把正确定价的书籍显示在了

    顶部,还是因为完美的相关性?例如,“数据科学”和“大数据”之间的关

    联性很强,但“数据科学”和“云计算”之间的关联性不是很强。如果你的

    目标是利润最大化的话,那么是把一本昂贵的“云计算”书推荐给一位

    对“数据科学”感兴趣的富人,或者给他推荐一本不太贵的与“大数据”相

    关的书,哪种做法明智?这也取决于你如何定义收入优化:是长期(关

    联性更重要)或短期,还是短期和长期的混合。正如你所看到的,从价

    格因素中分离出关联性影响是不容易的。

    当关键词或类别的相关性是基于“小数据”的(指专门的用户查询或

    销售量小的书籍),价格因素特别有效。此外,检测到底是什么带来特

    定的转化或销售,是一个复杂的问题,这被称为归因 。在复杂的情形

    下,宏观经济(长期,总量的)指标,混合了非常细粒度的实时属性指

    标,可用于营销组合优化 。使用价格弹性模型 和效率曲线 也可进行价

    格分析。

    另一个有意思的领域是自定义定价,实时地根据客户、客户的购买

    记录(如果可用)、销售该书的网站(根据网站的统计数据)和书本身

    来确定书价。一些研究表明,一个固定的价格是最好的,否则精明的用

    户会尝试多次购买相同的项目,直到他们得到可能最低的价格(虽然他们没有办法知道什么时候价格最低)。然而,向那些不介意购买昂贵图

    书的用户销售高价图书(根据他们的购买历史),而不是推荐用户已经

    购买过的书,是改善投资回报率最容易的方法。然而,在一些国家,这

    种定价策略已经被禁止,在其他一些地方也有争议。特别要注意,如果

    定制化价格是悄悄执行,没有被用户了解和同意,还采用不道德的数据

    挖掘的做法并侵犯隐私的话,可能会导致用户对你信任下降,并最终导

    致客户流失、法律诉讼和收入下降。最终,用户会注意到价格是定制

    的。

    另一种最大限度地提高亚马逊的利润的方法,是按需求 印刷书

    籍,而不是管理库存、每月预测每本书的销量。数据科学还有助于确定

    仓库位置,以优化交付效果(在速度和成本方面),以及销售税的优

    化,从而更好地与其他书商竞争。

    情景12:检测Facebook上的假档案或

    假“喜欢”数

    某些网站出售假Twitter粉丝(1 000个粉丝10美金)、假的Facebook

    账号,或甚至假的雅虎邮件账号,用来传播垃圾邮件,提升个人或零售

    商人气,据说还可以用来促进销售。他们预先告诉买家,这些粉丝是假

    冒的。他们也在网上卖在Facebook点的“喜欢”数,并且他们声称“喜

    欢”数是来自“真正的”Facebook用户。

    自动检测假“喜欢”数最简单的方法是看相关评论数:如果一个

    Facebook(或任何)帖子后有5000个“喜欢”数,但没有评论或只有20条

    评论,并且评论内容都类似于“这是个很棒的帖子”,那就可以确定“喜

    欢”数和评论是机器人或水军造假的。

    数据科学算法就是根据这样的指标,以及社交网络图、变化速度、近期账户创建和发布情况、自然语言处理和僵尸网络欺诈检测规则来

    处理问题的。一些造假可以实时检测到,而一些会稍后检测和消除掉,比如通过临时分析(数据分析师执行的反应式分析)或一天结束后的算

    法自动分析(惯例分析)。情景13:餐厅的分析

    对于小企业,特别是餐馆,分析可以有很多种形式。这些企业需要

    解决的问题包括定价优化、库存管理、销售预测、获取竞争对手的信

    息、客户对你的建议(比如需要使用一些自动化软件定期检查客户对餐

    厅的评论)、空间优化(餐厅最多可以放多少张桌子)、葡萄酒和奶酪

    的选择、菜单变化的频率、每天和每月的开业和歇业时间、维持的厨师

    数量(包括决定最佳薪酬)。

    可能最容易解决的问题之一是桌子的布局。最佳的解决方案是让2

    个座位的桌子靠在墙边,4个座位的桌子在房间的中央。这些桌子应该

    是圆形的还是正方形的,平行于墙壁或形成一个45°

    角?很容易找到一

    个数学解决方案,或者至少做一些模拟,找出哪种最有效。正方形的桌

    子比圆形的好,可以轻松地组合起来,适应更大的派对。假设餐厅总是

    被预订满并赢利,如果你增加20%的座位容量,那么你的利润也应该增

    加20%。

    数据科学的历史、开拓者和现代趋势

    随着数据科学的发展,其他相关专业出现了下降趋势,如统计学和

    计算机科学。谷歌的公开数据(见http:bit.ly1aF8D5T )如下。

    自2010年以来,数据分析师的数量不断增加。

    自2005年以来,统计学家的数量有所减少。

    自2005年以来,计算机科学家的数量有所减少。

    自2012年以来,数据科学家的数量激增。

    你可以在LinkedIn或Indeed上找到其他的公开数据(每个招聘广告

    的申请人数),不过这个数据跟招聘市场相关。

    其他类似的数据显示,所有传统领域的人数都在减少,比如六西格

    玛、数据挖掘、统计学、运筹学等。谷歌数据表明,在2011年左右大数

    据开始出现并呈指数增长趋势,到2013年大数据比数据挖掘和六西格玛更流行了。同样也是根据谷歌数据,尽管大数据的崛起引人注目,但开

    始于2006年对“分析 ”这个关键词的搜索量更为壮观。在2012年搜它的人

    数逐渐减少,但仍然比大数据 高出6倍。

    当然,在2000年,许多专业人士(包括我),做了统计学、运筹

    学、计算机科学、六西格玛、精算学、生物统计学,或一些其他的狭义

    定义的“分析类”活动,积累了丰富的经验、领导能力、广泛的知识、敏

    锐的商业头脑、跨越许多领域的专业知识。因此他们的职位头衔经历了

    演变,但他们都有共同点:数据分析行业从业者。同时,数据和现代数

    据架构的发展,如MapReduce,影响了所有行业,成为许多专业人士的

    共同特性和必备。

    注意 数据科学家 比数据挖掘 更广泛,包括数据集成、数据采

    集、数据可视化(包括仪表盘)和数据架构。数据科学家 还须度量数

    据科学活动的投资回报率。

    统计学将会复兴

    很多人都说统计学会消亡,有些主要的统计学家自己也说统计学会

    消亡。我相信统计科学最终会复兴,但它会更多地应用于大数据,并适

    应于大数据,且由更少的模型驱动。它将与计算机科学、预测模型、数

    据挖掘、机器学习、运筹学和六西格玛的某些方面,以及数据库架构结

    合在一起,被归纳称为数据科学、业务分析、决策科学、数据情报、分

    析学,或其他一些尚未被创建或重复使用的术语。我们现在正处于分析

    学革命的中间阶段。

    特别是,像我这样的人,虽然有一个新的职位头衔——数据科学

    家,但仍然做统计学兼职,有时甚至涉足前沿的理论统计学。对我而

    言,我已从业25年之久,一直使用那些在1750年被认为太复杂、计算能

    力不够而被抛弃的,但是足够健壮的技术。在1750年,由于当时计算能

    力的缺乏,导致了1800年左右一批新颖的、对数学友好的技术出现,它

    们具有简单的公式、方程形式,如最小二乘回归。这个框架一直延续至

    今,可能是导致传统统计学家人数减少的原因,现在大数据的健壮性比

    以往任何时候都更重要,当在分布式系统中(在有MapReduce的云中)

    几分钟就可以处理10亿字节的数据时,计算的复杂度将不再是问题了。同时,大多数现代科学家、地理学家、医生、计量经济学家、运筹学专

    业人士、工程师等都具备较好的应用统计知识。然而,软件工程师和计

    算机科学家有时会像记者一样忽略或误用统计科学,如开发的系统里

    (例如,推荐引擎)有大量未被发现的虚假评论和欺诈行为。最终,统

    计科学将开始踏足这些领域。

    有人说,大多数数据分析师都是统计学家。在我看来,数据分析师

    是一个初级头衔,通常是一个有工学学士学位或文学学士学位的人。统

    计学家有更多的理论背景,在大数据出现之前就使用以前开发好的数据

    模型,并且拥有硕士或博士学位。每天编写SQL查询和报告的人是数据

    分析师。

    我不当统计学家的部分原因是因为美国统计协会:它改变了统计学

    家 这个关键词的意义,这限制了统计学家的发展前景,使其狭窄且单

    一,只与医药行业、政府(调查、人口普查、政治事务)、小数据(统

    计学家的大部分收入来源)相关。在过去15年里,该协会一般不参与或

    跟随基于大数据的新的统计革命。作为一名比利时公民,我可以对比利

    时统计协会说同样的话。所以这一趋势不仅限于美国,而且也不仅限于

    (美式)英语国家,还包括法语和荷兰语国家,以及其他语种国家。

    统计学家应该非常熟悉计算机科学、大数据和软件——1万变量的

    10亿行数据,对真正的统计学家应该是小菜一碟。在云中(甚至在笔记

    本电脑上的流数据),这个数据量都能够快速处理。第一步是缩减数

    据,即使你必须保存所有的观测值和变量,仍然可以缩减数据。一个优

    秀的计算机科学家也能生成置信区间:你不需要因此而成为一名统计学

    家,只需会使用本书后面讨论的分析桥第一定理即可。计算机科学家和

    统计学家之间的区别变得越来越小和模糊。但无须担心,虽然你在学校

    没有学到这些知识(统计学的课程),你仍然可以在网上学习。

    历史与开拓者

    现在,让我们来看看数据科学的历史,以及一些在分析学和数据科

    学领域堪称先驱的公司。首先,看一看从20世纪80年代末开始流行的关

    键词,和对2022年的一个预测。

    1988年的关键词:人工智能。另外还有:计算统计学、数据分析、模式识别、规则系统。

    1995年的关键词:网络分析。另外还有:机器学习、商业智能、数

    据挖掘、投资回报率、分布式架构、数据架构、量化、决策科学、知识管理、信息科学。

    2003年的关键词:业务分析。另外还有:文本挖掘、非结构化数

    据、语义网、自然语言处理(NLP)、关键绩效指标(KPI)、预

    测模型、云计算、升力、收益率、NoSQL、商业智能(BI)、实时

    分析、协同过滤、推荐引擎和移动分析。

    2012年的关键词:数据科学。另外还有:大数据、分析学、软件即

    服务(SaaS)、按需分析、数字分析、Hadoop、NewSQL、内存数

    据分析、机器对机器(M2M)、传感器数据、医疗保健分析、效

    用分析、数据治理、列数据库。

    2022年的关键词:数据工程。另外还有:分析工程、数据管理、数

    据整形、优化的艺术、优化科学、优化工程、业务优化、数据智

    能。

    这些里程碑让我们对如何利用数据有更通用、更全局、更全面的理

    解。大约开始于1995年的大数据运动,谷歌是最重要的贡献者之一。谷

    歌通过引入谷歌文件系统、MapReduce,解决了传统的分布式系统数据

    库管理系统(DBMS)的数据库存储容量限制。(人们经常在2003年至

    2006年期间的行业会议上讨论谷歌的Bigtable大表方案。)然后是HBase

    和Hadoop分布式文件系统(HDFS)。除了谷歌,雅虎和Facebook也对

    Hadoop和开源社区做出了重大贡献,推动了技术进步。

    专注于分析的先驱公司,有以下26家,可以在它们各自的维基百科

    页面,找到很多有趣的历史资料。(警告:这些网页,比如维基百科主

    题页面,包含商业内容,编写者是有利益冲突的人、内部人士或与这些

    公司利益有关的人。)

    Datawatch (http:en.wikipedia.orgwikiMonarch )

    Excel (http:en.wikipedia.orgwikiMicrosoft_Excel )

    FICO (http:en.wikipedia.orgwikiFICO )

    Greenplum (http:en.wikipedia.orgwikiGreenplum )

    IMSL(http:en.wikipedia.orgwikiIMSL_Numerical_Libraries)

    Informatica (http:en.wikipedia.orgwikiInformatica )KNIME (http:en.wikipedia.orgwikiKNIME )

    KXEN (http:en.wikipedia.orgwikiKXEN_Inc. )

    Lavastorm (http:en.wikipedia.orgwikiLavastorm )

    MapReduce (http:en.wikipedia.orgwikiMapReduce )

    Mathematica (http:en.wikipedia.orgwikiMathematica )

    Matlab (http:en.wikipedia.orgwikiMatlab )

    Netezza (http:en.wikipedia.orgwikiNetez za )

    NoSQL (http:en.wikipedia.orgwikiNoSQL )

    Oracle (http:en.wikipedia.orgwikiOracle_Database )

    PMML

    (http:en.wikipedia.orgwikiPredictive_Model_Markup_Language)

    R编程语言(http:en.wikipedia.orgwikiR_ )

    RapidMiner (http:en.wikipedia.orgwikiRapidMiner )

    S-PLUS (TIBCO) (http:en.wikipedia.orgwikiS-PLUS )

    SAS (http:en.wikipedia.orgwikiSAS_Institute )

    Splunk (http:en.wikipedia.orgwikiSplunk )

    SPSS (http:en.wikipedia.orgwikiSPSS )

    Statistica (http:en.wikipedia.orgwikiSTATISTICA )

    Sybase (http:en.wikipedia.orgwikiSybase )

    Tableau (http:en.wikipedia.orgwikiTableau_Software )

    Teradata (http:en.wikipedia.orgwikiTeradata )

    此列表重点关注已经有一定历史的大型数据分析公司。在过去几

    年,无数的参与者如雨后春笋般涌现,特别是在MapReduce生态系统行

    业。

    交叉参考 关于大数据生态系统的更多信息,参阅第2章。

    现代的趋势

    在新技术方面,很多当今技术都跟大型分布式数据库的集成分析有

    关。要让数据架构师、工程师和数据科学家互相沟通,并做二选一的转

    变——以前是“数据到分析”(传统数据科学方法),现在是“分析到数

    据”(是受数据架构师和数据库公司青睐的更为现代的方法,因为它的速度更快)。分析到数据,意味着分析是在数据库或数据存储环境里就

    近进行的,而不是把数据下载到本地分析它。这减少了多个数据库用户

    的情况下大量冗余下载的必要。在本章的最后一节中可以读到更多相关

    的细节。

    当然,这归结为在数据库里或就近位置,运用正确而先进的分析工

    具(不只是提取(Extract)、转换(Transform)和加载(Load)方面,简写为ETL)。当分析是在数据库内部进行时,有时被称为内存数据分

    析。它是一种更为强大的“分析到数据”的形式,是将分析集成和嵌入到

    数据库架构中,且主要在快速存储器(内存)中进行,有时还会使用多

    个服务器。但其中一个问题是,现代数据库处理涉及更复杂的编程语

    言,而现在大多数人还在使用SQL,要他们改变旧习惯很难。因此,像

    Pivotal这样的先驱公司发明了一种名为Fast SQL的系统,使那些习惯

    SQL的程序员不需要学习新的、更加复杂的语言,并且代码优化是在

    Hadoop(一种分布式架构)下运行的。

    其他现代趋势包括自动化的机器到机器实时通信,在高频交易策略

    或大规模竞价系统里都有使用。一个例子是eBay基于谷歌的点击付费关

    键词过去的效果(当历史记录可用时),或对没有历史记录的新关键词

    分析计算其得分,每天实时更新1 000万个关键词出价。这些机器到机

    器的通信都是通过API或AaaS(分析即服务,按需求提供)。API调用

    无非是HTTP请求(实际上,大多数情况下都是HTTPS请求),通过查

    询字符串参数(用XML格式编码的键值对),指定所需的服务类型

    (如关键词的价格和数量的预测)。

    此外,现代数据如此不同和独特是因为它的多样性(有时是Twitter

    推文的非结构化格式,有时是来自移动设备或传感器的结构化良好的数

    据)、产生速度和数量,这使得传统的统计分析并不总是那么合适。

    概括说,下面这些都是数据科学现代趋势的特征。

    内存数据分析。

    MapReduce和Hadoop。

    NoSQL、NewSQL和图形数据库。

    Python和R。

    数据集成:混合非结构化和结构化的数据(如数据存储和安全性、收集数据时的隐私问题,以及数据的合规性)。可视化。

    分析即服务,简写为AaaS。

    文本分类或标签和分类系统,以便于从原文本中获取洞见力,给非

    结构化数据加上结构。

    最后提一下Perl,它是伟大的编程语言,5年前比较流行,却是现代

    编程环境的牺牲品。它已经被Python及它的分析和图形库取代。虽然

    Perl非常灵活,且无须专注于代码的编写,但Perl程序维护困难且成本

    高。Perl没能在现代灵活而精简的环境中存活下来。也有些人说,最优

    秀的分析工具Excel也会消亡,但我并不这么认为。现代版本的Excel使

    用云服务,从互联网上获取数据,并将其存储在多维数据表里。

    最近的问答讨论

    最近我与不同社区的数据架构师进行了以下讨论,特别是(但不仅

    局限于)同LinkedIn上数据仓库研究所(TDWI)的小组成员进行讨

    论。他们阐述了一些在新的分析革命完成之前,仍然需要解决的挑战。

    以下是数据架构师和数据库管理员询问的几个问题,以及我的答复。这

    些问答跟在SQL查询中优化连接操作有关,或干脆跟SQL无关。一些现

    代数据库提供了许多功能,包括哈希表连接和可以由最终用户进行微调

    的查询优化程序。该讨论说明了数据科学家、数据架构师和业务分析师

    之间的冲突。它还涉及许多创新的概念。

    问题: 你说SQL的瓶颈之一是用户写查询是通过3个连接实现的,这些查询何时可以分成两个查询,每个查询两个连接?你能详细说明

    吗?

    答案: 通常,我写SQL代码的方式是将它嵌入到一种编程语言里,如Python,且在内存中储存我需要的所有查找表,如哈希表。所以我很

    少有做连接操作,当我这样做时,它顶多只是两个表格。

    在一些(罕见的)情况下,查找表太大,而无法放入内存中,所以

    我使用抽样的方法,且使用子集和聚合规则。一个典型的例子是,你的

    数据集(如网页日志文件)的一个字段是一个用户代理(即浏览器,简

    称UA)。如果你有更独特的UA数据,在内存中装不下,但只要你保留1 000万个最受欢迎的UA,并把2 000万个罕见的UA 分到几百万类别里

    (基于UA字符串),在大多数应用中能得到很好的结果。>>更多新书

    朋友圈免 费分 享 微信 xue ba987

    作为一个算法专家(不是SQL专家),我花了几分钟通过Python中

    的哈希表(使用自己的脚本模板),做了一个高效的四表连接。我所做

    的绝大部分都是进阶分析,而非数据库聚合:它们涉及先进的算法,但

    在Python中编码很简单,如隐性决策树。总之,对于非专家级SQL用

    户,如业务分析师,是培养他们写出更好的SQL代码,包括复杂的连

    接,还是培养他们学习将Python跟SQL代码混合编程,哪种方法更简

    单、更有效?

    具体而言,我心目中的系统是不需要很频繁地从系统下载查找表

    (也许一周一次),但需要比较频繁地访问主表(事实数据表)。如果

    你必须非常频繁地上传查找表,那么Python方法将失效,且你的同事会

    不高兴,因为你经常下载,从而降低了整个系统的速度。

    问题: 像你这样(运行Python或Perl脚本访问数据库)的人会是数

    据库管理员(DBA)的噩梦。你不觉得你是给DBA带来问题的根源

    吗?

    答案: 因为我更擅长Python和Perl而不是SQL,我的Python或Perl代

    码是无错误、易于阅读、易于维护、最优化、稳健和可重复使用的。如

    果我用SQL编码,则它的效率是很低的。我所做的大部分工作是算法和

    分析(机器学习的东西),而不是查询数据库。我只是偶尔下载查找表

    到我的本地机器(保存为哈希表和存储为文本文件),因为大多数情况

    下每周变化不大。当我需要更新时,我只需提取上次更新后添加的新行

    (基于时间戳)。在运行处理数据量很大的SQL脚本之前,我会进行一

    些测试,以了解它会消耗多少时间和资源,看看我能否优化。我是一个

    SQL用户,就像所有的统计学家或业务分析师一样,不是一个SQL的开

    发者。

    但我同意,我们需要找到一个平衡,以尽量减少数据传输和处理,就近运用更好的分析工具。至少,我们需要能轻松地在非生产数据表和

    系统里部署Python代码的能力,并且需要合适的磁盘空间(也许200

    GB)和内存(至少几GB)。

    问题: 你偏好的编程语言是什么?答案: 有些人更喜欢使用脚本语言,而不是SQL。人们认为SQL可

    能不够灵活且易于出错,产生错误后没人注意到,因为连接操作中有

    Bug。

    你可以写简单的Perl代码,易于阅读和维护。Perl可以让你把精力

    集中于算法,而不是代码和语法。不幸的是,许多Perl程序员写的代码

    晦涩难懂,这使得Perl有了坏名声(在代码的维护和可移植性方面)。

    但是,不一定都是这种情况。

    你可以使用多个SQL语句和视图,把一个复杂的连接分解成几个较

    小的连接。你可能认为,数据库引擎会帮你整理这种分解过程,把不那

    么高效的SQL代码变得更加有效。至少你可以测试这种方法,看看它是

    否和一个有许多连接的、单一的复杂查询的运行速度一样快。分解多个

    连接成几个简单的语句,让业务分析师编写简单的SQL代码,也便于其

    他程序员重用或维持。

    看到一些软件自动修正SQL语法错误(不是SQL逻辑错误)是件有

    趣的事情。这将为很多像我这样的、非专家级的SQL程序员,节省很多

    时间,因为经常重复发生的拼写错误,可以自动修正了。同时,你可以

    使用图形用户界面(GUI)生成合适的SQL代码,利用大多数数据库厂

    商或开放源码提供的工具,如适用于Oracle的Toad。

    问题: 你为什么说这些内置的SQL组合优化器,对于终端用户是黑

    盒技术呢?你认为参数不能由终端用户调整吗?

    答案: 我总喜欢对我做的事情有所控制,虽然不一定是全部控

    制。例如,我比较满意Perl处理哈希表和内存分配的方式。我宁愿用

    Perl黑盒内存分配或哈希表管理系统,而不是像C语言那样要自己从头

    开始,或更糟糕的是,要编写一个编译器。我只是有点担心黑盒优化

    ——我看到过非专家级用户鲁莽地使用黑盒统计软件而造成的危害。如

    果我至少有一点控制,我会感觉更舒服,甚至只是简单地给DBA发送电

    子邮件,让她帮助改善我的查询语句,让她帮助解决我的疑问,也许只

    是微调组合优化器,这对所在组织和其他用户是有必要和有益的。

    问题: 你不认为你的方法已经过时20年了吗?

    答案: 结果比方法更重要,只要该过程是可重复的。无论我用什

    么工具,只要我能打败竞争对手(或者帮助我的客户打败竞争对手),正如有人曾说过,“如果没有坏掉,就不要修理它。”有时我使用

    API(例如,谷歌的API),有时我用网络爬虫收集外部数据,有时使

    用Excel或优秀的数据库,有时(不使用任何数据)依靠肉眼、敏锐分

    析和直觉,效果都很好。有时我使用统计模型,有时非常现代的架构也

    是必要的。很多时候,我使用这些技术的组合。

    交叉参考 我有几个“浅分析”的例子,比复杂的架构效果更好,包括一些电子邮件营销优化和股票交易的情况。这些将在第6章中讨

    论。

    问题: 为什么你要问“数据到分析”方法是否有意义?

    答案: 我问这个问题的原因是,因为有些事情一直困扰着我:基

    于不算过时的观察(不超过三四年),我提到的一些做法在数据分析领

    域里已经根深蒂固(分析是指机器学习、统计学和数据挖掘,而不是

    ETL)。这也是一个尝试,看看是否有可能在数据科学家和数据架构师

    这两个非常不同的社区之间建立一个更好的桥梁。数据库搭建者经常

    (但并不总是)需要数据科学家对组织好的数据提炼出见解和价值。而

    数据科学家经常(但并不总是)需要数据架构师建立优秀的、快速的、高效的数据处理系统,这样他们就可以更好地专注于分析了。

    问题: 所以本质上你维护缓存系统,对查找表的本地副本定期进

    行小的更新。两个像你一样的用户,做着同样的事情,过一段时间后,会得到两个不同的副本。你如何处理该问题?

    答案: 你是正确的,两个用户有两个不同的查找表副本(缓

    存),造成了问题。虽然对我来说,我倾向于与其他人分享我的缓存,因此它不像5人在研究5个不同版本的查找表。虽然我是一个高级数据科

    学家,也是一个设计师或架构师,但不是一个数据库的设计师或架构

    师,所以我倾向于有我自己的、与团队分享的本地架构。有时我的架构

    存储在一个本地的小数据库里,偶尔会存在生产数据库里,但很多时候

    是作为有组织的普通文件或哈希表存储在本地驱动器上的,或保存在数

    据库服务器以外的云里的,但如果数据量大,那么数据库到云的距离不

    会太远。很多时候,我最重要的“表格”是总结摘要表——要么是很容易

    用纯SQL生成的简单聚集表,要么是复杂的交易得分(按客户、日期、商户或更细的颗粒度评分),所用的算法太复杂了,以至于使用SQL不

    能有效地编码。我的“缓存”系统的好处是尽量减少耗时,减少对系统内其他人的影

    响。其缺点是,我需要维护它,并且本质上我是在复制数据库系统本身

    的进程。

    最后,对于研究数据的统计学家来说,只要数据是几乎正确的(是

    指查找表不是最新版本的,而是“缓存”系统中存储的没有频繁更新

    的),甚至说数据只是抽样,这都不是问题。通常,收集的数据是我们

    试图采集和度量的信号的近似——所以数据难免混乱。对预测模型来

    说,不管是从数量适量的数据集(我的“缓存”),还是原始、最新的数

    据集,或者是认为注入5%噪声的数据,所能得到的投资回报率——在

    大多数情况下几乎相同。

    问题: 你可以对代码的维护和可读性做些评论吗?

    答案: 如果某人写了晦涩的SQL,在他离开公司后,或更糟的是,当SQL移植到不同的环境(不是SQL环境)时,这对于要了解原始代码

    的新程序员来说,是一场噩梦。如果可读性好的SQL(也许包含更多语

    句,更少的高维连接)运行速度和复杂的SQL语句一样快,这得益于内

    部对用户透明的查询优化程序,那么为什么不使用易读的代码代替呢?

    毕竟,优化程序应该使这两种方法是等价的,对吗?换句话说,如果两

    段代码(一个短但晦涩难懂;一个较长,易于阅读、维护和移植)具有

    相同的效率,既然它们本质上会被优化器变成相同的伪代码,那我喜欢

    较长的版本,因为它的编写、调试、维护等需要更少的时间。

    那些能将难看、晦涩但高效的代码变成好看、易于阅读的SQL的工

    具,如“SQL美化器”,可能有市场。当将代码移植到不同的平台时,它

    是很有用的。虽然在一定程度上,这已经存在了,但你可以很容易地对

    数据库系统所有的查询或查询集进行图表化和可视化。SQL美化器在某

    些方面类似于一个能把汇编语言转化成C++的程序——简而言之,是一

    个反编译器或解释器。

    总结

    本章首先讨论数据科学不是 什么,包括传统学历课程需要如何适

    应企业和政府的发展。这种适应涉及处理数据的新方法,以及数据的新类型,包括大型、非结构化和高速流数据,有时是由传感器生成的数据

    或交易数据。

    接着本章讨论了现实生活中可以使用数据科学并且确实奏效的许多

    情景。最后,我们讨论了数据科学的历史,包括该领域的一些先驱公司

    和现代趋势。

    本书第2章将讨论什么使得数据科学成为一门新的学科,并说明了

    大数据与10年前所看到的数据之间的差异,解释了将标准统计学技术盲

    目地应用到大数据时为何会失败、问题到底是什么、应该如何检查和解

    决。第2章

    大数据的独特性

    在第1章中,我们讨论了什么是以及什么不是数据科学,认识到数

    据科学的范畴不仅仅局限于数据分析、计算机科学或统计学。本章将进

    一步探讨数据科学这门新的学科。

    本章首先讨论与大数据相关的最重要的两个问题。然后,分析一些

    现实生活中使用大数据技术的例子,并讨论高效的大数据团队氛围中的

    沟通交流问题。最后,讨论了统计学在目前和将来如何成为数据科学的

    一部分,并谈及大数据生态系统的组成部分。

    两个大数据的问题

    关于大数据,有两个问题必须讨论和理解:大数据“诅咒”和快速数

    据流动的问题。下面将讨论这两个问题。

    大数据“诅咒”

    虽然一些数据科学技术在小型、中型和较大型数据集上运作良好,但却不一定适合大数据。在大数据环境下,如果轻率地使用这些数据科

    学技术,可能会带来危险,这就是大数据“诅咒”。这个问题在大数据交

    易的缺陷中(本章提出了解决方案)阐述得比较清楚。

    简言之,大数据“诅咒”就是,当你在包含几十亿或几万亿数据点和

    几千个指标的大型数据集里搜寻模式时,注定会发现存在一些模式但并没有任何预测能力。更糟的是,这些强烈的模式可能会是:

    完全出于偶然(像中彩票一样)。

    不可复制。

    没有预测能力。

    包含模糊的、易被忽略的,但具有较强预测能力的弱模式。

    所以问题就是,在海量数据中该如何区分真实的信号和偶然的信

    号?让我们来看一个例子:在时间序列中识别强相关性或关联性。

    例子

    如果你有1 000个指标(时间序列),可以计算出499,500=1

    0009992个相关系数。如果把时间差形成的交叉相关性也考虑在内

    (例如,IBM今天的股价和谷歌两天前的股价),我们需要处理数百万

    的相关系数。在所有这些相关系数中,有一些系数碰巧取得极高的数

    值,如果用这样的系数来做预测性建模,就会遭遇失败。切记,统计学

    家在开始一个项目时首先要做的步骤之一,就是用所有指标来分析交叉

    相关性——这是探索性分析步骤的一部分。然而,对规范化的时间序列

    进行频谱分析(而不是相关分析)能够提供更健壮的机制来识别真正的

    关联关系。

    为了进一步说明这个问题,假设给定k个时间序列,每个序列分别

    包含n个观测值,比如在长度为n天的同一时期内,具有不同时间差的k

    个不同股票代码的价格deltas系数(价格升高或降低)。你希望发现类

    似这样的模式,“如果谷歌股价上涨,1天后Facebook股价会下跌。”要

    发现这种可以带来赢利的模式,你必须计算成千上万只股票及其不同时

    间差的交叉相关性,这些时间差可能是一两天,也可能是一两秒,取决

    于进行的是日间交易,还是快速高频的日内交易。

    通常,你会采用较少数量的观测数据(比如,n=10天或

    n=10mm),因为这些模式会迅速消失。(如果你的竞争对手发现了这

    些模式,它们就不能再用来进行赢利了。)换句话说,你可以假设n=10

    或n=20。而在一些以月数据来进行计算的情况下(环境统计或新型疾病

    的出现),可能需要设定n=48,对应2年内所收集的月数据。在某些情

    况下,n可能会大得多,此时大数据“诅咒”反而消失了。当n小于200,而k相对较大时,比如k=500,大数据“诅咒”的影响会较为突出。然而,n很大(>1 000)同时k也较大(>5 000)时,较少能观察到大数据“诅

    咒”的影响。

    并非所有大数据都需要计算数百万的交叉相关。而这里描述的概念

    适用于一般的交易数据,或者那些需要被划分到数十亿数据桶(通常较

    小)之后,再被打分计算的数据。同时,大数据的范围可以从10GB到

    PB,并涉及上亿的观测值——通常每年几十亿的观测值,或者有时每

    天几十亿,或者每秒成千上万。需要注意的是,在有些情况下大数据可

    能是稀疏的,或者高度冗余的,所包含的信息远低于人们的想象。社交

    网络数据、视频流,以及一般来说任何一个能被有效压缩的数据集,均

    属这种情况。

    交叉参考 在分析大数据,以及创建数据词典时,交叉相关分析

    是前期步骤之一(探索性数据分析的一部分)。在本书随后章节中,你

    会读到更多关于数据处理步骤的内容。

    怎样创建数据字典请参阅第5章。

    数据科学项目的生命周期请参阅第5章。

    定义请参阅第8章。

    现在,我们用数学方法来估算所检测到的高度相关性可能出错的概

    率。你可以使用蒙特卡洛模拟的方法来计算该概率,但本文将使用传统

    的统计建模方法。

    假设有一个新的参数m,代表从k个时间序列中选出的、成对(二

    元变量)的独立时间序列数目。现在需要计算这m对时间序列的相关

    性。此处有一个理论问题:假定有m个独立配对时间序列,每一个都包

    含n个由随机数字生成器生成的数字(观测值可以是,比如,两支不同

    股票在指定时间的、规范化的模拟价格),在m个相关系数中,至少有

    一个高于0.80的概率有多大?

    在这个设计中,理论相关系数(相对于估计的相关性)是0。要回

    答这个问题,假定(不失普遍性)这些时间序列(在简单的规范化后)

    是高斯白噪声,那么估算的相关系数,设为r,是(渐近地——即当n取

    值不是很小的时候)正态分布,均值为0,方差为1(n–1)。r比指定的

    某个数a大的概率(比如a=0.80,意味着强相关)是p=P(r>a),P代表

    一个正态分布,均值为0,方差为1(n–1)。在这m个二元(配对)的时间序列中,至少有一个的相关系数超过a=0.80的概率就等于1–[(1–

    p)m ]。

    以下面为例:

    如果n=20且m=10 000(10 000个配对时间序列,每对有20个观测

    值),那么结论是错误的概率(即a=0.80)是90.93%。

    如果n=20而m=100 000(仍然是一个相对较小的值),那么结论是

    非常 错误的概率(即a=0.90)是98.17%。

    现在,它的实际操作如下:给定k个指标或变量,用每个指标来计

    算一个以不同时间间隔n计算出来的时间序列。我们可以计算所有的交

    叉相关系数,即m=k(k–1)2。然而,m对时间序列间的独立性假设

    现在被违反了,因此相关性将进一步远离比如像a=0.90这样的高值。此

    外,你的数据不是随机的数字——即不是白噪声。因此,理论上的相关

    值远高于0,也许当n=20时,这个值接近于0.15。进一步,m会远高于比

    如10 000或100 000,即使在你只有k=1 000个时间序列时(例如,一个

    时间序列对应一个股价)。这3个因素(非独立性,理论上r不等于0,和很大的m)相互平衡,使前述的计算方法在应用于典型的大数据问题

    时,能得到相当准确的结果。注意,概率p=P(r>a)是使用在线计算工

    具stattrek 获得的。这个在线工具能直接提供答案——你不需要运行

    SAS、Python或R程序来获得数值——在你搭乘飞机时用iPad就能算出

    来。

    结论

    正如这个问题所表明的,类似这样的大数据项目需要合适的数据科

    学家来推进。你不需要有很高的技术,但是你必须用类似前述论证的方

    式来思考,在开发一个统计或计算机科学算法前,要先确定可能导致模

    型失败的原因。统计学家的知识对此会有所帮助,不过你并不需要高级

    的统计知识。计算机科学家的知识也有助于衡量算法的有效性,并使它

    们简洁、高效。MBA分析师的知识也有助于理解需要解决的问题。同

    时具备这3方面当然更好——这样的人确实存在,而且并不罕见。

    真正的数据科学家在面对待处理的大数据集时,首先要明白这个事

    实,即在观察几十亿数据所蕴含的模式时,有些看起来很有价值的模式

    其实只是偶然现象。像这里所说的,真正的数据科学家更倾向于健壮的指标,而不是这里列出标准的指标,尤其是在观察、比较和给几十亿的

    数据桶打分时。他将通过模拟来评估一个模式是否真的像起初想象的那

    样有价值,并且根据实际情况,使用一些能够对整体分布(根据大小调

    整)进行比较的指标,而不是体现狭窄、单一结论的指标,比如平均值

    或相关系数。

    最后,我们可以通过询问人们是否同意以下3个句子来识别伪数据

    科学家,如果他们对其中之一或所有3个回答“是”,那么他们不是真正

    的数据科学家。

    算法复杂度(用O符号表示)比数据传输所花费的时间更重要。

    (错:使用Hadoop与分布式集群架构时,优化数据传输和内存使用

    往往比算法复杂度更重要。)

    一个人不能同时掌握统计学、计算机科学和机器学习的知识。

    (错:一个数据科学家应该对这几门学科都有足够的了解,同时在

    其中一些领域具有专业知识。)

    商业专业知识并不重要。不管是什么商业模式,数据集就是数据

    集。(错:这是狭隘的看法。现在的商业模式远比过去复杂,行业

    专业知识是必需的。例如,如果你开发了一个验证码系统,却不知

    道垃圾邮件发送者已经开发出能完全绕过该验证码的系统,那么你

    的系统几乎没有任何价值。)

    技术讲义

    下面是一个例子,阐明了本节讨论的复杂相关结构,以及它们

    并非彼此独立的事实。假设你有3个随机变量X、Y和Z,同时

    corr(X, Y)=0.70、corr(X, Z)=0.80。那么corr(Y, Z)的最小值

    是多少?这个相关值可以为负吗?

    答案是0.13,是一个正数,它必须为正。该证明是基于这一事

    实:相关系数矩阵是半正定的,因此它的行列式值必须大于0(详

    细内容参见http:bit.ly1evFjBJ )。数据快速流动问题

    大数据的第二个挑战是,当数据流动变得越来越快,数量越来越

    多,并超过了数据处理能力时,该怎样应对。通常,这种挑战以两种形

    式出现:数据以目前的技术无法 处理,或者数据能够 被处理,但由于

    其规模太大而难以处理。

    应对无法处理的数据

    在某些情况下,不论使用什么处理方法和算法,由于大量数据以极

    快的速度不断累积,你需要删除一定量(可能每天需要删除很大一部

    分)的数据以后,才有可能对它进行观测。

    例如,用来检测新的行星、小行星等的天文数据。数据不断快速

    地、大量地积累,以至于无法在云端使用大规模并行处理。也许好的采

    样是一种解决方案——在开始观测数据之前,先确定哪些数据可以忽

    略,然后仔细选择要分析的数据。

    另一种可能的方案是开发更好的压缩算法,这样当你具有更强计算

    能力时,就可以分析以前收集、压缩和存储过的所有数据。比如,在

    2030年,也许你将能研究一颗遥远的超新星,它从2010年开始,连续20

    年内,每小时的演变情况。但在2010年,它还没有被发现,因为相关数

    据都被存放在一个休眠的服务器上。

    一般来说,解决方案包括采样和或压缩(在有意义的情况下)。

    数据科学家应该熟悉健壮的采样技术、不平衡样本和实验设计,从而设

    计预测模型。由于缺乏适当的统计培训,常见处理方法多是纯计算机科

    学的方法(使用整个数据集)。也有一种观点认为,在统计如网站每月

    的特定用户数量这样的数据时,采样法也是行不通的。出现这种情况,原因是缺乏统计知识,以及现实中未经训练的分析师使用样本进行此类

    计算时很容易出错。比如,他可能会从30天中抽取3天数据作为样本

    (其中包括一个低流量的星期日),然后乘以10,得到一个总数。这种

    解决方案对于统计页面浏览量是有效的(假定工作日和周末造成的偏差

    校正已经处理过),但不适用于特定用户。对于特定用户,必须仔细估

    计乘数,它应该远低于10,除非你只有一次性用户。采样法已被广泛应用于较大型数据处理——例如,为人口普查局所

    用。压缩可以采取两种形式:对于很少访问的数据使用文本或图像压

    缩;对于陈旧数据,仅存储简洁的统计摘要(报表),而不必保存整个

    数据集。

    交叉参考 如需了解在哪些情况下采样法不可行,请参阅第7

    章“大数据与取样”一节。

    可处理但是处理难度大的数据

    这种情况指的是数据快速(有时是实时)、大量地累积,不过所有

    数据都可以 用现代的、快速的、分布式的、基于MapReduce的算法或其

    他技术来处理。出现的问题是,数据量如此巨大,积累速度如此之快,有时数据还是非结构化的,故只能用简单算法来处理,这通常会导致不

    良的副作用。或者至少你的CEO会这样认为。那么你该如何处理这种情

    况?

    我们来看几个例子,特别涉及CEO对这一问题的认知,这和业务最

    为相关。考虑以下的数据情况。

    信用卡交易实时评分。

    垃圾邮件检测。

    定价折扣实时优化(零售)。

    反导弹技术(数值优化问题)。

    高频交易。

    依靠实时3-D数据流(视频和声音)的系统,如自动驾驶仪(大飞

    机靠自动驾驶仪在低海拔的、拥挤的城市上空飞行)。

    Facebook的“喜欢”、Twitter消息、Yelp的评论,内容与用户匹配

    (谷歌),等等。

    将简单算法应用于这些数据集时,可能导致以下结果。

    太多的误报或漏报和未检测出的虚假评论。例如,假的Twitter消息

    会对股票市场造成影响,关于白宫遇袭的假新闻将会导致美国国内

    广泛恐慌,然而Twitter可能无法实时检测到这些假消息。这种情况

    可以通过恰当的数据管理政策来处理,同时网站公司自己也可以处理。(http:www.vancouversun.comtechnologypersonal-

    techYelp+sues+North+Vancouver+reviewer+bogus+reviews8958494story.html.)谷歌也是这样处理的——惩罚黑帽(国际黑客组织的名称)的搜

    索引擎优化(SEO),同时改进自己的算法。

    Facebook上数十亿未被检测出的虚假“喜欢”,给广告客户造成了混

    乱,并最终导致广告支出的下降。这对用户也有不良的影响,会使

    用户最终忽略这些“喜欢”,因此进一步减少已经很低的点进率,导

    致Facebook收入的降低。Facebook将被迫开发出新功能来替代“喜

    欢”,最终新功能又会再次被滥用,使用机器学习算法或其他方法

    无法将其检测出来,最终形成了一个微型的泡沫循环,即不断使用

    新的方法使其永久保持活跃,从而维持收入流。

    我说的简单算法是指朴素贝叶斯分类器,或那些对离群值敏感的算

    法,比如巨大的决策树或线性回归用于非线性(扭曲的)数据。更复杂

    的算法包括多分类器组合,或者如Bagged型分类器或Boosted型分类器

    中的重复采样算法。其中一些可以用MapReduce快速方便地实现。

    交叉参考 关于隐性决策树的讨论请参阅第5章。

    有一个应考虑的问题是确定哪些数据可以被丢弃,哪些数据很少被

    访问,哪些领域可以忽略。(我见过被用户代理字段占据了80%空间的

    日志文件。为什么不使用一个用户代理查找表来减少数据量?)此外,当你开始收集大量的非结构化数据(例如文本数据)或来自多源的混合

    数据时,如Hadoop这样的MapReduce环境就变得很吸引人。最后,你可

    能会倾向于使用如本书中讨论的分类方法,对非结构化数据进行分类并

    添加结构;或在创建文本时加上标签;或使用存储在文件头中的元数

    据,然后就比较容易在传统的数据库中改造和处理数据了。但目前的趋

    势是厂商开发解决方案,供分析师使用SQL来访问Hadoop文件管理系统

    中的底层数据,而不是相反的做法。

    解决方案

    在很多情况下,人们太过依赖众包而不愿使用采样技术,这主要是

    因为会从大数据中获取优良样本的专家太少。在某些情况下,你仍然需

    要做出粒度预测(不是摘要)——例如,每幢房子的价格(Zillow)或

    每个邮区的天气预报。然而,即使在这些情况下,优秀的采样算法也会

    有所助益。许多“评论”、“喜欢”、“推文”或“垃圾邮件”的标识是由具有不良意

    图、企图大规模地利用系统的用户(有时是僵尸网络运营者,有时是业

    务竞争对手)制造的。贪婪也是导致问题的一部分原因。我们来考虑下

    面一个虚拟的场景:如果虚假的“喜欢”为社交网络A带来收入,而没有

    被广告客户发现,社交网络A会给广告客户引入更多的虚假“喜欢”,因

    为社交网络认为它没有足够的相关流量来供给所有 广告客户,所以要

    把优质流量分配给大客户(付出更高广告费用的客户)。当客户注意到

    这种情况时,社交网络A或者停止这种做法,或者等着被集体诉讼——

    9 000万美元对于现在庞大的社交网络来说不算什么,如果谷歌和其他

    网站由于提供假流量而遭到集体诉讼,他们会心甘情愿地接受这一罚款

    数目。

    然而,有一种惠及所有人的解决方案——用户,谷歌、Amazon.com、Netflix、Facebook、Twitter这样的公司,以及客户,那就

    是更好地利用数据科学。这并不涉及开发复杂、昂贵的统计技术,只需

    采用下面这些做法就可以了。

    更好的指标。

    不同的权重(例如,减少对众包数据的侧重)。

    通过更好的链接分析和关联规则,检测勾结、僵尸网络和大规模的

    低频欺诈者。

    更好地、更频繁地更新查找表(IP地址白名单)。

    所有这些都可以在不减慢现有算法的情况下完成。下面是一个社交

    网络数据的例子:选用下面的做法,而不是计算“喜欢”的数目(点

    击“喜欢”的情况是各异的)。

    注意那些每天点几百次“喜欢”的用户,以及被Project Honeypot(蜜

    罐项目)或Stop Forum Spam(阻止论坛垃圾帖)标记了的IP地址带

    来的“喜欢”点击。但也不要完全信任这两个网站——它们也至少部

    分地依赖众包(用户报告垃圾邮件),因此也可能有误报和滥用。

    识别这样的情况:比如有200个“喜欢”却没有一条评论,或只有50

    个具有同样意思的“很好”或“好帖”评论——显然这是虚假“喜欢”的

    案例。广告客户不应为此付费,同时应查明并终止这些流量来源。

    还需注意这样的高流量:流量很大一部分来自频繁回访、每天点两

    次“喜欢”的低质量用户,有红色旗标(如没有参考域,或很多模糊的域,IP地址经常不能确定域,流量来自某些网盟的子机构等)的

    低质量用户。>>更多新书朋友 圈免费分享微 信xue ba987

    使用对唯一用户更健壮的指标(更难假冒),而不是页面浏览量

    (但你仍然需要检测虚假用户)。

    使用简单、健壮、快速、数据驱动(而不是模型驱动)的算法,比

    如隐性决策树,来给“喜欢”和评论打分。你甚至可以在不使用任何

    统计模型的情况下计算得分的置信区间。

    用简单的分类概念创建或改进广告相关性算法。这适用于很多重视

    相关性的应用,不仅仅是广告投放。这也意味着算法能更好地检测

    有影响力的人(比如,你必须是PeerIndex的成员才能得到高分)、更好地检测剽窃、更好地发现朋友、更好地给求职者打分、改善归

    因分析系统(广告组合优化,包括提高统计模型中的长期影响因

    子)等,好处不胜枚举。

    检测Facebook“喜欢”的问题是一大类商业技术中的一部分,它包括

    给点击、关键词、会员、页面印象等互联网流量打分。其目标有两个:

    检测欺诈(假用户、假点击、重复用户)和给每个被测量的要素(点

    击、关键词、用户)分配一个质量得分(代表转化率或价值)。

    交叉参考 关于欺诈检测的更多介绍请参阅第6章。

    当然,在Facebook广告的案例中,精明的广告主使用其他标准来衡

    量广告花费的投资回报率。他们使用“顾客有效期”评估和或对自己网站

    的参与度。例如,喜达屋酒店(Starwood Hotels)在一个全球会议上说

    他们公司在量化“参与指数”,其中包括粉丝怎样分享酒店内容(传播和

    粉丝获得)、对酒店的光顾,以及在他们自己网站上的参与度。随着该

    行业日益成熟(广告主、出版社,以及用户),黑市上卖Facebook“喜

    欢”的将越来越少,但坏人还是会找到新的方法来利用Facebook或任何

    出版商推出的新功能搞不正当交易。

    交叉参考 第6章的“归因模型”一节介绍了用“宏观经济”的方法来

    衡量广告花费的投资回报率。这种宏观经济方法在数据存储、跟踪和处

    理方面都便宜得多,因为你只需要观测更大的聚合数据。

    注意,流量评分对实时竞价,或者对购买大量没有历史转化数据的

    新关键词(eBay每天都在这样做)特别有用。更好的算法和数据管理

    (创建像IAB(互联网广告局 )那样根据点击和用户指标的标准)将有

    助于根除这些问题,例如定义哪些“喜欢”可以算数,哪些“喜欢”应该被丢弃。

    当数据见解流动太快时

    如果有能力的话,你应该在终端用户(管理人员和决策者)接收和

    理解数据之前,对数据进行分析(通常使用实时的自动算法)并快速提

    取出见解。但在把这些见解提交给终端用户之前 ,你需要对它们做些

    处理——如果决策者被一大堆没有划分优先顺序的报告淹没,那可不是

    一件好事。

    解决的办法是为报告或警报分出优先等级(使用dashboard系统)、确定谁收到什么、提供良好的可视化效果,并允许用户取消电子邮件发

    送的自动报告的订阅。还有一个好办法是在电子邮件里只提供摘要和简

    明的图表,然后附上一个完整报告的链接。一些CEO抱怨他们的电子邮

    箱定期被很多大型日常报表塞满。

    交叉参考 关于可视化工具的信息请参阅第4章。

    这种情况也会出现在机器和机器通信时,例如,eBay每天自动定价

    几百万个竞价关键词,并通过谷歌API(谷歌应用程序接口)把这些定

    价自动传送给谷歌Ad Words(谷歌在线广告服务)。太多工程师每天收

    到关于这种活动的详细报告,其实一份摘要就足够了。

    大数据技术示例

    在讨论了这两个大数据问题后,现在我们来看看数据科学家使用哪

    些技术和工具来处理数据。如需详细了解数据科学项目如何执行以及包

    括哪些步骤,请参阅第5章“数据科学项目的生命周期”一节。

    大数据问题是数据科学所面临挑战的

    缩影这里讨论的示例问题是创建更好的搜索工具。这是大数据和数据科

    学发源的问题。

    你在谷歌上搜索过mining data (采矿数据 )吗?它返回的结果会

    和搜索data mining (数据挖掘 )相同。然而这是两个不同的关键

    词:mining data 通常指关于采矿的数据(如煤炭、黄金等)。如果你搜

    索data about mining (关于采矿的数据 ),将得到相同的结果。

    然而谷歌已经是拥有最好搜索算法的搜索引擎了。可以试想一个销

    售产品的电子商店:它允许用户通过一个带有搜索功能的目录寻找商

    品,但是20%的情况下返回不相关的结果。这将会损失很多钱!事实

    上,如果你是一个投资者,想在Amazon.com上购买一份关于mining data

    的报告,结果搜索到的都是关于data mining的书,于是你什么也不会

    买,这种情况可能会导致Amazon.com相当大的损失。这种情况一年重

    复几百万次,造成的机会成本将有数十亿美元。

    下面讨论这类问题的一个可行的解决方案,并简单解释怎样帮助任

    何企业和分析团队轻松解决这样的问题。

    用户输入的任何搜索查询都将通过以下步骤进行处理。

    1. 清理用户查询内容:改正错别字。

    2. 然后经过修剪:复数换成单数,动词(ing形式)换成名词(因

    此mining变成mine),等等。

    3. 去掉停止词:the、or、and、of、from、about、it、with等。例

    如,IT jobs (IT工作)变成了jobs (工作),data about mining 变成了

    data mining ,然后变成data mine (由于步骤2)。

    4. 查询内容规范化:搜索词按字母顺序重新排列(mine data 变

    成data mine )。

    5. 使用算法和查找表来确定查询中是否包含城市名称、书籍、歌

    曲、产品或电影。

    6. 使用其他算法检测两个词是否必须连在一起。例如,San

    Francisco 是一个词组,而不是两个,尽管它看起来像两个。7. 检测同义词。例如,automobile 可能会被替换成car ,以减少索

    引的大小。

    8. 对于一些跨多类别的查询,使用算法来检测用户的意图(有时需

    要结合用户个人资料)。

    如果你搜索IT jobs(IT工作),得到的结果会是所有工作。以我为

    例,当我搜索“IT jobs(IT工作)”时,得到的结果是在我居住的华盛顿

    州伊瑟阔市的所有工作职位。谷歌能够正确地识别出我住在伊瑟阔市

    (通过我的IP地址),但错误地假设我对本地就业机会感兴趣,同时忘

    记了我只对IT工作感兴趣。我点击的第一份工作是保险代理人。

    练习

    问题: 去掉停止词是否应该放在步骤1,而不是步骤3?

    回答: 你有没有想过这一事实,即mine 和yours 也可以是停止

    词?因此,在处理不当的情况下,data mining 先被修剪为data mine

    ,然后变成data ,这可能会带来与最流行的数据关键词data entry

    (数据条目)相关的搜索结果。在实践中,你先去掉停止词,然后

    再修剪。所以步骤3的确应该成为步骤1。

    如果你使用谷歌搜索的精确匹配 来搜索“IT jobs(IT工

    作)”、“mining data”和“data about mining”,得到的结果稍好一点。所以

    谷歌似乎有一个解决方案。我认为真正的解决方法是把精确匹配而不是

    广泛匹配 设为默认选项。有多少人知道精确匹配?很可能不到1%。不

    过,这个问题的商业性要多于技术性。

    我能想象谷歌如 ......

您现在查看是摘要介绍页, 详见PDF附件(3943KB,373页)