首页>参考读物>计算机科学与技术>人工智能

时间序列预测:基于机器学习和Python实现
作者 : [美]弗朗西斯卡·拉泽里(Francesca Lazzeri)著
译者 : 郝小可 译
出版日期 : 2022-01-06
ISBN : 978-7-111-69746-6
定价 : 89.00元
扩展资源下载
扩展信息
语种 : 简体中文
页数 : 203
开本 : 16
原书名 : Machine Learning for Time Series Forecasting with Python
原出版社: John Wiley & Sons(USA)
属性分类: 店面
包含CD : 无CD
绝版 : 未绝版
图书简介

本书基于Python这一处理数据功能强大的高级编程语言,在实践中展示了如何将这些模型应用于真实世界的数据科学场景。Python提供了一系列用于时间序列数据分析的库,可以针对不同的预测解决方案进行通用化的代码部署。

图书特色

图书前言

时间序列数据是用于不同行业(从营销和金融到教育、医疗和机器人)未来决策和战略规划的重要信息来源。在过去的几十年里,基于机器学习模型的预测已经成为私营和公共部门常用的工具。
目前,基于机器学习模型的时间序列预测的资源和教程一般分为两类:针对特定预测场景的代码演示,没有概念上的细节;对预测背后的理论和数学公式的学术性解释。这两种方法都非常有助于学习,如果对理解理论假设背后的数学知识有兴趣,强烈推荐使用这些资源。
为了解决实际的业务问题,有一个系统的、结构良好的预测框架是必不可少的,数据科学家可以使用它作为参考,并应用到现实世界的数据科学场景。这本实践性的书就是这样做的,它旨在通过一个实用的模型开发框架的核心步骤来引导读者构建、训练、评估和部署时间序列预测模型。
本书的第一部分(第1章和第2章)专门介绍时间序列的概念,包括时间序列的表示、建模和预测的基本方面。
第二部分(第3章到第6章)深入研究预测时间序列数据的自回归和自动方法,如移动平均、差分自回归移动平均和时间序列数据的自动化机器学习。然后介绍基于神经网络的时间序列预测,重点介绍循环神经网络(RNN)等概念以及不同RNN单元的比较。最后,将指导读者完成在Azure上进行模型部署和操作的最重要的步骤。
使用各种开源Python包和Azure,书中通过示例展示了如何将时间序列预测模型应用于真实世界的数据科学场景。有了这些指导方针,读者应该可以在日常工作中处理时间序列数据,并选择正确的工具来分析时间序列数据。
本书主要内容
本书对基于机器学习和深度学习的时间序列预测的核心概念、术语、方法和应用进行了全面的介绍,了解这些基础知识可以设计更灵活、更成功的时间序列应用。
本书包括下列各章:
第1章:时间序列预测概述 本章专门介绍时间序列的概念,包括时间序列的表示、建模和预测的基本方面,例如时间序列分析和时间序列预测的监督学习。
我们还将了解用于时间序列数据的不同Python库,以及pandas、statsmodels和scikit-learn之类的库是如何进行数据处理、时间序列建模和机器学习的。
最后,给出有关设置用于时间序列预测的Python环境的一般建议。
第2章:如何在云上设计一个端到端的时间序列预测解决方案 本章旨在通过介绍时间序列预测模板和现实世界的数据科学场景,从实践和业务角度为时间序列预测提供端到端的系统指南,本书中将使用它们来展示时间序列的一些概念、步骤和技术。
第3章:时间序列数据准备 在本章中,将引导读者完成为预测模型准备时间序列数据的重要步骤。良好的时间序列数据准备可以产生干净且经过精心整理的数据,有助于进行更实用、更准确的预测。
Python是一种在处理数据方面功能非常强大的编程语言,它提供了一系列用于处理时间序列数据的库,并且对时间序列分析提供了出色的支持,这些库包括SciPy、NumPy、Matplotlib、pandas、statsmodels和scikit-learn等。
本章还将介绍如何对时间序列数据执行特征工程,要牢记两个目标:准备与机器学习算法要求相符的正确输入数据集,并改善机器学习模型的性能。
第4章:时间序列预测的自回归和自动方法 在本章中,将探索一些用于时间序列预测的自回归方法,它们可以用来测试预测问题。每节提供一个方法,从一个有效的代码示例入手,并展示了在哪里可以找到有关该方法的更多信息。
本章还将介绍用于时间序列预测的自动化机器学习,以及如何用这种方法完成模型选择和超参数调整任务。
第5章:基于神经网络的时间序列预测 在本章中,将讨论数据科学家在构建时间序列预测解决方案时想要考虑深度学习的一些实际原因。然后介绍循环神经网络,并展示如何将几种类型的循环神经网络用于时间序列预测。
第6章:时间序列预测的模型部署 在最后一章中,介绍适用于Python的Azure机器学习SDK,以构建和运行机器学习工作流。本章将概述SDK中的一些重要的类,以及如何使用它们在Azure上构建、训练和部署机器学习模型。
通过部署机器学习模型,企业可以充分利用所构建的预测和智能模型,转变为实际的人工智能驱动型企业。
最后,展示了如何在Azure上构建端到端的数据管道体系结构,并提供不同时间序列预测解决方案的通用化部署代码。
配套下载文件
本书提供了使用Python及其技术库的大量示例代码和教程,读者可以利用它们学习如何解决现实中的时间序列问题。
当学习本书中的示例时,需要用到的项目文件可以从aka.ms/ML4TSFwithPython下载。
每个文件都包含示例Notebooks和数据,可以使用它们来验证知识、实践技术以及构建自己的时间序列预测解决方案。

