首页  >  文章  >  科技周边  >  时序分析中的常用算法,都在这里了

时序分析中的常用算法,都在这里了

PHPz
PHPz转载
2023-12-15 14:17:541227浏览

时间序列分析是利用事件在过去一段时间内的特征来预测未来一段时间内该事件的特征。这是一种相对较为复杂的预测建模问题,与回归分析模型的预测有所不同。时间序列模型依赖于事件发生的先后顺序,同样大小的值改变顺序后输入模型会产生不同的结果

时序分析中的常用算法,都在这里了

时序问题都看成是回归问题,只是回归的方式(线性回归、树模型、深度学习等)有一定的区别。

时序分析包括静态时序分析(STA)和动态时序分析。

以下为几种常见的时序分析算法

1 深度学习时序分析

RNN(循环神经网络)

循环神经网络是指一个随着时间的推移,重复发生的结构。在自然语言处理(NLP),语音图像等多个领域均有非常广泛的应用。RNN网络和其他网络最大的不同就在于RNN能够实现某种“记忆功能”,是进行时间序列分析时最好的选择。如同人类能够凭借自己过往的记忆更好地认识这个世界一样。RNN也实现了类似于人脑的这一机制,对所处理过的信息留存有一定的记忆,而不像其他类型的神经网络并不能对处理过的信息留存记忆。

长处:

这种方法可以记忆时间,适用于解决时间序列中间间隔较短的问题

缺点:

长时间步数据容易出现梯度消失和梯度爆炸的问题

LSTM(长短时记忆网络)

LSTM(长短时记忆网络,Long Short-Term Memory)是一种时间循环神经网络,旨在解决常规循环神经网络(RNN)中存在的长期依赖问题而设计的。所有RNN都由一系列重复的神经网络模块构成

长处:

适合于处理和预测时间序列中间隔和延迟非常长的重要事件。

缺点:

模型参数过多会导致过拟合问题的出现

2 传统的时序分析模型

  • 自回归(Auto Regression, AR)
  • 移动平均线(Moving Average, MA)
  • 自回归移动平均线(Autoregressive Moving Average, ARMA)
  • 自回归综合移动平均线(Autoregressive Integrated Moving Average, ARIMA)
  • 季节性自回归整合移动平均线(Seasonal Autoregressive Integrated Moving Average, SARIMA)
  • 具有外生回归量的季节性自回归整合移动平均线(Seasonal Autoregressive Integrated Moving-Average with Exogenous Regressors, SARIMAX)

自回归模型 AR

自回归模型(Autoregressive Model,简称 AR 模型)是一种时间序列分析方法,用于描述一个时间序列变量与其过去值之间的关系。AR模型假设当前观测值与过去的观测值之间存在线性关系,通过使用过去的观测值来预测未来的观测值。

长处:

  • 简单性:AR模型是一种线性模型,易于理解和实现。它仅使用过去的观测值作为自变量,没有其他复杂的因素需要考虑。
  • 建模能力:AR模型可以捕捉时间序列数据的自相关结构,即当前观测值与过去观测值之间的关系。它能够提供对未来观测值的预测,并揭示数据中的趋势和模式。

缺点:

  • 只适用于平稳序列:AR模型要求时间序列是平稳的,即均值、方差和自相关不随时间变化。如果序列不平稳,可能需要进行差分操作或使用其他模型来处理非平稳性。
  • 对过去观测值敏感:AR模型的预测结果受到过去观测值的影响,因此在处理长期预测时可能会出现误差累积的问题。较大的阶数可能会导致模型过拟合,而较小的阶数可能无法捕捉到时间序列的复杂动态。
  • 无法处理季节性数据:AR模型无法直接处理具有明显季节性的时间序列。对于具有季节性模式的数据,可以使用季节性AR模型(SAR)或ARIMA模型进行建模。

移动平均法(MA)

移动平均法(MA):这种方法是基于数据的平均值,并假设未来的值与过去的值之间具有一定的稳定性

长处:

能够捕捉到时间序列数据中的移动平均关系。MA模型利用过去时间步白噪声误差项的线性组合来预测当前观测值,因此可以捕捉到数据中的移动平均性。

相对简单和直观。MA模型的参数表示过去时间步白噪声误差项的权重,可以通过估计这些权重来拟合模型。

缺点:

  • 只能捕捉到移动平均关系,无法捕捉到自回归关系。MA模型忽略了过去时间步观测值,可能无法捕捉到数据中的自相关性。
  • 对于某些时间序列数据,MA模型可能需要较高的阶数才能较好地拟合数据,导致模型复杂度增加。

自回归滑动平均模型

