第1章 引言 1
1.1 数据科学 1
1.1.1 统计是数据科学吗? 1
1.1.2 计算机学科在数据科学中的地位 2
1.1.3 问题驱动应成为数据科学的基本思维方式 2
1.2 多元分析的对象 2
1.3 需要的工具 3
1.4 各章的安排 3
1.5 软件和编程 4
1.6 如何教学 4
第2章 矩阵代数回顾 6
2.1 矩阵 6
2.1.1 基本定义 6
2.1.2 基本矩阵运算 7
2.1.3 行列式 8
2.1.4 矩阵的逆 9
2.1.5 矩阵的广义逆 9
2.1.6 Kronecker积 10
2.1.7 幂等矩阵 10
2.1.8 向量空间 11
2.1.9 正交性 11
2.1.10 矩阵的秩 11
2.1.11 矩阵的迹 12
2.1.12 特征值 12
2.1.13 广义特征值 13
2.1.14 分块矩阵 13
2.2 矩阵的分解 15
2.2.1 矩阵的特征值分解 15
2.2.2 奇异值分解及广义奇异值分解 16
2.2.3 QR分解 18
2.2.4 Cholesky分解 19
2.3 二次型 20
2.3.1 定义 20
2.3.2 二次型和矩阵的定性 20
2.3.3 椭球 21
2.4 矩阵的导数 22
2.4.1 向量关于数量的偏导数 22
2.4.2 数量关于向量的偏导数 22
2.4.3 向量关于向量的偏导数 22
2.4.4 矩阵关于数量的偏导数 22
2.4.5 数量关于矩阵的偏导数 23
2.4.6 有关内积、二次型的导数 23
2.4.7 函数的偏导数 23
2.5 本章矩阵简单运算的R和Python代码 24
2.6 习题 27
第3章 回归 29
3.1 经典回归模型基本要素 29
3.1.1 描述数据 30
3.1.2 线性回归模型 31
3.1.3 最小二乘回归 32
3.1.4 最小二乘回归参数的估计 34
3.2 交叉验证 36
3.3 经典线性回归的基本假定及根据假定所得到的结论 38
3.3.1 经典线性回归的数学假定 38
3.3.2 最小二乘回归参数估计量的一些性质及有关检验 39
3.3.3 例3.1波士顿住房数据的最小二乘回归 42
3.3.4 最小二乘回归结果的解释 43
3.3.5 有关拟合的R2及AIC 46
3.4 自变量有分类变量(定性变量)的情况 48
3.5 机器学习回归简介及案例 52
3.5.1 例子和机器学习方法的优势 52
3.5.2 决策树回归 54
3.5.3 bagging回归 57
3.5.4 随机森林回归 58
3.6 经典线性回归与各种机器学习回归的比较 62
3.6.1 对例3.1波士顿住房数据的九种方法的比较 62
3.6.2 对例3.1波士顿住房数据使用caret包比较各种方法 64
3.7 多元多重回归回顾 69
3.7.1 模型 69
3.7.2 最小二乘估计及对估计量的检验 70
3.7.3 多元回归检验例子 71
3.8 本章计算的Python代码 76
3.8.1 例3.1波士顿住房数据的线性回归 76
3.8.2 例3.1波士顿住房数据的决策树回归、bagging回归和随机森林回归 79
3.8.3 把分类变量转换成哑元变量 84
3.9 习题 86
第4章 分类 89
4.1 目的和基本概念 89
4.1.1 目的和例子 89
4.1.2 分类和聚类的区别 90
4.2 经典判别分析 90
4.2.1 线性判别分析和二次判别分析 90
4.2.2 Fisher判别分析 92
4.3 例4.1数字笔迹识别的判别分析实践 93
4.3.1 例4.1数字笔迹识别的线性判别分析的计算 93
4.3.2 例4.1数字笔迹识别的二次判别分析的计算 94
4.4 判别分析的一些概念和某些数学细节的补充 95
4.4.1 数据总体分布已知时的判别 95
4.4.2 线性判别分析的某些细节 97
4.4.3 Fisher线性判别分析的某些细节 98
4.5 二分类因变量的Logistic回归 99
4.5.1 Logistic回归模型 99
4.5.2 Logistic回归模型对实际数据的拟合 101
4.5.3 Logistic回归对例4.2献血数据的分类 102
4.5.4 ROC等描述性曲线 103
4.5.5 三种分类方法对例4.2献血数据的交叉验证比较 106
4.6 机器学习模型简介及案例 106
4.6.1 决策树分类模型 107
4.6.2 随机森林分类模型 109
4.6.3 adaboost分类模型 114
4.6.4 adaboost拟合例4.1数字笔迹识别全部数据 115
4.6.5 adaboost的变量重要性 115
4.6.6 adaboost的交叉验证 115
4.6.7 各种分类模型的比较 116
4.7 本章计算的Python代码 118
4.7.1 产生Z折交叉验证集的代码 118
4.7.2 线性判别分析及交叉验证 120
4.7.3 二次判别分析 121
4.7.4 Logistic回归 122
4.7.5 对例4.2献血数据做3个经典分类方法的交叉验证 124
4.7.6 随机森林分类 125
4.7.7 对例4.1数字笔迹识别数据做5个机器学习方法分类的交叉验证比较 125
4.8 习题 128
第5章 主成分分析 129
5.1 基本思想和例子 129
5.1.1 数据中变量之间的关系与降维的可能性 129
5.1.2 从例子中产生的问题 130
5.2 问题和计算 133
5.2.1 求协方差矩阵及样本相关阵的特征值和特征向量 134
5.2.2 求各个成分的贡献率和累积贡献率 135
5.2.3 根据贡献率选取少数重要成分 138
5.2.4 主成分和原始变量的相关系数计算与载荷图 138
5.2.5 主成分得分 139
5.3 主成分分析在图像处理中的应用 142
5.3.1 图像压缩案例(例5.2江景图片) 142
5.3.2 主成分分析运用于图像识别 145
5.4 案例:例5.3数据的主成分分析 145
5.5 主成分分析的一些数学知识 148
5.5.1 目标 148
5.5.2 过程 148
5.5.3 累积贡献率 150
5.5.4 总体主成分的一些性质 151
5.5.5 样本主成分的一些性质 151
5.5.6 主成分的解释 152
5.5.7 标准化主成分分析 152
5.6 本章计算的Python代码 153
5.6.1 例5.1教师数据 153
5.6.2 图像压缩例子 158
5.7 习题 159
第6章 因子分析 161
6.1 基本内容 161
6.1.1 概述 161
6.1.2 模型 163
6.1.3 性质 164
6.1.4 旋转 165
6.1.5 因子得分 165
6.1.6 计算及分析步骤 166
6.2 例子和计算 166
6.2.1 例6.1WHO数据分析 166
6.2.2 例6.2豌豆数据的因子分析 172
6.2.3 例5.1教师数据的因子分析 174
6.3 因子分析计算基于的原理 176
6.3.1 主成分方法 176
6.3.2 主因子方法 177
6.3.3 最大似然法 177
6.3.4 因子个数的选择 178
6.3.5 旋转 178
6.3.6 因子得分 179
6.3.7 建议和评论 180
6.4 本章计算的Python代码 180
6.5 习题 182
第7章 聚类分析 184
7.1 目的及基本概念 184
7.1.1 目的 184
7.1.2 聚类和分类方法没有必然联系 184
7.1.3 距离 186
7.1.4 两个数据例子 191
7.1.5 集群倾向的度量 193
7.2 分层聚类 195
7.2.1 对观测值分类:例7.2美国各州数据 195
7.2.2 对观测值聚类和对变量聚类:例7.3花卉数据 198
7.3 K均值聚类和基于密度的聚类 200
7.3.1 K均值聚类的基本思想 200
7.3.2 K均值聚类中类别数目的确定 201
7.3.3 基于密度聚类的思想 203
7.4 基于模型的聚类 205
7.4.1 直观描述 205
7.4.2 E-M算法 206
7.4.3 基于模型聚类的计算实现 208
7.5 聚类数目的选择 211
7.5.1 Gap方法 211
7.5.2 轮廓法 212
7.5.3 计算聚类数目的不同软件 215
7.6 实例的计算 220
7.6.1 种子数据 220
7.6.2 胎心宫缩监护数据 225
7.6.3 例5.1教师数据的聚类 228
7.7 图像色彩的聚类 230
7.7.1 对图像色彩聚类的例子 230
7.7.2 颜色的十六进制表示形式 233
7.8 本章计算的Python代码 234
7.8.1 例7.2美国各州数据的聚类 235
7.8.2 例7.6种子数据的聚类 238
7.8.3 图像色彩的聚类 241
7.9 习题 243
第8章 典型相关分析 245
8.1 基本内容 245
8.1.1 问题的描述和例子 245
8.1.2 典型相关及特征值问题 247
8.1.3 载荷 252
8.1.4 典型变量的选择 253
8.2 实例计算:例5.1教师数据 257
8.3 典型相关分析的不同角度推导 262
8.3.1 完全利用特征值问题的性质 262
8.3.2 利用Cauchy-Schwarz不等式 263
8.3.3 利用奇异值分解 264
8.3.4 利用广义特征值问题及Cholesky分解 265
8.3.5 各种公式的总结 265
8.4 本章计算的Python代码 266
8.5 习题 267
第9章 对应分析 268
9.1 基本内容和应用 268
9.2 二元对应分析 268
9.2.1 二元对应分析的数学原理 271
9.2.2 对应分析行列相关的显著性 272
9.2.3 两个解释图形 273
9.3 多元及联合对应分析 274
9.3.1 例9.1收入数据多元及联合对应分析实践 274
9.3.2 多元对应分析方法的数学 277
9.3.3 基于指标矩阵和Burt矩阵的方法 277
9.3.4 从Burt矩阵到联合对应分析 280
9.4 本章计算的Python代码 280
9.4.1 二元对应分析 280
9.4.2 多元对应分析 282
9.5 习题 282
第10章 多维尺度变换 284
10.1 目的 284
10.2 多维尺度变换分类 285
10.3 距离函数 285
10.4 mMDS的目的 286
10.5 mMDS方法的原理 287
10.6 nMDS的基本思维 288
10.7 本章计算的Python代码 290
10.8 习题 292
附录1 R简介——通过运行来领悟 293
附录2 Python简介——通过运行来领悟 305
参考文献 319