上架指导

计算机\人工智能

封底文字

当今,时间序列预测在金融、教育和医疗等行业中广泛使用,同时也在各类商业人士的决策中发挥着重要作用。本书揭开了时间序列预测技术的神秘面纱,为没有时间序列或机器学习经验的读者提供了创建和评估时间序列模型所需的基本工具。
本书使用流行的Python工具和库来解决复杂和重要的业务预测问题,展示了如何使用Python编程语言实现准确和实用的时间序列预测模型。书中详细介绍了如何获取和清理数据,如何设计端到端的时间序列预测解决方案,如何理解时间序列预测的一些经典方法,如何将神经网络结合到预测模型中,以及如何在真实世界中部署时间序列预测模型。
本书非常适合有2~3年工作经验的商业分析师、开发人员和数据科学家阅读,也适合那些熟悉时间序列预测理论但缺乏实践经验的研究人员参考。

通过阅读本书,读者将学习:
时间序列预测的概念,如范围、频率、趋势和季节性。
如何评价时间序列预测模型的准确率和性能。
在某一预测应用中何时使用神经网络而不使用传统的时间序列模型。
如何探索、转化并使用时间序列数据构建时间序列预测模型。
如何使用流行的Python工具和软件包,例如Jupyter Notebook、scikit-learn、Keras和TensorFlow。

译者序

随着人工智能的兴起,机器学习作为该领域中的重要理论和技术备受关注。现实世界中存在着大量的时间序列数据,我们可以通过建立机器学习模型来拟合这些数据,从已知实例中自动发现规律,进而完成对未知实例的预测任务。基于时间序列数据预测的机器学习模型已经成为金融、能源、教育、医疗等行业进行分析及决策的重要工具。
本书的作者弗朗西斯卡·拉泽里(Francesca Lazzeri)博士是微软云计算倡导团队的机器学习科学家,也是大数据技术创新和机器学习实际应用方面的专家,拥有超过十年的学术和行业经验。她将最经典与最前沿的时间序列预测理论和技术汇集到了本书之中。
本书是关于时间序列预测这一主题的书籍,涵盖了时间序列预测的概念、解决方案、数据准备、自回归及自动化学习的传统方法、深度学习方法、模型部署。想要学习时间序列预测,不仅需要掌握基本概念和模型理论,还需要将理论应用于实践。本书基于Python这一功能强大的高级编程语言,通过实例展示了如何将模型应用于现实世界的数据科学场景。
翻译的过程也是译者不断学习的过程,为保证专业词汇的准确性,译者在翻译过程中查阅了大量相关资料,但译文中仍难免有错误和不当之处,敬请读者批评指正。译者的电子邮件是haoxiaoke@hebut.edu.cn。

