Python 是一种面向对象的脚本语言,其代码简洁优美,类库丰富,开发效率也很高,得到越来越多开发者的喜爱,广泛应用于Web 开发、网络编程、爬虫开发、自动化运维、云计算、人工智能、科学计算等领域。预测技术在当今智能分析及其应用领域中发挥着重要作用,也是大数据时代的核心价值所在。随着AI 技术的进一步深化,预测技术将更好地支撑复杂场景下的预测需求,其商业价值不言而喻。基于Python 来做预测,不仅能够在业务上快速落地,还让代码维护更加方便。对预测原理的深度剖析和算法的细致解读,是本书的一大亮点。本书共分为3 篇。第1 篇介绍预测基础,主要包括预测概念理解、预测方法论、分析方法、特征技术、模型优化及评价,读者通过这部分内容的学习,可以掌握预测的基本步骤和方法思路。第2 篇介绍预测算法,该部分包含多元回归分析、复杂回归分析、时间序列及进阶算法,内容比较有难度,需要细心品味。第3 篇介绍预测案例,包括短期日负荷曲线预测和股票价格预测两个实例,读者可以了解到实施预测时需要关注的技术细节。希望读者在看完本书后,能够将本书的精要融会贯通,进一步在工作和学习实践中提炼价值。
高级数据分析师,在互联网/电信/电力领域具有丰富的数据分析与挖掘建模经验。曾服务于华为技术软件有限公司、深圳市康拓普信息技术有限公司、深圳市数聚能源科技有限公司等企业,期间曾在小象学院兼职R语言数据挖掘讲师。
第1 篇 预测入门
第1 章 认识预测 . 2
1.1 什么是预测 . 2
1.1.1 占卜术 . 3
1.1.2 神秘的地动仪 . 3
1.1.3 科学预测 . 5
1.1.4 预测的原则 . 7
1.2 前沿技术 . 9
1.2.1 大数据与预测 . 10
1.2.2 大数据预测的特点 11
1.2.3 人工智能与预测 . 15
1.2.4 人工智能预测的特点 . 17
1.2.5 典型预测案例 . 18
1.3 Python 预测初步 . 26
1.3.1 数据预处理 . 27
1.3.2 建立模型 . 31
1.3.3 预测及误差分析 . 34
第2 章 预测方法论 . 37
2.1 预测流程 . 37
2.1.1 确定主题 . 38
2.1.2 收集数据 . 40
2.1.3 选择方法 . 42
2.1.4 分析规律 . 43
2.1.5 建立模型 . 48
2.1.6 评估效果 . 51
2.1.7 发布模型 . 52
2.2 指导原则 . 53
2.2.1 界定问题 . 53
2.2.2 判断预测法 . 55
2.2.3 外推预测法 . 56
2.2.4 因果预测法 . 58
2.3 团队构成 . 59
2.3.1 成员分类 . 59
2.3.2 数据氛围 . 61
2.3.3 团队合作 . 63
第3 章 探索规律 . 65
3.1 相关分析 . 65
3.1.1 自相关分析 . 65
3.1.2 偏相关分析 . 68
3.1.3 简单相关分析 . 69
3.1.4 互相关分析 . 80
3.1.5 典型相关分析 . 82
3.2 因果分析 . 87
3.2.1 什么是因果推断 . 87
3.2.2 因果推断的方法 . 90
3.2.3 时序因果推断 . 93
3.3 聚类分析 . 98
3.3.1 K-Means 算法 . 98
3.3.2 系统聚类算法 . 102
3.4 关联分析 110
3.4.1 关联规则挖掘 110
3.4.2 Apriori 算法 . 111
3.4.3 Eclat 算法 120
3.4.4 序列模式挖掘 . 123
3.4.5 SPADE 算法 124
第4 章 特征工程 . 136
4.1 特征变换 . 136
4.1.1 概念分层 . 137
4.1.2 标准化 . 138
4.1.3 离散化 . 141
4.1.4 函数变换 . 143
4.1.5 深入表达 . 144
4.2 特征组合 . 145
4.2.1 基于经验 . 145
4.2.2 二元组合 . 146
4.2.3 高阶多项式 . 148
4.3 特征评价 . 151
4.3.1 特征初选 . 151
4.3.2 影响评价 . 152
4.3.3 模型法 . 167
4.4 特征学习 . 172
4.4.1 基本思路 . 173
4.4.2 特征表达式 . 174
4.4.3 初始种群 . 183
4.4.4 适应度 . 185
4.4.5 遗传行为 . 187
4.4.6 实例分析 . 192
第2 篇 预测算法
第5 章 参数优化 . 199
5.1 交叉验证 . 199
5.2 网格搜索 . 201
5.3 遗传算法 . 203
5.3.1 基本概念 . 203
5.3.2 遗传算法算例 . 204
5.3.3 遗传算法实现步骤 . 209
5.3.4 遗传算法Python 实现 210
5.4 粒子群优化 . 213
5.4.1 基本概念及原理 . 213
5.4.2 粒子群算法的实现步骤 . 214
5.4.3 用Python 实现粒子群算法 215
5.5 模拟退火 . 220
5.5.1 基本概念及原理 . 220
5.5.2 模拟退火算法的实现步骤 . 221
5.5.3 模拟退火算法Python 实现 222
第6 章 线性回归及其优化 226
6.1 多元线性回归 . 226
6.1.1 回归模型与基本假定 . 226
6.1.2 最小二乘估计 . 227
6.1.3 回归方程和回归系数的显著性检验 . 228
6.1.4 多重共线性 . 229
6.2 Ridge 回归 233
6.2.1 基本概念 . 233
6.2.2 岭迹曲线 . 233
6.2.3 基于GCV 准则确定岭参数 . 235
6.2.4 Ridge 回归的Python 实现 . 237
6.3 Lasso 回归 . 237
6.3.1 基本概念 . 237
6.3.2 使用LAR 算法求解Lasso . 238
6.3.3 Lasso 算法的Python 实现 . 240
6.4 分位数回归 . 242
6.4.1 基本概念 . 242
6.4.2 分位数回归的计算 . 245
6.4.3 用单纯形法求解分位数回归及Python 实现 246
6.5 稳健回归 . 248
6.5.1 基本概念 . 249
6.5.2 M 估计法及Python 实现 . 250
第7 章 复杂回归分析 . 254
7.1 梯度提升回归树(GBRT) . 254
7.1.1 Boosting 方法简介 254
7.1.2 AdaBoost 算法 255
7.1.3 提升回归树算法 . 257
7.1.4 梯度提升 . 259
7.1.5 GBRT 算法的Python 实现 261
7.2 深度神经网络 . 264
7.2.1 基本概念 . 264
7.2.2 从线性回归说起 . 269
7.2.3 浅层神经网络 . 272
7.2.4 深层次拟合问题 . 277
7.2.5 DNN 的Python 实现 278
7.3 支持向量机回归 . 281
7.3.1 基本问题 . 281
7.3.2 LS-SVMR 算法 . 284
7.3.3 LS-SVMR 算法的Python 实现 . 285
7.4 高斯过程回归 . 286
7.4.1 GPR 算法 287
7.4.2 GPR 算法的Python 实现 . 289
第8 章 时间序列分析 . 292
8.1 Box-Jenkins 方法 292
8.1.1 p 阶自回归模型 293
8.1.2 q 阶移动平均模型 295
8.1.3 自回归移动平均模型 . 296
8.1.4 ARIMA 模型 . 300
8.1.5 ARIMA 模型的Python 实现 . 301
8.2 门限自回归模型 . 309
8.2.1 TAR 模型的基本原理 309
8.2.2 TAR 模型的Python 实现 . 310
8.3 GARCH 模型族 313
8.3.1 线性ARCH 模型 313
8.3.2 GRACH 模型 315
8.3.3 EGARCH 模型 . 315
8.3.4 PowerARCH 模型 . 316
8.4 向量自回归模型 . 318
8.4.1 VAR 模型基本原理 318
8.4.2 VAR 模型的Python 实现 . 320
8.5 卡尔曼滤波 . 324
8.5.1 卡尔曼滤波算法介绍 . 324
8.5.2 卡尔曼滤波的Python 实现 326
8.6 循环神经网络 . 328
8.6.1 RNN 的基本原理 329
8.6.2 RNN 算法的Python 实现 332
8.7 长短期记忆网络 . 335
8.7.1 LSTM 模型的基本原理 . 336
8.7.2 LSTM 算法的Python 实现 341
第3 篇 预测应用
第9 章 短期日负荷曲线预测 . 345
9.1 电力行业负荷预测介绍 . 345
9.2 短期日负荷曲线预测的基本要求 . 346
9.3 预测建模准备 . 347
9.3.1 基础数据采集 . 347
9.3.2 缺失数据处理 . 349
9.3.3 潜在规律分析 . 352
9.4 基于DNN 算法的预测 355
9.4.1 数据要求 . 356
9.4.2 数据预处理 . 356
9.4.3 网络结构设计 . 357
9.4.4 建立模型 . 358
9.4.5 预测实现 . 359
9.4.6 效果评估 . 359
9.5 基于LSTM 算法的预测 361
9.5.1 数据要求 . 361
9.5.2 数据预处理 . 362
9.5.3 网络结构设计 . 362
9.5.4 建立模型 . 363
9.5.5 预测实现 . 364
9.5.6 效果评估 . 364
第10 章 股票价格预测 . 367
10.1 股票市场简介 . 367
10.2 获取股票数据 . 368
10.3 基于VAR 算法的预测 . 371
10.3.1 平稳性检验 . 371
10.3.2 VAR 模型定阶 372
10.3.3 预测及效果验证 . 373
10.4 基于LSTM 算法的预测. 375
10.4.1 数据要求 . 375
10.4.2 数据预处理 . 376
10.4.3 网络结构设计 . 377
10.4.4 建立模型 . 377
10.4.5 预测实现 . 378
10.4.6 效果评估 . 378
参考文献 . 381