时间序列的 ML 方法

2024年11月16日 | 9分钟阅读

随时间记录的一系列时间序列观测数据在金融、天气预报、医疗保健等领域无处不在。由于其时间性和内部结构,时间序列数据的分析和预测带来了独特的挑战。近年来,机器学习 (ML) 技术因其在处理时间序列数据方面的有效性而广受欢迎。本文探讨了几种常用于时间序列分析和预测的机器学习方法。

什么是时间序列?

时间序列是在一系列时间段内收集或记录的数据点集合。这些数据点通常按时间顺序测量,每个观测值代表在特定时间点记录的度量、值或趋势。时间序列数据可以是单变量的,即随时间观察单个变量;也可以是多变量的,即随时间同时观察多个变量。

时间序列问题在各种行业和学科中都很常见,包括经济学、金融、气候、工程、医学等。时间信息的例子包括股票价格、温度读数、销售统计、心率测量和来自设备的传感器数据。

分析时间序列数据以识别数据中的模式、趋势和关系,从而进行预测、识别异常或潜在的合理模式。方法从简单的统计方法(如移动平均和指数平滑)到更高级的方法(如自回归综合移动平均 (ARIMA) 模型)、机器学习算法、循环神经网络 (RNN) 和包括深度学习方法和转换器在内的技术。

理解时间序列数据并应用适当的分析技术对于预测未来值、检测数据中的变化或异常、建模和发现潜在趋势以及在各行业中做出基于信息的决策至关重要。

用于时间序列的不同方法

1. 自回归综合移动平均 (ARIMA)

自回归综合移动平均 (ARIMA) 是一种广泛用于评估和预测时间序列信息的统计方法。它结合了 3 个主要组成部分:自回归 (AR)、差分 (I) 和移动平均 (MA)。

  • 自回归 (AR):自回归阶段对模型与其滞后版本(即,过去的时间步长)之间的关系进行建模。它假设时间序列在任何一点的成本线性依赖于其过去的值。ARIMA(p,d,q) 中的参数 p 表示引入样本的背景观测数量。
  • 差分 (I):差分阶段通过对一系列观测值进行差分来处理非平稳的时间序列信息。这有助于稳定序列的周期。ARIMA(p,d,q) 中的参数 d 表示差分的次数。
  • 移动平均 (MA):移动平均部分是模型与应用于滞后观测值的移动平均模型的残差之间的关系。这考虑了数据内的短期变异性或噪声。ARIMA(p,d,q) 中的参数 q 表示移动平均窗口的大小。

通过结合这些特征,ARIMA 模型可以捕捉时间序列信息的不同方面,例如趋势、季节性和不规则性。ARIMA 模型特别适用于平稳或半平稳的时间序列数据。

ARIMA 模型广泛用于时间序列预测、异常识别以及经济、金融、天气等领域的趋势分析。它们灵活且可通过参数调整和模型适当诊断来适应不同类型的时间序列数据。但它们不适用于非线性和高度复杂的数据模型,在这种情况下,更先进的机器学习技术(如神经网络)可能更合适。

2. 季节性 ARIMA (SARIMA)

季节性自回归综合移动平均 (SARIMA) 是传统 ARIMA 模型的扩展,它为时间序列数据增加了季节性。

与 ARIMA 一样,SARIMA 也有三个主要组成部分:自回归 (AR)、差分 (I) 和移动平均 (MA)。然而,SARIMA 增加了额外的参数来捕捉数据中的季节性变化。

  • 自回归 (AR):与 ARIMA 类似,SARIMA 的自回归部分对单个观测值与多个滞后观测值之间的关系进行建模。这表示当前值对过去值的线性依赖性。
  • 差分 (I):SARIMA 的差分部分用于通过对一系列观测值进行差分来处理数据中的不稳定性。它有助于稳定序列的季节性和非季节性元素。
  • 移动平均 (MA):SARIMA 的移动平均部分对观测值与使用移动平均模型处理滞后观测值时产生的残差之间的关系进行建模。这衡量了数据中短期变异性或噪声的存在,包括季节性变化。

除了这些特征外,SARIMA 模型还包括捕捉季节性模式的参数,例如季节性自回归 (SAR) 和季节性移动平均 (SMA) 项。这些参数表示模型与时间滞后之间的关系。

3. 指数平滑 (ETS)

指数平滑 (ETS) 是一种著名的时间序列预测方法,它使用先前观测值的加权平均值。它对于缺乏明确趋势或季节性的数据特别有用,在这种情况下,传统方法(如 ARIMA)可能效果不佳。

ETS 方法为较早的观测值分配显著较低的权重,而较近的观测值获得较高的权重。这使得 ETS 模型能够快速适应数据变化,同时仍然捕捉潜在的结构和趋势。

ETS 模型有多种变体,每种都适用于不同的时间序列情况:

  • 简单指数平滑 (SES):SES 是指数平滑的一种基本形式,适用于没有趋势或季节性的时间序列数据。它通过将当前观测值与前一预测的一部分相结合来更新预测。SES 特性简单且计算效率高,但对于具有复杂模式的数据可能效果不佳。
  • 双重指数平滑(Holt 方法):双重指数平滑扩展了 SES,以处理具有趋势的时间序列数据。除了根据当前研究和先前预测更新预测外,Holt 方法还更新预测的趋势部分。这有助于同时考虑数据的水平和趋势。
  • 三重指数平滑(Holt-Winters 方法):Holt-Winters 方法是二次平滑的扩展,它还考虑了数据的季节性。除了更新水平和趋势部分外,它还在新的预测中创建了一个季节性部分。这使其适用于同时具有趋势和季节性的时间序列数据。