郝小可
2021年于北京

图书目录

译者序
前言
致谢
关于作者
关于技术审阅人
第1章 时间序列预测概述1
1.1 时间序列预测的机器学习方法2
1.2 时间序列预测的监督学习12
1.3 基于Python的时间序列预测19
1.4 时间序列预测的实验设置22
1.5 总结24
第2章 如何在云上设计一个端到端的时间序列预测解决方案25
2.1 时间序列预测模板25
2.1.1 业务理解和性能度量27
2.1.2 数据摄取30
2.1.3 数据探索与理解33
2.1.4 数据预处理和特征工程34
2.1.5 模型构建和选择36
2.2 需求预测建模技术概述37
2.2.1 模型评估40
2.2.2 模型部署41
2.2.3 预测解决方案的接受程度47
2.3 用例:需求预测47
2.4 总结51
第3章 时间序列数据准备53
3.1 用于时间序列数据的Python库53
3.1.1 时间序列的通用数据准备工作56
3.1.2 时间戳与周期58
3.1.3 转换为时间戳61
3.1.4 提供格式参数62
3.1.5 索引63
3.1.6 时间/日期组件69
3.1.7 频率转换70
3.2 探索与理解时间序列72
3.2.1 如何开始时间序列数据分析72
3.2.2 时间序列中缺失值的数据清理77
3.2.3 归一化和标准化时间序列数据80
3.3 时间序列特征工程83
3.3.1 日期时间特征84
3.3.2 滞后特征和窗口特征85
3.3.3 滚动窗口统计信息90
3.3.4 扩展窗口统计信息92
3.4 总结93
第4章 时间序列预测的自回归和自动方法94
4.1 自回归95
4.2 移动平均112
4.3 自回归移动平均113
4.4 差分自回归移动平均114
4.5 自动化机器学习121
4.6 总结128
第5章 基于神经网络的时间序列预测130
5.1 将深度学习用于时间序列预测的原因130
5.1.1 深度学习神经网络能够自动从原始数据中学习和提取特征132
5.1.2 深度学习支持多个输入和输出133
5.1.3 循环神经网络擅长从输入数据中提取模式135
5.2 基于循环神经网络的时间序列预测136
5.2.1 循环神经网络137
5.2.2 长短期记忆139
5.2.3 门控循环单元140
5.2.4 如何为LSTM和GRU准备时间序列数据141
5.3 如何开发用于时间序列预测的GRU和LSTM146
5.3.1 Keras147
5.3.2 TensorFlow148
5.3.3 单变量模型149
5.3.4 多变量模型153
5.4 总结157
第6章 时间序列预测的模型部署159
6.1 实验设置和Python版的Azure机器学习SDK介绍 159
6.1.1 Workspace159
6.1.2 Experiment160
6.1.3 Run160
6.1.4 Model161
6.1.5 ComputeTarget、RunConfiguration和ScriptRunConfig162
6.1.6 Image和Webservice163
6.2 机器学习模型部署 164
6.3 时间序列预测的解决方案体系结构部署示例 168
6.3.1 训练并部署ARIMA模型 170
6.3.2 配置工作空间 173
6.3.3 创建实验 175
6.3.4 创建或连接计算集群 175
6.3.5 上传数据到Azure 176
6.3.6 创建估算器 179
6.3.7 将工作提交到远程集群180
6.3.8 注册模型 180
6.3.9 部署模型180
6.3.10 定义输入脚本和依赖项 182
6.3.11 自动生成模式 182
6.4 总结187
参考文献189

教学资源推荐
作者: [美]保罗·戴特尔(Paul Deitel) 哈维·戴特尔(Harvey Deitel) 著
作者: Fredric M. Ham;Ivica Kostanic
作者: Nils J.Nilsson
作者: [美]马修 T.梅森(Matthew T. Mason)著
参考读物推荐
作者: [美]韦斯·麦金尼(Wes McKinney)著
作者: [法]本杰明·普朗什(Benjamin Planche),[法]艾略特·安德烈斯(Eliot Andres) 著