时间序列预测的特征工程

创建滞后、窗口和季节性特征,执行插补和编码,提取日期时间变量,移除异常值。

课程英文名:Feature Engineering for Time Series Forecasting

此视频教程共5.83GB,中英双语字幕,画质清晰无水印,源码附件全

课程地址:https://xueshu.fun/1456
演示地址:https://www.udemy.com/course/feature-engineering-for-time-series-forecasting/

课程内容

你会学到什么

  • 如何使用传统机器学习模型进行预测
  • 如何将时间序列转换为预测特征表
  • 如何为时间序列预测估算缺失数据
  • 如何检测和删除时间序列预测中的异常值
  • 如何通过滞后和窗口从过去的数据创建特征
  • 如何构建捕捉季节性和趋势的特征
  • 如何为时间序列预测编码分类变量
  • 如何突出特殊事件,如假期或广告活动
  • 如何预测未来的多个步骤

要求

  • Python安装
  • Jupyter笔记本安装
  • Python编码技巧
  • Numpy、Pandas 和 Matplotlib 的一些经验
  • 熟悉 Scikit-Learn
  • 熟悉机器学习算法

描述

欢迎来到时间序列预测的特征工程,这是最全面的预测特征工程在线课程。在本课程中,您将学习如何从时间序列数据中创建和提取特征以用于预测。

掌握时间序列预测的特征工程艺术

在本课程中,您将学习多种特征工程方法,从时间序列数据中提取和创建适合使用现成回归模型(如线性回归、随机森林和梯度提升机器)进行预测的特征。

具体来说,您将学习:

  • 如何创建滞后特征;

  • 如何创建窗口功能;

  • 如何创建捕捉季节性和趋势的特征;

  • 如何分解具有多个季节性的时间序列;

  • 如何从日期和时间中提取特征;

  • 如何估算时间序列中的缺失数据;

  • 如何编码时间序列中的分类变量;

  • 如何识别和删除时间序列中的异常值;

  • 如何在创建预测功能时避免数据泄漏和前瞻性偏差;

  • 如何转换特征等等。

特征工程在预测中的挑战

预测是根据过去的数据对未来做出预测的过程。在最传统的场景中,我们有一个时间序列并希望预测它的未来值。创建预测功能存在一些挑战:

  • 我们需要将时间序列数据转换为具有精心设计的一组特征和目标变量的表格数据;
  • 在创建预测功能时,我们需要格外小心,避免因前瞻性偏差而泄露数据;
  • 正如预期的那样,时间序列数据会随时间变化;我们在构建预测功能时需要考虑到这一点;
  • 预测未来多个时间步的目标值需要我们仔细考虑如何将我们的特征从过去推断到未来。

我们可以使用现成的回归模型(例如线性回归、基于树的模型、支持向量机等)来预测时间序列的未来值。但是,这些模型需要表格数据作为输入。对于预测,我们不是从特征表和目标变量开始,而是从一组时间序列开始,也许只是一个时间序列。我们需要将时间序列转换为具有目标变量和一组可供监督学习模型使用的特征的表格数据。因此,主要的挑战是创建一个设计良好的目标变量和专门设计的特征,使我们能够预测时间序列的未来价值。

为时间序列预测创建目标变量和特征有其自身的缺陷。一个主要问题是一种称为前瞻性偏差的数据泄漏形式。这是您不小心使用仅在未来而不是在预测时间已知的信息来进行预测的地方。这会给您一种错觉,以为您拥有一个很棒的预测模型,但实际上它不会执行。在特征工程期间很容易引入前瞻性偏差,我们将展示如何避免它。

时间序列数据随时间变化,即未来的数据可能具有也可能不具有与我们过去数据相同的分布和模式,这不同于对传统表格数据所做的假设。这种分布和模式随时间的变化称为非平稳性。在时间序列数据中,趋势和季节性的简单存在会导致非平稳性。因此,创建捕捉这种动态的特征是时间序列预测中的一个挑战。

我们经常想预测未来的多个时间步长。有多种方法可以做到这一点,例如 1) 递归地应用构建的模型来预测未来的一步,以及 2) 构建一个直接预测未来较晚时间段目标的模型。一个挑战是这两种方法所需的特征工程是不同的。我们将在课程中讨论这些差异。

我们如何创建一组特征,使我们能够根据过去的值预测时间序列的未来值?我们如何添加额外的信息来为我们的预测创建更丰富的数据集?在本课程中,您将学到所有这些,甚至更多。

预测综合特征工程课程

为预测创建有用的特征通常需要仔细研究您的时间序列以找到预测模式,例如趋势和季节性,并将其与领域知识相结合。最近,尝试自动创建时间序列特征的趋势越来越明显。

在本课程中,您将学习如何从时间序列中创建特征,以便您训练现成机器学习模型来预测时间序列的未来值。您将首先学习分析时间序列并确定可用于创建预测特征的属性。例如,您将学习如何使用各种算法自动识别和提取趋势和季节性,以及如何转换您的时间序列以使其更易于分解和预测。我们展示了如何使用互相关、自相关和部分自相关图等工具来创建合适的滞后特征。您会发现提示、技巧和窍门,以创建模拟趋势、变化点、季节性、日历效果、异常值等的特征!基于数据分析和领域知识,您将能够精心设计您的特征。

