`

重构大数据统计

 
阅读更多



 大数据丛书
阿里技术丛书

重构大数据统计(阿里巴巴集团技术丛书,大数据丛书。大型互联网公司大数据分析实践经验!大数据分析人员必修必学的内功。基于本书内容开发的数据分析工具已在阿里巴巴集团内部使用,取得显著效果。

杨旭 著  

ISBN 978-7-121-22500-0

20148月出版

定价:79.00

404

16

编辑推荐

大型互联网公司一线大数据分析实践!

《重构大数据统计》提出了一套适合于分布式计算的统计计算方法,梳理出一套对大数据分析有实用价值的统计理论,并形成参考代码,对于从事大数据分析的工程师而言,这些内容有相当的参考价值。

《重构大数据统计》是作者在一线工作中的实践总结。在研发的过程中,作者遇到了资源优化(成本)以及计算时间优化(性能)的问题,通过反复的实践和论证,总结出一套行之有效的理论和方法。在此方法指导下开发的数据分析工具,已经被阿里巴巴集团内部所使用,并取得了显著的效果。

开卷有益,《重构大数据统计》给您带来实用的解决思路,在此启发下,相信您也能摸索出适合自己实际情况的大数据分析之道,大大地提升数据分析效率。

阿里巴巴集团技术丛书重磅问世

阿里巴巴集团技术丛书是抱持着为工程师服务的理念诞生的。

阿里的快速发展,使我们有机会见证技术变革的强大力量。在这过程中,我们经历了技术的变迁、兴衰、成败,既有收获也有教训。如今,阿里已成为一家令人瞩目的互联网公司,站在这样的时点上,回顾过去,放眼四周,我们深刻地觉得有必要将沉淀下来的一线经验与智慧,结集出版,理由有三。

1.回报。我们获得的种种经验与教训,只有在阿里这样快速成长、体量巨大的公司中才有机会亲历。这样的技术环境并不是每个工程师都有机缘遇到的。这些经历帮助了我们个人能力的提升,也帮助阿里成为一家技术实力过硬的公司。我们愿意把这些内容分享出来,帮助即将或已经面临类似问题的朋友们,如果他们可以从阅读中获得一些启发而少走弯路的话,将是我们最大的欣慰。

2.交流。在这套丛书里,我们同样会抛出我们的困惑、问题,借助丛书的平台,扩大工程师沟通的圈子,以书会友,共同探索、学习、提高。

3.温故知新。以结集的形式,将以往的经验与知识固化下来,既可便于以后查阅,也可以帮助我们系统地梳理思路,更为全面地审视、洞察、并理解过去发生的种种,为未来的变化做好更充分、扎实的准备。

基于以上的考虑,阿里巴巴集团技术丛书将立足于实践,着眼于问题,从工程师的视角解读技术的内涵。

让思考成为我们生活的乐趣,让阅读成为我们进步的阶梯!

内容提要

基于《重构大数据统计》内容开发的数据分析工具已经在阿里巴巴集团内部的多个部门使用,并取得显著效果。

大数据的统计计算是进行数据探索和分析挖掘的基础,在实际应用中会遇到两个问题:一个是需要使用多少资源;另一个是计算时间,它关系到数据探索分析的效率和效果。

人们都希望花更少的钱,并且希望计算时间更短,但对于某个确定的计算过程,它们是成反比的。《重构大数据统计》就是从统计计算的算法入手,重构其计算过程,从而同时降低资源使用量和计算时间。

《重构大数据统计》提出了一套完整的关于大数据统计的计算理论,包括常用的各种统计量和统计方法。

《重构大数据统计》提供大量的示例程序代码帮助读者进一步了解算法细节,便于将书中的方法运用于实际计算。

《重构大数据统计》适合对大数据分析感兴趣的读者阅读:前面章节比较容易理解,包含了常用统计量的计算;后面的各章节需要读者具备一些基础知识。建议读者根据自己的兴趣和工作需要,选择相应的内容参考。

目录

1 基本概念 ............................................................. 1

1.1 数据类型 ......................................................................................... 1

1.2 总体和样本 ........................................................................ 2

1.3 参数和统计量 ................................................................................... 2

1.4 分布式计算 ...................................................................... 3

2 单变量基本统计量 .......................................................... 5

2.1 数量统计量 ........................................................................... 5

2.1.1 样本方差为何除以n-1 ......................................................................................... 7

2.1.2 数据分布与标准差的关系 ................................................................................. 10

2.1.3 新的计算公式 ..................................................................................................... 11

2.1.4 代码实现 ............................................................................................................. 16

2.2 频数统计量 ..................................................................... 18

2.3 次序统计量 ......................................................................... 23

2.3.1 通过排序方法计算次序统计量 ......................................................................... 25

2.3.2 不需排序就可计算的次序统计量 ..................................................................... 29

2.3.3 基于频数信息计算次序统计量 ......................................................................... 31

2.3.4 中位数、众数和均值的关系 ............................................................................. 34

3 单变量数据的分布 ................................................ 36

3.1 直方图 ........................................................................... 36

3.1.1 直方图的计算 ..................................................................................................... 39

3.1.2 算法实现 ............................................................................................................. 42

3.1.3 已知数据频数的情况下求直方图 ..................................................................... 49

3.1.4 日期类型直方图 ................................................................................................. 49

3.2 经验分布 ............................................................................... 57

3.3 近似分位数和近似百分位数 .................................................................. 61

3.4 PPQQ 概率图 ........................................................................ 65

3.5 单变量的基本统计信息 ............................................................ 69

4 多变量的数据特征 ............................................................ 77

4.1 协方差 ................................................................................................ 77

4.2 相关系数 .................................................................................. 79

4.3 协方差和相关系数的计算实现 .................................................................... 80

4.4 数据表的基本统计结果 .................................................................... 84

5 数据探索 ............................................................... 88

5.1 扩展直方图 .................................................................................... 88

5.1.1 计算方法 ............................................................................................................. 90

5.1.2 代码实现 ............................................................................................................. 91

5.2 交叉表 ...................................................................................... 110

6 极限定理 .......................................................................................... 116

6.1 大数定理 ...................................................................................... 116

6.2 中心极限定理 .............................................................................. 117

7 常用的分布函数介绍 ........................................................ 123

7.1 基本定义 ............................................................................... 123

7.2 标准正态分布(Z 分布或U 分布) ............................................................................ 124

7.3  卡方分布(分布) ...................................................................... 129

7.4 学生T 分布 .................................................................................. 133

7.5 F 分布 .............................................................................. 139

8 常用分布函数计算 .................................................. 145

8.1 函数定义 ................................................................................ 145

8.2 函数性质及相互间的关系 ....................................................................... 147

8.3 分布函数关系图 ............................................................................. 164

8.4 分布函数的计算 .............................................................................. 166

8.4.1  计算.................................... 166

8.4.2  计算 .............................. 170

8.4.3  计算 .............................................. 173

8.4.4  计算 ............................................................................................. 176

8.4.5 其他函数的计算 ............................................................................................... 178

8.5 生成常用分布的随机数 .......................................................................... 180

9 参数估计 ........................................................................... 187

9.1 点估计与区间估计 .......................................................................... 187

9.2 单个总体的参数估计 .................................................................................. 190

9.2.1 不同情况的参数估计表达式 ........................................................................... 190

9.2.2 单个总体参数估计的实现 ............................................................................... 191

9.3 两个总体的参数估计 .................................................................. 196

9.3.1 不同情况的参数估计表达式 ........................................................................... 196

9.3.2 两个总体参数估计的实现 ............................................................................... 199

10 假设检验 ..................................................................... 207

10.1 基本概念 ............................................................................ 207

10.2 参数检验 ................................................................................... 209

10.3 单个总体参数的检验 ..................................................................... 212

10.3.1 各种情况下的检验方法 ................................................................................. 212

10.3.2 单个总体参数检验方法的实现 ..................................................................... 214

10.3.3 不同检验方法的选择 ..................................................................................... 223

10.4 两个总体参数的检验 ......................................................................... 227

10.4.1 各种情况下的检验方法 ................................................................................. 227

10.4.2 两个总体参数检验方法的实现 ..................................................................... 231

10.4.3 不同检验方法的选择 ..................................................................................... 237

11 非参数检验 ............................................................................. 244

11.1 Pearson拟合优度检验............................................................ 245

11.2 两个变量的列联表检验 .......................................................... 248

11.3 K-S 检验 ......................................................................................... 250

11.3.1 单样本K-S 检验 ............................................................................................. 251

11.3.2 双样本K-S 检验 ............................................................................................. 256

11.4 符号检验 ............................................................................... 258

11.5 秩统计量和秩检验方法 .................................................................... 260

11.5.1 Wilcoxon 秩和检验 ........................................................................................ 260

11.5.2 Wilcoxon 符号秩和检验 ................................................................................ 266

11.5.3 Kruskal-Wallis 检验 ........................................................................................ 268

11.5.4 Friedman 检验 ................................................................................................. 273

12 方差分析 .................................................................... 277

12.1 单因素方差分析 ............................................................................... 278

12.1.1 计算流程 ......................................................................................................... 278

12.1.2 代码实现 ......................................................................................................... 280

12.1.3 方差分析与T 检验的关系 ............................................................................. 283

12.1.4 方差分析中的多重比较方法 ......................................................................... 285

12.2 双因素方差分析 ...................................................................... 289

12.2.1 无交互作用的双因素方差分析 ..................................................................... 289

12.2.2 有交互作用的双因素方差分析 ..................................................................... 295

13 多元线性回归 ................................................................................. 302

13.1 数学模型 ................................................................................. 302

13.2 显著性检验 ................................................................................ 308

13.3 计算步骤 ............................................................... 309

13.4 代码实现 .......................................................................... 313

13.5 多重共线性 ........................................................................... 320

13.5.1 度量指标 ............................................................................ 320

13.5.2 代码实现 ......................................................................................................... 323

13.5.3 应用示例 ......................................................................................................... 328

13.6 逐步回归 ........................................................................................ 330

14 主成分分析 ........................................................................................ 340

14.1 计算步骤 ............................................................................................ 342

14.2 代码实现 ...................................................................................... 345

14.3 应用举例 ...................................................................................... 350

15 判别分析 ...................................................................... 359

15.1 距离判别 ....................................................................... 359

15.1.1 Mahalanobis 距离 ........................................................................................... 360

15.1.2 模型训练和预测 ............................................................................................. 361

15.2 Fisher 判别 .................................................................................... 364

15.3 Bayes 判别 ................................................................................ 369

15.3.1 朴素Bayes 判别 ............................................................................................. 369

15.3.2 模型训练和预测 ............................................................................................. 370

15.4 判别算法的综合模型 ................................................................ 377

15.5 应用举例 ................................................................................... 378

16 模型评估曲线 ....................................................................... 383

16.1 相关概念 ......................................................................... 383

16.2 定义 ............................................................................................ 384

16.2.1 ROC 曲线 ........................................................................................................ 384

16.2.2 上升图和反馈率—精确率线 ......................................................................... 386

16.3 计算实现 ..................................................................................... 386

参考文献 .................................................................................... 391

媒体评论

在大数据时代,数理统计是研究和挖掘数据价值的不可或缺的工具。尽管数理统计学科中有大量的理论研究成果,但如何将这些经典成果应用到大数据挖掘问题中,则还是近几年的事情。本书立足于将数理统计基础知识应用到大数据计算上,通过理论介绍和算法程序相结合的描述方法,把复杂的计算问题转变为相对简单、高效的计算过程。

本书提出了一套适合于分布式计算的统计计算方法,通过对一些基础统计量的计算,可获得有关数据集更全面的统计信息,进而可以进行高级的统计分析,例如,区间估计、线性回归、主成分分析等。可以这样说,本书从统计计算的角度,梳理出一套对大数据分析有实用价值的统计理论,并形成参考代码。

对于非数学背景,甚至非数理统计专业背景的读者来说,本书中所涉及的理论基础可能会比较陌生,特别是后半部分章节中提到的一些定理和推演过程。以我自己阅读为例,本书前半部分阅读起来比较愉悦和轻松,后半部分有些章节着实“不明觉厉”了。对于大数据分析的工程师或者分析师而言,本书的内容极其有参考价值,可以让你在先验统计知识的基础上,获得更多的统计信息,甚至捕捉到数据集内在的规律。

我也相信,大多数读者并不具备数理统计专业的基础,但这不会成为阅读本书和使用高级统计量的障碍。相反,阅读本书会开阔大数据分析的思路,学习统计分析的理论基础,并快速找到大数据统计分析的正确方法。建议每一位正在从事大数据分析的工程师都读一读这本书。

本书作者杨旭曾经获得了南开大学数理统计专业的博士学位,并先后在微软亚洲研究院和阿里巴巴从事高性能计算和大数据计算方面的工作。两年前,他曾经向我提到,他计划将工作中积累的算法经验写成一本书,到了2014 1 月,他告诉我书稿已经完成,询问我能否作序或写推荐。我粗略看了一下目录,认为对于大数据计算非常有价值,也正好有兴趣学习这方面的知识,所以答应春节假期阅读完书稿后再做决定。

是以作序推荐。

潘爱民

阿里云OS 首席架构师

相信大多数从事数值计算的技术人员都读过一系列叫作Numerical Recipe in C/Fortran/Java的书。眼前这本《重构大数据统计》或许可以叫作Numerical Statistics Recipes in Java,和那个系列一样,对于重新快速学习和使用数值统计算法来实现数据分析应用的读者来说,这本书是一本不错的入门手册。

数理统计和多变量统计分析的数值算法存在已久,并不是新的Rocket Science。无论冠以数据分析还是大数据分析之名,本书所涵盖的统计量和统计方法的知识都是数据分析人员必须具备的基本功。大数据分析是一门应用科学,根本原因在于互联网和计算技术,硬件技术的发展使得海量数据的产生和实时持续处理成为可能,这样由海量数据驱动的数据挖掘、机器学习等基于传统的统计数据分析方法真正成为基于理论建模、实验和数值模拟之外新的范式。认识到这一点就会对大数据持平常心,学习的核心就在于如何掌握数理统计和多变量分析在大数据应用框架下的实现和性能优化。本书简明扼要地介绍了常用的数理统计算法,重点介绍了数值算法的实现。

囿于篇幅,本书未能介绍每一种统计量和统计方法在实际的大数据分析场景中的可能应用,我们期待作者后续能完善这方面的研究,将本书的下一版内容提升到应用指南的层面。

何万青博士

英特尔技术计算集团技术计算架构师

前言

大数据的统计计算是进行数据探索和分析挖掘的基础。在实际应用中,随着数据规模的快速增长,数据会分布式存储在多台计算机上,即使最简单的求和操作都需要多台计算机协同完成,并且需要分钟级别的计算时间,这样我们将面对如下两个问题:

需要使用多少资源,即所要付出的成本。

计算需要多少时间,它关系到数据探索分析的效率和效果。

人们都希望花更少的钱,并且希望计算时间更短,但对于某个确定的计算过程,它们是成反比的。这就是我在大数据统计实践中经常遇到的情况,当研究了一个又一个计算性能问题之后,我惊奇地发现,这些不同的算法间是有共性的,这就吸引我去深入研究,最终形成了一套完整的理论,包括常用的各种统计量和统计方法。基于本书内容开发的数据分析工具已经在阿里巴巴集团内部的多个部门使用,并取得了显著效果。

首先举一个例子,使大家有一个直观的印象:对于10TB 的数据,大约有1.25 万亿个数据,以求和计算为例,使用很多人熟悉的分布式SQL 进行计算:

SELECT SUM(COL1) AS COL1_SUM, COUNT(COL2) AS COL2_CNT, … FROM DATA_TABLE;

共运行了4 44.062 秒,在该SQL 语句中,每列只算了一个统计量。

然后使用本书的计算方法,计算更多的统计量,包括:总个数、总和、均值、方差、标准差、标准误、变异系数、立方和、四次方和、二阶原点矩、三阶原点矩、四阶原点矩、二阶中心矩、三阶中心矩、四阶中心矩、偏度、峰度;最大值、最小值、极差、最大的100 个值、最小的100 个值;数据分布直方图、经验分布函数、近似百分位值。如果不同数值的个数小于10000个,会将其频数信息计算出来,并有精确百分位值、中值、众数;协方差矩阵、相关系数矩阵。

得到所有的这些统计量使用的计算节点数目与用SQL 语句获得的基本相同,花费的计算时间为:4 53.673 秒。计算这么多内容才多花约10 秒,说明本书介绍的算法够高效吧!但这还只是一个开头。

接下来,做一个更有挑战的实验,除了上面这些统计量,我们再加入一些高级的统计计算,区间估计、参数检验、非参数检验、线性回归、共线性分析、方差分析、主成分分析,完成这些需要多久呢?答案是4 53.766 秒。多么神奇的事情!对这些大数据进行高级统计计算只多用了不到0.1 秒。这种计算效率的提高够显著了吧,我们无须再为资源和时间发愁了。

本书通过文字描述、数学表达式和程序代码,将整个统计计算过程清晰地展现在读者眼前。全书揭示了各种统计概念和方法,以及它们内在的关联,并根据其特点,对各自的计算公式进行恒等变换,找到更适合大数据的计算方式。书中提供的示例程序代码可以帮助读者进一步了解算法细节,便于将书中的方法运用于实际计算。

本书适合对大数据分析感兴趣的读者阅读,本书前面的章节比较容易理解,包含了常用统计量的计算;后面的各章节需要读者具备一些基础知识,建议读者根据自己的兴趣和工作需要,选择相应的内容进行参考。

在本书编写过程中,感谢初敏、陈一宁、张东晖的支持和帮助,感谢蔡宁、高志涵在算法方面的讨论和交流,感谢邓钟强、蔡宁、高志涵、蒋耘、罗毅、谭望达、代斌、周俊、王少萌、姜晓燕、王乐珩、曹传宇等同事,一同将此理论应用于实际。

因作者水平有限,书中难免有不妥或疏漏之处,敬请广大专家和读者批评、指正! 我的电子邮件地址为:yangxu@alibaba-inc.com

杨旭

2014 7

 

  • 大小: 201.5 KB
分享到:
评论

相关推荐

    重构大数据统计试读样章

    阿里巴巴集团技术丛书,大数据丛书。大型互联网公司大数据分析实践经验!大数据分析人员必修必学的内功。基于本书内容开发的数据分析工具已在阿里巴巴集团内部使用,取得显著效果。

    大数据深度重构教育.pdf

    数据,尤其是大数据撞入教 育领域,未来,教育将在哪些领域,会在多大程度上被大数 据重构? 人工智能将替代部分教育功能 机器智能通过深度学习而习得,数据是机器学习的"食 料" 。把数据不断"喂"给计算机,基于算法...

    大数据下的智慧教育.doc

    在这种背景下,实现智慧教育的前提是 应用新思维、新技术,重构已有教育信息系统,推动教育数据的汇聚、存储与处理,形 成教育大平台与大数据。 大数据关注着每一位学生的微观表现——他何时打开书本,何时脸上露出...

    大数据预处理技术.pdf

    ⼤数据预处理技术 学习了⽜琨⽼师的课程后整理的学习笔记,⽤于... 数量规约:⽤替代的、较⼩的数据表⽰形式替换原数据 具体⽅法包括:抽样和数据⽴⽅体聚集 数据压缩:⽆损压缩:能从压缩后的数据重构恢复原来的数据,

    基于改进全卷积神经网络的医疗数据表面重建算法

    采用无线射频识别技术进行医疗数据的大数据采样,对RFID采集的医疗数据进行信息融合处理,采用多元回归分析方法提取医疗数据的相关性统计特征量,然后,针对医疗数据中的冗余特征采用匹配滤波检测器进行冗余滤波处理...

    excel整理好世界、全国、各省-投入产出表(世界、全国、31省市区42部门)

    与全球价值链重构与中美贸易摩擦[J].中国工业经济,2018(07):24-42 . [2]刘斌,魏倩,吕越,祝坤福.制造业服务化与价值链升级[J].经济研究,2 016,51(03):151-162. [3]戴翔.中国制造业国际竞争力——基于 贸易附加值的...

    PageAdmin企业网站管理系统v4.0.09(基于MVC框架全新开发).zip

    1、【主要更新】采用vue(摒弃jquery)重构了后台管理框架和操作界面,极大提升运行速度和用户操作体验。 2、增加远程附件功能,更方便的实现网站和附件分离,提升大型网站的并发量和安全性。 3、重写了上传功能,由...

    01开源NewSql数据库TiDB Introduction (Feb 2018)

    TiDB 2.0 版本重构了 SQL 优化器和执行引擎,希望能尽可能快的选择最优查询计划并且尽可能高效地执行查询计划。 1.0 版本已经从基于规则的查询优化器转向基于代价的查询优化器,但是还不够完善,在 2.0 版本中,一...

    PageAdmin企业网站管理系统 v4.0.09

    1、【主要更新】采用vue(摒弃jquery)重构了后台管理框架和操作界面,极大提升运行速度和用户操作体验。 2、增加远程附件功能,更方便的实现网站和附件分离,提升大型网站的并发量和安全性。 3、重写了上传功能,由...

    PageAdmin响应式博客系统 v4.0.09

    1、【主要更新】采用vue(摒弃jquery)重构了后台管理框架和操作界面,极大提升运行速度和用户操作体验。 2、增加远程附件功能,更方便的实现网站和附件分离,提升大型网站的并发量和安全性。 3、重写了上传功能,由...

    Hadoop实战

    71.5.2 相同程序在MapReduce中的扩展 91.6 用Hadoop统计单词——运行第一个程序 111.7 Hadoop历史 151.8 小结 161.9 资源 16第2章 初识Hadoop 172.1 Hadoop的构造模块 172.1.1 NameNode 172.1.2 DataNode 182.1.3 ...

    ebsite for net4.0网站建设系统 v3.0 正式版.zip

    10.提供开方式数据搜索模式接入,网站的搜索可订制,官方提供了sql搜索,及一个功能强大的lucene搜索插件内带带分词,如果您在搜索方面要求亿级大数据分词高效搜索,可以选择启用lucent或自己开发自己的搜索插件(要...

    PLSQL Developer用户指南

    5.2 自动统计 .........31 5.3 PL/SQL 概览图 ......32 5.4 SQL 跟踪 ...........33 6. 专用 SQL.......35 6.1 使用 SQL 窗口 ....35 6.2 结果表格处理 .....36 6.3 实例模式查询 .....40 6.4 连接查询 .........41 ...

    PLSQL_Developer7.0中文帮助手册

    5.2 自动统计31 5.3 PL/SQL 概览图...........32 5.4 SQL 跟踪..33 6. 专用 SQL...............................35 6.1 使用 SQL 窗口.........35 6.2 结果表格处理..........36 6.3 实例模式查询..........40 6.4 ...

    plsql中文使用说明

    5.2 自动统计......................................................31 5.3 PL/SQL 概览图...................................................32 5.4 SQL 跟踪...................................................

    PLSQL_Developer_9.0用户指南

    6.2 自动统计 ............................................................. 31 6.3 PL/SQL 概览图 ........................................................ 32 6.4 SQL 跟踪 ..................................

    plsql developer 中文使用手册 最新 7.0 plsql developer 使用手册(中文)

    5.2 自动统计......................................................31 5.3 PL/SQL 概览图...................................................32 5.4 SQL 跟踪...................................................

    pl/sql操作手册

    5.2 自动统计......................................................31 5.3 PL/SQL 概览图...................................................32 5.4 SQL 跟踪...................................................

    PLSQL中文手册(相当全面)

    5.2 自动统计......................................................31 5.3 PL/SQL 概览图...................................................32 5.4 SQL 跟踪...................................................

Global site tag (gtag.js) - Google Analytics