编辑推荐
现实工作中,人们常常需要用数据说话。可是,数据自己不会说话,需要人对它进行分析和挖掘才能找到有价值的信息。概率统计是数据分析的通用语言,是大数据时代预测未来的根基。如果你有编程背景,就能以概率和统计学为工具,将数据转化为有用的信息和知识,让数据说话。本书介绍了如何借助计算而非数学方法,使用Python语言对数据进行统计分析。
通过书中有趣的案例,你可以学到探索性数据分析的整个过程,从数据收集和生成统计量,到发现模式和检验假设。你还将探索概率分布、概率法则、可视化技术,以及其他许多工具和概念。
这一版内容较第1版有很多改动,并且新增了回归、时间序列分析、生存分析和分析方法章节,以丰富你的知识。
通过学习本书,你将能够:
编写测试代码深入理解概率论和统计学;
运行实验检验统计行为特征,如生成服从各种分布的样本;
通过模拟理解数学上艰涩的概念;
学习贝叶斯估计等实用内容;
用Python从大部分数据源导入数据,不依赖由统计工具清洗的格式化数据;
用统计推理解读现实世界中的数据。
内容简介
《统计思维:程序员数学之概率统计(第2版)》是一本以全新视角讲解概率统计的入门图书。抛开经典的数学分析,Downey手把手教你用编程理解统计学。
具体说来,《统计思维:程序员数学之概率统计(第2版)》通过一个案例研究,介绍探索性数据分析的全过程:从收集数据、生成统计信息,到发现模式、验证假设。同时研究分布、概率规则、可视化和其他多种工具及概念。此外,第2版新增了回归、时间序列分析、生存分析和分析方法等章节。
作者简介
Allen B. Downey是富兰克林欧林工程学院计算机科学教授,曾执教于韦尔斯利学院、科尔比学院和加州大学伯克利分校。在加州大学伯克利分校获得计算机科学博士学位。Downey已出版十余本技术书,包括Think Python、Think Bayes、Think Complexity等。
内页插图
目录
前言 xi
第1 章 探索性数据分析 1
1.1 统计学方法 2
1.2 全国家庭增长调查 2
1.3 数据导入 3
1.4 DataFrame 4
1.5 变量 6
1.6 数据变换 6
1.7 数据验证 8
1.8 解释数据 9
1.9 练习 10
1.10 术语 11
第2 章 分布 13
2.1 表示直方图 14
2.2 绘制直方图 14
2.3 全国家庭增长调查中的变量 15
2.4 离群值 18
2.5 第一胎 18
2.6 分布概述 20
2.7 方差 21
2.8 效应量 21
2.9 报告结果 22
2.10 练习 23
2.11 术语 23
第3 章 概率质量函数 25
3.1 概率质量函数 25
3.2 绘制PMF 26
3.3 绘制PMF 的其他方法 28
3.4 课堂规模悖论 29
3.5 使用DataFrame 进行索引 31
3.6 练习 33
3.7 术语 34
第4 章 累积分布函数 35
4.1 PMF 的局限 35
4.2 百分位数 36
4.3 CDF 37
4.4 表示CDF 38
4.5 比较CDF 39
4.6 基于百分位数的统计量 40
4.7 随机数 41
4.8 比较百分位秩 42
4.9 练习 43
4.10 术语 44
第5 章 分布建模 45
5.1 指数分布 45
5.2 正态分布 48
5.3 正态概率图 49
5.4 对数正态分布 51
5.5 Pareto 分布 53
5.6 随机数生成 56
5.7 为什么使用模型 56
5.8 练习 57
5.9 术语 59
第6 章 概率密度函数 61
6.1 PDF 61
6.2 核密度估计 63
6.3 分布框架 65
6.4 Hist 实现 65
6.5 Pmf 实现 66
6.6 Cdf 实现 67
6.7 矩 68
6.8 偏度 69
6.9 练习 72
6.10 术语 73
第7 章 变量之间的关系 75
7.1 散点图 75
7.2 描述关系特征 78
7.3 相关性 79
7.4 协方差 80
7.5 Pearson 相关性 81
7.6 非线性关系 82
7.7 Spearman 秩相关 82
7.8 相关性和因果关系 83
7.9 练习 84
7.10 术语 85
第8 章 估计 87
8.1 估计游戏 87
8.2 猜测方差 89
8.3 抽样分布 90
8.4 抽样偏倚 93
8.5 指数分布 93
8.6 练习 95
8.7 术语 95
第9 章 假设检验 97
9.1 经典假设检验 97
9.2 假设检验 98
9.3 检验均值差 100
9.4 其他检验统计量 101
9.5 检验相关性 102
9.6 检验比例 103
9.7 卡方检验 104
9.8 再谈第一胎 105
9.9 误差 106
9.10 功效 107
9.11 复现 108
9.12 练习 109
9.13 术语 109
第10 章 线性最小二乘法 111
10.1 最小二乘法拟合 111
10.2 实现 112
10.3 残差 113
10.4 估计 114
10.5 拟合优度 116
10.6 检验线性模型 118
10.7 加权重抽样 119
10.8 练习 121
10.9 术语 121
第11 章 回归 123
11.1 StatsModels 124
11.2 多重回归 125
11.3 非线性关系 127
11.4 数据挖掘 128
11.5 预测 129
11.6 Logistic 回归 131
11.7 估计参数 132
11.8 实现 133
11.9 准确度 134
11.10 练习 135
11.11 术语 136
第12 章 时间序列分析 139
12.1 导入和清洗数据 139
12.2 绘制图形 141
12.3 线性回归 143
12.4 移动平均值 144
12.5 缺失值 146
12.6 序列相关 148
12.7 自相关 149
12.8 预测 150
12.9 参考书目 154
12.10 练习 154
12.11 术语 155
第13 章 生存分析 157
13.1 生存曲线 157
13.2 危险函数 159
13.3 估计生存曲线 160
13.4 Kaplan-Meier 估计 161
13.5 婚姻曲线 162
13.6 估计生存函数 163
13.7 置信区间 164
13.8 群组效应 166
13.9 外推 168
13.10 预期剩余生存期 169
13.11 练习 171
13.12 术语 172
第14 章 分析方法 173
14.1 正态分布 173
14.2 抽样分布 174
14.3 表示正态分布 175
14.4 中心极限定理 176
14.5 检验CLT 177
14.6 应用CLT 180
14.7 相关检验 181
14.8 卡方检验 183
14.9 讨论 184
14.10 练习 184
作者介绍 186
封面介绍 186
前言/序言
《精通现代概率与统计:数据驱动决策的数学基石(第二版)》 在信息爆炸的时代,数据已成为驱动创新、优化决策的核心力量。从理解用户行为到预测市场趋势,从优化算法性能到保障系统稳定性,概率与统计的原理无处不在,是每一位渴望在技术领域取得突破的开发者、工程师、数据科学家以及任何对量化分析感兴趣的专业人士手中不可或缺的利器。本书,《精通现代概率与统计:数据驱动决策的数学基石(第二版)》,正是为满足这一时代需求而精心打造的权威指南。 本书秉持“理论与实践相结合,严谨与易懂并重”的理念,旨在为读者建立坚实的概率与统计理论基础,并在此基础上,系统性地展现这些理论如何在现实世界的各类数据分析场景中发挥至关重要的作用。与许多仅侧重理论推导或碎片化应用的书籍不同,本书将概率与统计的抽象概念与实际应用紧密联系,通过丰富的案例研究、清晰的图示以及循序渐进的讲解,帮助读者深入理解其内在逻辑,并能灵活运用到解决实际问题中。 内容详述: 第一部分:概率论基础——不确定性量化的基石 本部分将带领读者深入探索概率论的精髓。我们将从最基本的概念出发,如样本空间、事件、概率公理,逐步构建起对随机现象的数学描述能力。 随机变量与概率分布: 详细介绍离散型和连续型随机变量的概念,以及它们在描述现实世界中的重要性。我们将深入探讨伯努利分布、二项分布、泊松分布、几何分布、均匀分布、指数分布、正态分布(高斯分布)等核心概率分布,分析它们的性质、应用场景及其参数的意义。例如,我们会解释为什么在模拟抛硬币、计算特定时间内发生某个事件的次数时,二项分布和泊松分布如此常用,以及正态分布为何是描述许多自然和社会现象的“万能钥匙”。 多维随机变量与联合分布: 随着分析的深入,我们往往需要处理多个随机变量的情况。本章将详细介绍联合概率分布、边缘概率分布、条件概率分布,以及协方差、相关系数等度量随机变量之间相互关系的指标。读者将学会如何分析多个因素之间的依赖性,例如,理解用户在不同产品上的购买行为是否相互影响。 期望与方差: 深入解析随机变量的期望(均值)和方差这两个核心统计量,理解它们分别代表的“平均值”和“离散程度”的含义。我们将探讨期望的线性性质,以及方差在度量风险和不确定性中的作用。 随机变量的变换与函数: 学习如何处理随机变量的函数,例如,如果已知随机变量X的分布,如何求出Y=aX+b或Y=X^2的分布。这对于理解和构建更复杂的统计模型至关重要。 中心极限定理: 这是概率论中最具颠覆性的定理之一。本书将对其进行详尽的阐述,解释为什么即使原始分布并非正态分布,大量独立随机变量的均值(或总和)的分布也会趋近于正态分布。我们将强调这一定理在统计推断和参数估计中的核心地位,以及它如何解释我们在现实数据中为何经常观察到“钟形曲线”。 大数定律: 另一项基本而强大的定理,解释了当样本量增大时,样本均值会收敛于期望值。本书将阐述其不同形式(弱大数定律和强大数定律),并说明其在统计估计的可靠性方面的意义。 第二部分:统计推断——从样本到整体的智慧 在掌握了概率论的工具后,本部分将专注于如何利用有限的样本数据来推断未知的整体(总体)特性。这是统计学的核心使命。 参数估计: 学习如何根据样本数据来估计总体的未知参数,如均值、方差、比例等。我们将详细介绍点估计(如矩估计、最大似然估计)和区间估计(置信区间)。读者将理解置信区间所表达的“一定置信度下,真实参数所在的范围”,而不仅仅是某个单一数值。我们将通过案例展示如何计算不同参数的置信区间,并解读其统计意义。 假设检验: 这是一个强大的工具,用于在概率的框架下,对关于总体的某个论断(假设)进行验证。本书将系统介绍零假设(H0)和备择假设(H1)的概念,p值的含义及如何解读,第一类错误(假阳性)和第二类错误(假阴性),以及检验效能。我们将讲解常见的检验方法,如t检验、Z检验、卡方检验、F检验等,并应用到诸如A/B测试、产品效果评估、药物疗效验证等实际场景中。 方差分析(ANOVA): 当需要比较三个或更多组的均值时,ANOVA是首选方法。本书将介绍单因素方差分析和多因素方差分析,帮助读者理解如何判断不同因素对观测结果的影响程度,以及如何分解总变异。 回归分析: 探索变量之间的定量关系是数据分析的重中之重。本部分将深入介绍简单线性回归和多元线性回归,包括最小二乘法的原理、模型系数的解释、模型的拟合优度(R^2)、残差分析以及假设检验。读者将学会如何构建预测模型,例如,根据用户特征预测其购买金额,或根据广告投入预测销售额。 非参数统计: 当数据不满足正态性或其他参数统计方法的假设时,非参数方法提供了替代方案。本书将介绍一些常用的非参数检验,如秩和检验(Wilcoxon秩和检验)、符号秩检验等,并说明它们在何种情况下比参数检验更适用。 第三部分:统计建模与应用——应对复杂现实 本部分将进一步拓展统计学的应用范围,介绍更高级的建模技术,并结合实际应用,帮助读者构建解决复杂问题的能力。 广义线性模型(GLM): 扩展了线性回归,使其能够处理响应变量服从非正态分布(如二项分布、泊松分布)的情况。我们将重点讲解逻辑斯蒂回归(Logistic Regression),它在分类问题中具有极其广泛的应用,例如,预测用户是否会点击广告、是否会流失。 时间序列分析入门: 学习如何分析随时间变化的数据。我们将介绍平稳性、自相关性、移动平均(MA)、自回归(AR)模型(如ARMA、ARIMA模型),以及季节性分解等基本概念和方法,为预测未来趋势打下基础。 贝叶斯统计入门: 介绍贝叶斯定理的核心思想,以及先验分布、后验分布的概念。我们将对比频率学派和贝叶斯学派的哲学差异,并展示贝叶斯方法在处理小样本数据、更新模型参数等方面的优势。 抽样方法与调查设计: 学习如何设计有效的抽样方案,以获取具有代表性的样本数据,从而进行可靠的推断。介绍简单随机抽样、分层抽样、整群抽样等方法,以及抽样误差的控制。 数据可视化与探索性数据分析(EDA): 强调可视化在理解数据、发现模式、识别异常值和沟通结果中的关键作用。我们将介绍各种图表类型(如直方图、散点图、箱线图、条形图)的正确使用方法,以及如何在EDA阶段运用统计方法来深入洞察数据。 实际案例分析: 本书将贯穿丰富的实际案例,涵盖机器学习模型的构建与评估(如模型的性能指标、交叉验证)、A/B测试的完整流程、风险管理、金融建模、生物统计、社会科学研究等多个领域。这些案例将不仅仅是理论的演示,而是展示如何将概率与统计的知识系统地应用于解决真实世界的挑战。 本书特色: 数学严谨性与直观易懂的平衡: 在保证理论严谨性的前提下,本书大量运用形象的比喻、生动的图示和清晰的逻辑链条,使复杂的数学概念变得易于理解和掌握。 代码实现与理论结合: 虽然本书的重点是数学原理,但在讲解关键算法和模型时,会辅以Python/R等主流编程语言的伪代码或思路提示,帮助读者将理论转化为实际操作。 循序渐进的学习路径: 从基础概念到高级模型,本书的章节安排逻辑清晰,难度递增,确保读者能够建立扎实的知识体系。 丰富的练习题与思考题: 每章末都配有精心设计的练习题,帮助读者巩固所学知识,以及思考题,引导读者深入理解概念的内涵和外延。 面向未来: 本书不仅涵盖了传统的概率与统计理论,也触及了与机器学习、大数据分析等现代领域紧密相关的统计方法,为读者未来的学习和职业发展奠定坚实基础。 无论您是初涉数据科学的开发者,需要为算法优化寻找理论依据的工程师,致力于从数据中挖掘价值的数据分析师,还是仅仅对量化思维和不确定性分析充满好奇的学生,《精通现代概率与统计:数据驱动决策的数学基石(第二版)》都将是您不可或缺的良师益友。它将带领您穿越概率与统计的海洋,赋予您驾驭数据、做出明智决策的强大能力。
在我看来,《统计思维:程序员数学之概率统计(第2版)》是一本“润物细无声”的书。它没有那种“大而全”的架势,而是聚焦于程序员最需要掌握的那些核心统计概念,并且以一种非常温和的方式呈现。 我最喜欢的是书中关于“随机变量”和“概率分布”的讲解。作者没有直接抛出复杂的数学定义,而是从大家都能理解的“事件发生的可能性”开始,逐步引导我们认识不同类型的随机变量,以及它们各自的概率分布特点。例如,在讲解“指数分布”时,作者会联系到“程序执行的时间”或者“服务器请求间隔”,这些贴近程序员生活的例子,让我瞬间就对这个抽象的概念有了具体的感知。 而且,本书在介绍“蒙特卡洛方法”时,也做得相当到位。它解释了这种通过大量随机抽样来估算结果的方法,在哪些实际场景中有应用,比如在游戏开发中的物理模拟,或者在金融领域的风险评估。更重要的是,它还提供了相关的编程实现思路,让我可以自己动手尝试,体验“模拟的力量”。 这本书还让我对“偏差”和“方差”这两个概念有了更深刻的认识。在机器学习领域,我们经常会听到这两个词,但在这本书里,我才真正理解了它们之间的权衡关系,以及如何通过不同的方法来降低它们对模型性能的影响。这对于我以后做模型调优非常有指导意义。 总而言之,这本书给我最大的感受就是“实用”。它不仅仅教我“是什么”,更告诉我“怎么用”,并且是用程序员最容易接受的方式来教。这本书就像是我的一个“统计知识助手”,让我在编程的道路上,多了几分数据驱动的底气。