然后,您将学习如何自动化****特征工程过程以创建大量用于时间序列预测的特征,并随后选择更具预测性的特征。在这里,我们将使用允许我们自动或半自动创建多个功能的开源库,然后选择最有价值的功能。我们将介绍 Python 库 Feature-engine,稍后介绍 tsfresh 和 featuretools。

我们将通过引人入胜的视频教程逐步指导您,并教您为时间序列预测创建有意义的特征所需的一切知识。在这门综合课程中,我们将介绍几乎所有可能的时间序列预测工程特征方法。我们讨论了它们的逻辑、Python 实现、优点和缺点,以及使用这些方法时要记住的事项。

具体来说,您将学习:

  • 识别和隔离时间序列的组成部分,包括多季节时间序列。

  • 创建捕捉趋势、变化点和季节性的特征。

  • 从目标时间序列和协变量预测变量中识别并创建合适的滞后和窗口特征。

  • 从日期和时间戳本身创建特征。

  • 对分类变量进行编码以进行预测。

  • 创建功能以捕获假期和其他特殊事件。

  • 使用向后和向前填充和插值方法估算时间序列中的缺失数据。

  • 识别、删除或捕获异常值在预测中的重要性。

  • 使用开源 Python 库自动创建特征。

在课程结束时,您将能够决定哪些技术最适合您的数据集和预测挑战。您将能够应用 Python 中的所有技术并发现如何改进您的预测。

推进你的数据科学事业

您已经迈出了数据科学的第一步。您了解最常用的预测模型。您可能已经尝试过一些传统算法(例如 ARIMA 或指数平滑法)来进行预测。在这个阶段,您可能开始发现这些模型对根本不会发生的数据做出了很多假设。您考虑过尝试神经网络,但它们为原本简单的问题提供了非常复杂的模型。

您可能想知道是否就是这样,或者是否有更合适、通用且简单的解决方案。您可能还想知道您的代码是否高效和高性能,或者是否有更好的编程方法。您在线搜索,但找不到有关用于预测的特征工程的综合资源。也许只是博客?所以你可能会开始思考:这个行业到底是怎么做的?

在本课程中,您将找到这些问题的答案。在整个课程中,您将学习多种方法来创建用于使用传统回归模型进行预测的特征,以及如何使用 Python 优雅地实现它们。

您将利用 Python 开源生态系统的强大功能,包括库 Pandas、Scipy、Statsmodels、Scikit-learn 以及用于特征工程的特殊包,如特征引擎和类别编码器。最后,我们将向您展示如何使用 tsfresh 和 featuretools 等库开始自动化此过程。

在课程结束时,您将能够将所有特征工程步骤组合到一个简化的管道中,从而使您能够以最高效率将预测模型投入生产。

为什么要学习这门课程

没有一个地方可以去学习预测特征工程。即使在网上搜索数小时后,也很难找到统一的方法和最佳实践。

这就是我们创建这门课程的原因。本课程从备受推崇的预测书籍、数据竞赛(如 Kaggle 和 KDDscientific 文章)以及讲师作为数据科学家的经验中整理了世界范围内用于特征工程的许多技术。因此,本课程是一个参考,您可以在其中了解新方法并重新访问它们以及它们在代码中的实现;这样您就可以随时创建所需的功能。

本课程由具有在金融、保险、健康和电子商务领域使用机器学习经验的首席数据科学家讲授。Sole 还是一本书的作者,也是用于特征工程的Python 开源库的主要开发人员。Kishan 是一位经验丰富的预报员,拥有应用大规模时间序列分析和心律失常建模的物理学博士学位。

这门全面的特征工程课程包含 100 多个讲座,分布在大约 10 小时的视频中,所有主题都包括动手实践的 Python 代码示例,您可以在自己的项目中参考、练习和重用这些代码示例。

还有更多:

  • 该课程不断更新以包含新的特征工程方法。
  • 笔记本会定期刷新,以确保所有方法都使用最新版本的 Python 库执行,因此您的代码永远不会中断。
  • 该课程结合了视频、演示文稿和 Jupyter 笔记本来解释这些方法并展示它们在 Python 中的实现。
  • 该课程的开发历时两年,并在预测领域不断进行研究,为您带来最新的技术、工具和趋势。

想知道更多?继续阅读…

该课程提供 30 天退款保证,因此您今天就可以毫无风险地注册。

你还在等什么?立即注册并加入世界上最全面的时间序列预测特征工程课程。

本课程适合谁:

  • 想要开始预处理数据集进行时间序列预测的同学
  • 想要学习用于时间序列预测的特征工程技术的数据科学家
  • 希望提高特征工程编码技能和编程实践的数据科学家
  • 想要学习时间序列的额外特征工程技术的数据科学家