ETS 模型易于实现和解释,使其适用于简单性和透明度至关重要的应用。它广泛用于金融、库存管理和需求预测等领域。然而,ETS 模型可能不适用于具有不规则模式或突变的数据,在这种情况下可能需要更复杂的预测技术。

4. Prophet

Prophet 是 Facebook 开发的用于时间序列分析和预测的工具。它旨在处理具有强季节性模式、多重季节性和节假日效应的时间序列数据。Prophet 在传统预测方法可能难以捕捉复杂模式或需要大量手动调整的应用中特别有用。

Prophet 建立在简单、灵活和可扩展的原则之上,使初学者和有经验的用户都能使用。Prophet 的一些关键功能包括:

  • 自动季节性检测:Prophet 自动检测和建模数据中的季节性模式,包括每日、每周和每年的季节性。它还可以处理不规则间隔的数据和缺失值。
  • 节假日效应:Prophet 允许用户指定自定义节假日日期和效应,使模型能够考虑节假日对时间序列数据的影响。
  • 可调参数:虽然 Prophet 为大多数参数提供了实用的默认值,但用户可以灵活地修改参数,如季节性强度和趋势灵活性,以更好地拟合他们的数据。
  • 不确定性估计:Prophet 为预测值提供不确定性区间,允许用户评估预测的可靠性并做出明智的决策。
  • 可扩展性:Prophet 专为可扩展性而构建,可以高效地处理大型数据集,使其适用于具有高维时间序列数据的应用。

Prophet 的用户友好界面和强大功能使其成为零售、电子商务、金融和医疗保健等各种领域时间序列预测的热门选择。它能够在不需要大量手动干预的情况下处理复杂的季节性模式和节假日效应,使其成为分析师、数据科学家和研究人员的宝贵工具。

总的来说,Prophet 简化了时间序列预测的过程,同时仍然提供准确可靠的预测,使其成为处理时间序列数据的任何人的工具箱中的宝贵补充。

5. 长短期记忆 (LSTM) 网络

长短期记忆 (LSTM) 网络是一种循环神经网络 (RNN) 算法,专门设计用于解决在长序列数据上训练传统 RNN 时出现的梯度消失问题。LSTM 在处理序列数据方面特别有效,使其非常适合时间序列预测、自然语言处理和语音识别等任务。

LSTM 网络的主要创新是引入了记忆单元,它允许网络捕捉输入序列中的长期依赖关系。记忆单元由三个主要部分组成:

  • 遗忘门:遗忘门决定了前一个时间步的哪些信息应该被丢弃,哪些信息应该传递到下一个时间步。它将当前输入和前一个时间步的隐藏状态作为输入,并为记忆单元中的每个项目输出一个从 0 到 1 的值。
  • 输入门:输入门决定了要存储在记忆单元中的附加信息。它将当前输入和前一个时间步的隐藏状态作为输入,并为记忆单元中的每个元素分配一个从 0 到 1 的值,其中 0 表示“不存储”,1 表示“完全存储”。
  • 输出门:输出门决定了要从记忆单元传递到下一个时间步的信息。它将当前输入和前一个时间步的隐藏状态作为输入,并为记忆单元中的每个元素分配一个从 0 到 1 的值,其中 0 表示“无输出”,1 表示“完全输出”。

通过选择性地通过这些门传递信息,LSTM 网络可以更有效地捕捉序列数据中的依赖关系,减少常见的梯度消失问题。这使其能够识别和记忆长时间段内的数据模式,使其特别适合时间序列预测任务。

总之,LSTM 网络是建模序列数据的强大工具,并已成功应用于广泛的应用领域,包括时间序列预测、自然语言处理和语音识别。

6. 门控循环单元 (GRU)

门控循环单元 (GRU) 是一种类似于长短期记忆 (LSTM) 网络的循环神经网络 (RNN) 系统。它旨在解决传统 RNN 的一些局限性,例如常见的梯度消失问题,并且计算效率更高。

与 LSTM 一样,GRU 非常适合序列数据建模,并已广泛用于自然语言处理、时间序列预测和语音识别等应用。

GRU 的主要组成部分包括:

  • 更新门:GRU 的更新门决定了应将多少先前的信息传递到当前时间步。它将当前输入和前一个时间步的隐藏状态作为输入,并为隐藏状态的每个元素分配一个从 0 到 1 的值,其中 0 表示“丢弃”,1 表示“保留”。
  • 重置门:GRU 的重置门指定在计算当前隐藏状态时应忘记多少过去的信息。它将当前输入和前一个时间步的隐藏状态作为输入,并为隐藏状态的每个元素分配一个从 0 到 1 的值,其中 0 表示“完全忘记”,1 表示“完全保留”。

GRU 结合这些门来选择性地更新和忘记信息,从而能够捕捉序列数据中的远程依赖关系。与 LSTM 相比,GRU 的设计更简单,参数更少,使其计算效率更高,更容易训练。然而,在某些情况下,它可能无法像 LSTM 那样好地捕捉长期依赖关系。