自回归滑动平均模型(ARMA模型,Auto-Regression and Moving AverageModel)是研究时间序列的重要方法,由自回归模型(AR模型)与滑动平均模型(MA模型)为基础“混合”而成,具有适用范围广、预测误差小的特点。

自回归差分移动平均线(Autoregressive Integrated Moving Average, ARIMA)

ARIMA 模型是自回归差分移动平均模型的缩写,全称为 Autoregressive Integrated Moving Average Model。这个模型主要由三个部分组成,分别是自回归模型 (AR)、差分过程 (I) 和移动平均模型 (MA)

ARIMA模型的基本思想是利用数据本身的历史信息来预测未来。一个时间点上的标签值既受过去一段时间内的标签值影响,也受过去一段时间内的偶然事件的影响,这就是说,ARIMA模型假设:标签值是围绕着时间的大趋势而波动的,其中趋势是受历史标签影响构成的,波动是受一段时间内的偶然事件影响构成的,且大趋势本身不一定是稳定的

ARIMA模型是一种时间序列分析方法,通过对数据的自相关性和差分进行建模,来提取数据中隐藏的时间序列模式,进而预测未来的数据

  • AR部分用于处理时间序列的自回归部分,它考虑了过去若干时期的观测值对当前值的影响。
  • I部分用于使非平稳时间序列达到平稳,通过一阶或者二阶等差分处理,消除了时间序列中的趋势和季节性因素。
  • MA部分用于处理时间序列的移动平均部分,它考虑了过去的预测误差对当前值的影响。

结合这三部分,ARIMA模型既可以捕捉到数据的趋势变化,又可以处理那些有临时、突发的变化或者噪声较大的数据。所以,ARIMA模型在很多时间序列预测问题中都有很好的表现。

长处:

模型的构建非常简单,只需要使用内生变量,而无需借助其他外生变量。所谓内生变量是指仅依赖于数据本身的变量,而不像回归模型需要其他变量的支持

缺点:

时序数据的要求是稳定的,或者经过差分处理后变得稳定

本质上只能捕捉线性关系,而不能捕捉非线性关系。

季节性自回归整合移动平均模型 SARIMA

SARIMA是一种常用的时序分析方法,它是ARIMA模型在季节性数据上的扩展。SARIMA模型可以用于预测季节性时间序列数据,例如每年的销售额或每周的网站访问量。以下是SARIMA模型的优缺点:

长处:

  • SARIMA模型可以很好地处理季节性数据,因为它考虑了时间序列数据中的季节性因素。
  • SARIMA模型可以对时间序列数据进行长期预测,因为它可以捕捉到数据中的趋势和周期性变化。
  • SARIMA模型可以用于多变量时间序列数据,因为它可以同时考虑多个变量之间的关系。

缺点:

  • SARIMA模型需要大量的历史数据来训练,因此在数据量较少的情况下可能不太适用。
  • SARIMA模型对异常值比较敏感,因此需要对异常值进行处理。
  • SARIMA模型的计算复杂度较高,需要进行大量的计算和优化。

具有外生回归量的季节性自回归整合移动平均模型 SARIMAX

季节性自回归整合移动平均模型(SARIMAX)是在差分移动自回归模型(ARIMA)的基础上加上外生回归量的模型。它适用于具有明显周期性和季节性特征的时间序列数据

3 其他时序模型

这类方法以 lightgbm、xgboost 为代表,一般就是把时序问题转换为监督学习,通过特征工程和机器学习方法去预测;这种模型可以解决绝大多数的复杂的时序预测模型。支持复杂的数据建模,支持多变量协同回归,支持非线性问题。

特征工程的重要性不言而喻,它对于机器学习的成功起到了关键作用。然而,特征工程并不是一项简单的任务,它需要复杂的人工处理和独特的专业知识。特征工程的水平往往决定了机器学习的上限,而机器学习算法只是在尽可能接近这个上限。 一旦特征工程完成,我们可以直接应用树模型算法——lightgbm和xgboost。这两个模型是非常常见且高效的建模方法。除此之外,它们还具有以下特点:

  • 计算速度快,模型精度高;
  • 缺失值不需要处理,比较方便;
  • 支持 category 变量;
  • 支持特征交叉。

具体选择哪种方法需要根据数据的性质、问题的特点以及自身的经验和能力来综合考量。

需要根据具体的数据特征、问题要求和自身的能力来选择合适的时间序列预测方法。有时,结合多个方法可以提高预测的准确性和稳定性。同时,为了更好地选择模型和评估预测结果,对数据进行可视化分析和模型诊断也是很重要的。

以上是时序分析中的常用算法,都在这里了的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文转载于:51cto.com。如有侵权,请联系admin@php.cn删除