比较用于时间序列预测的经典算法和机器学习算法

机器学习和深度学习方法常被认为是所有预测建模问题的关键解决方案。

最近一项重要的研究评估并比较了许多经典和现代机器学习及深度学习方法在超过1000个单变量时间序列预测问题的大量且多样化数据集上的性能。

这项研究的结果表明,简单的经典方法,如线性方法和指数平滑,优于复杂精巧的方法,如决策树、多层感知器(MLP)和长短期记忆(LSTM)网络模型。

这些发现强调了在评估任何机器学习和深度学习方法进行时间序列预测时,既要评估经典方法,又要将它们的结果用作基线,以证明其增加的复杂性确实提升了预测技能。

在这篇文章中,您将了解到这项最近研究的重要发现,该研究评估并比较了经典和现代机器学习方法在大量且多样化的时间序列预测数据集上的性能。

阅读本文后,你将了解:

  • 对于单变量数据集上的一步预测,ETS和ARIMA等经典方法优于机器学习和深度学习方法。
  • 对于单变量数据集上的多步预测,Theta和ARIMA等经典方法优于机器学习和深度学习方法。
  • 机器学习和深度学习方法在单变量时间序列预测方面的承诺尚未兑现,仍有大量工作要做。

通过我的新书《深度学习时间序列预测》**启动您的项目**,其中包括**分步教程**和所有示例的**Python源代码**文件。

让我们开始吧。

Findings Comparing Classical and Machine Learning Methods for Time Series Forecasting

时间序列预测中经典方法与机器学习方法的比较发现
图片由Lyndon Hatherall拍摄,保留部分权利。

概述

Spyros Makridakis等人于2018年发表了一项研究,题为“统计与机器学习预测方法:问题与前景”。

在这篇文章中,我们将仔细研究Makridakis等人进行的这项研究,该研究仔细评估并比较了经典时间序列预测方法与现代机器学习方法的性能。

本文分为七个部分;它们是:

  1. 研究动机
  2. 时间序列数据集
  3. 时间序列预测方法
  4. 数据准备
  5. 一步预测结果
  6. 多步预测结果
  7. 结论

研究动机

这项研究的目标是清晰地展示一套不同机器学习方法与经典时间序列预测方法在大量且多样化的单变量时间序列预测问题上的能力。

这项研究是对关于机器学习和深度学习方法能为时间序列预测提供更优结果的论文和主张日益增多的回应,这些主张却鲜有客观证据支持。

数以百计的论文提出了新的机器学习算法,暗示着方法论的进步和准确性的提高。然而,关于它们作为标准预测工具的相对性能,客观证据有限。

统计与机器学习预测方法:问题与前景,2018年。

作者清晰地阐述了关于大量主张的三个问题;它们是:

  • 他们的结论基于少量甚至单一时间序列,这引发了对结果统计显著性及其泛化能力的质疑。
  • 这些方法仅针对短期预测范围进行评估,通常是一步提前预测,而未考虑中长期预测。
  • 没有使用基准来比较机器学习方法与替代方法的准确性。

作为回应,该研究包含了八种经典方法和十种机器学习方法,在1045个月度时间序列的集合中,使用一步和多步预测进行了评估。

尽管并非决定性的,但这些结果旨在客观且可靠。

时间序列深度学习需要帮助吗?

立即参加我为期7天的免费电子邮件速成课程(附示例代码)。

点击注册,同时获得该课程的免费PDF电子书版本。

时间序列数据集

研究中使用的时间序列数据集来源于M3竞赛所用的时间序列数据集。

M3竞赛是系列竞赛中的第三届,旨在发现哪些算法在实际时间序列预测问题中表现良好。竞赛结果发表在2000年的论文《M3竞赛:结果、结论和启示》中。

竞赛中使用的数据集涵盖了广泛的行业,并且具有不同的时间间隔,从小时到年度不等。

M3竞赛的3003个系列是按配额选取的,旨在包含各种类型的时间序列数据(微观、行业、宏观等)以及连续观测值之间不同的时间间隔(年度、季度等)。

下表摘自该论文,总结了竞赛中使用的3003个数据集。

Table of Datasets, Industry and Time Interval Used in the M3-Competition

M3竞赛中使用的数据集、行业和时间间隔表
摘自《M3竞赛:结果、结论和启示》。

竞赛的发现是,简单的时间序列预测方法优于更复杂的方法,包括神经网络模型。

这项研究、前两次M-竞赛以及许多其他实证研究已经毫无疑问地证明,精心设计的理论结构或更复杂的方法不一定能提高样本外的预测准确性,即使它们能更好地拟合统计模型到可用的历史数据。

M3竞赛:结果、结论和启示,2000年。

我们在这篇文章中回顾的最近一项评估机器学习方法的研究,从M3竞赛中使用的数据集中选取了1045个具有月度间隔的时间序列的子集。

… 在多个预测范围中评估此类性能,使用M3竞赛中使用的1045个月度时间序列的大型子集。

统计与机器学习预测方法:问题与前景,2018年。

时间序列预测方法

该研究评估了八种经典(或更简单)方法和十种机器学习方法的性能。

… 八种传统统计方法和八种流行的机器学习方法,[…],外加两种近年来变得流行的机器学习方法。

统计与机器学习预测方法:问题与前景,2018年。

评估的八种经典方法如下:

  • Naive 2,实际上是针对季节性调整的随机游走模型。
  • 简单指数平滑。
  • Holt。
  • 阻尼指数平滑。
  • SES、Holt和阻尼方法的平均值。
  • Theta 方法。
  • ARIMA,自动。
  • ETS,自动。

共使用了八种机器学习方法,旨在重现并与2010年论文《时间序列预测中机器学习模型的实证比较》中提出的结果进行比较。

它们是:

  • 多层感知器(MLP)
  • 贝叶斯神经网络(BNN)
  • 径向基函数(RBF)
  • 广义回归神经网络(GRNN),也称为核回归
  • K近邻回归(KNN)
  • CART回归树(CART)
  • 支持向量回归(SVR)
  • 高斯过程(GP)

鉴于其最近的采用率上升,列表中还增加了两种“现代”神经网络算法;它们是:

  • 循环神经网络(RNN)
  • 长短期记忆网络(LSTM)

数据准备

再次地,采用了基于2010年论文《时间序列预测中机器学习模型的实证比较》中描述的方法论,进行仔细的数据准备。

在该论文中,每个时间序列都经过幂变换、去季节化和去趋势化调整。

[…] 在计算18个预测值之前,他们对序列进行了预处理,以使其均值和方差达到平稳性。这通过对数变换、去季节化以及最后的缩放来完成,同时还考虑了差分来去除趋势成分。

统计与机器学习预测方法:问题与前景,2018年。

受这些操作的启发,对MLP应用了五种不同数据变换的变体进行一步预测,并比较了它们的结果。这五种变换是:

  • 原始数据。
  • Box-Cox幂变换。
  • 数据去季节化。
  • 数据去趋势化。
  • 所有三种变换(幂、去季节化、去趋势化)。

通常发现,最好的方法是应用幂变换并对数据进行去季节化,可能还需要对序列进行去趋势化。

根据sMAPE,最佳组合是第7种(Box-Cox变换、去季节化),而根据MASE,最佳组合是第10种(Box-Cox变换、去季节化和去趋势化)。

统计与机器学习预测方法:问题与前景,2018年。

一步预测结果

所有模型都通过一步时间序列预测进行评估。

具体而言,最后18个时间步长被用作测试集,模型在所有剩余观测值上进行拟合。对测试集中的18个观测值分别进行了一步预测,可能使用了步进式验证方法,其中真实观测值被用作输入以进行每次预测。

预测模型使用前n-18个观测值(其中n是序列的长度)进行开发。然后,生成了18个预测值,并将其准确性与未用于开发预测模型的实际值进行比较。

统计与机器学习预测方法:问题与前景,2018年。

回顾结果,发现MLP和BNN在所有机器学习方法中表现最佳。

结果[...]显示MLP和BNN优于其余的ML方法。

统计与机器学习预测方法:问题与前景,2018年。

一个令人惊讶的结果是,RNN和LSTM表现不佳。

应该指出的是,RNN是准确性较低的机器学习方法之一,这表明研究进展不一定能保证预测性能的提高。这一结论也适用于LSTM的性能,这是另一种流行且更先进的机器学习方法,它也没有提高预测准确性。

统计与机器学习预测方法:问题与前景,2018年。

比较所有方法的性能,发现机器学习方法的表现均不及简单的经典方法,其中ETS和ARIMA模型整体表现最佳。

这一发现证实了以往类似研究和竞赛的结果。

Bar Chart Comparing Model Performance (sMAPE) for One-Step Forecasts

一步预测模型性能(sMAPE)比较柱状图
摘自《统计与机器学习预测方法:问题与前景》。

多步预测结果

多步预测涉及预测比最后已知观测值提前多个步长。

针对机器学习方法,评估了三种多步预测方法;它们是:

  • 迭代预测
  • 直接预测
  • 多神经网络预测

结果发现,经典方法再次优于机器学习方法。

在这种情况下,Theta、ARIMA以及指数平滑组合(Comb)等方法表现最佳。

简而言之,统计模型似乎在所有预测范围上普遍优于机器学习方法,其中Theta、Comb和ARIMA根据所检查的两种误差度量标准,在竞争者中占据主导地位。

统计与机器学习预测方法:问题与前景,2018年。

结论

该研究提供了重要的支持证据,表明经典方法可能在单变量时间序列预测中占据主导地位,至少在评估的预测问题类型上是如此。

该研究表明,机器学习和深度学习方法在单变量时间序列预测中,无论是单步预测还是多步预测,性能都较差,并且计算成本更高。

这些发现强烈鼓励在探索更复杂方法之前,首先使用ETS、ARIMA等经典方法,并要求将这些简单方法的结果用作性能基线,更复杂的方法必须超越此基线才能证明其使用是合理的。

它还强调了不仅要考虑数据准备方法的谨慎使用,而且要积极测试针对特定问题的多种不同数据准备方案组合,以发现何种方案最有效,即使对于经典方法也是如此。

机器学习和深度学习方法在特定的单变量时间序列问题上可能仍然能达到更好的性能,因此应进行评估。

该研究未涉及更复杂的时间序列问题,例如包含以下特点的数据集:

  • 复杂的不规则时间结构。
  • 缺失观测值。
  • 严重的噪声。
  • 多个变量之间复杂的相互关系。

该研究以一种诚实的困惑结束,即机器学习方法在其他人工智能领域表现出色,但在实践中为何如此糟糕。

最有趣的问题和最大的挑战是找出其性能不佳的原因,目标是提高其准确性并利用其巨大潜力。人工智能学习算法已彻底改变了各个领域广泛的应用,没有理由机器学习方法不能在预测中实现同样的目标。因此,我们必须找到如何应用它们以提高其更准确地预测的能力。

统计与机器学习预测方法:问题与前景,2018年。

作者对LSTM和RNN发表了评论,这些通常被认为是序列预测问题的深度学习方法,但在这种情况下,它们在实践中的表现明显不佳。

[…]人们会期望RNN和LSTM,作为更高级的NN类型,比ARIMA和其余统计方法更准确。

统计与机器学习预测方法:问题与前景,2018年。

他们评论说,LSTM似乎更适合拟合或过拟合训练数据集,而非预测它。

另一个有趣的例子是LSTM,与RNN和MLP等更简单的NN相比,它报告了更好的模型拟合度但更差的预测准确性。

统计与机器学习预测方法:问题与前景,2018年。

仍有工作要做,机器学习方法和深度学习方法有望比经典统计方法更好地学习时间序列数据,甚至通过自动特征学习直接在原始观测数据上进行学习。

鉴于其学习能力,机器学习方法应优于简单的基准,如指数平滑。接受问题是制定可行解决方案的第一步,我们希望人工智能和机器学习领域的人员能够接受这些实证发现,并努力提高其方法的预测准确性。

统计与机器学习预测方法:问题与前景,2018年。

进一步阅读

如果您想深入了解,本节提供了更多关于该主题的资源。

总结

在这篇文章中,您了解了一项最新研究的重要发现,该研究评估并比较了经典和现代机器学习方法在大量多样化的时间序列预测数据集上的性能。

具体来说,你学到了:

  • 对于单变量数据集上的一步预测,ETS和ARIMA等经典方法优于机器学习和深度学习方法。
  • 对于单变量数据集上的多步预测,Theta和ARIMA等经典方法优于机器学习和深度学习方法。
  • 机器学习和深度学习方法尚未兑现其在单变量时间序列预测方面的承诺,仍有大量工作要做。

你有什么问题吗?
在下面的评论中提出你的问题,我会尽力回答。

立即开发时间序列深度学习模型!

Deep Learning for Time Series Forecasting

在几分钟内开发您自己的预测模型

...只需几行python代码

在我的新电子书中探索如何实现
用于时间序列预测的深度学习

它提供关于以下主题的自学教程
CNNLSTM多元预测多步预测等等...

最终将深度学习应用于您的时间序列预测项目

跳过学术理论。只看结果。

查看内容

86条评论关于 _比较时间序列预测中的经典算法与机器学习算法_

  1. Brett 2018年11月2日 上午5:36 #

    谢谢您的发布。我最近开始学习时间序列预测课程,这正好证实了我需要先理解更基础和标准的统计方法,然后再研究深度学习技术。

  2. Andrew Maguire 2018年11月2日 上午6:05 #

    酷,喜欢这篇总结。一个问题,这似乎都是单变量模型,对吗?我非常好奇能否看到类似但使用多变量数据和模型的文章。

    • Jason Brownlee 2018年11月2日 上午6:12 #

      是的,只是单变量数据/模型。

      我同意,一项针对多变量数据集的类似研究将会非常引人入胜!

  3. Richard Dunn 2018年11月2日 上午7:42 #

    信息量很大,谢谢杰森。这证实了我一直以来的假设,即可能需要更多的变量才能让深度学习在时间序列预测中占据优势。
    我很惊讶您不知道任何涉及后者的比较研究?

    • Jason Brownlee 2018年11月2日 下午2:47 #

      同意!

      此类研究可能存在,但我尚未遇到过,至少没有达到这种鲁棒性的程度。

  4. Terrence 2018年11月2日 下午3:41 #

    感谢这篇富有洞察力的文章!

    也许在阅读材料中已经说明了,但似乎对于每个时间序列,都没有进行特征选择/特征工程的工作,即,传统模型和机器学习模型的输入仅由时间序列自身的历史值组成?

    您能确认一下是否属实吗?

  5. Ross 2018年11月3日 上午12:45 #

    谢谢。太棒了!

    您是否有关于(引用您的话)问题和方法调查的“首选”参考资料?

    复杂的不规则时间结构。
    缺失观测值。
    严重的噪声。
    多个变量之间复杂的相互关系。

    ?

    再次感谢……如果您在DMV,我很乐意随时请您喝咖啡或饮料。

  6. sridhar 2018年11月3日 上午1:18 #

    您所说的基准测试是针对各种模型进行的,其中时间序列只是输入组件之一,而典型的输出是预测组件,这是否正确?如果是这样,右侧绘制的值是什么?为什么说基本统计方法相对更好?您能对此进行一些阐述吗?

    • Jason Brownlee 2018年11月3日 上午7:09 #

      “右侧”?

      我不明白,请您详细说明一下?

  7. Paul 2018年11月6日 下午3:45 #

    我对时间序列分析了解不多,但去除趋势和季节性后,剩下的不就是噪声吗?

    如果真是这样,难怪大型非线性模型会过拟合训练集,并在测试样本上表现不佳。基本上,模型没有信号可拟合。

    这说得通吗?

    • Jason Brownlee 2018年11月7日 上午5:58 #

      很好的问题!

      如果只剩下噪音,那就没什么可预测的了。

      这个想法是,您会留下一个与时间相关的信号(而不是趋势或季节性)和噪声。

      • Paul 2018年11月7日 上午7:04 #

        是的,我想那里肯定有一些信号。我应该看看他们数据集中的一些时间序列。我在他们的论文中找不到任何图片。

        我见过一些去除了趋势和季节性的股票市场序列,那对我来说就像噪音一样。也许存在一些时间依赖性,即一个点很可能接近前一个点。这可以解释为什么移动平均类型的方法在预测接下来的一两个点方面表现良好。

  8. Johan 2018年11月9日 上午6:41 #

    有趣的是,最近的M4预测竞赛由一种机器学习统计方法获胜。

    这种组合是指数平滑和RNN。更多信息请见:

    https://eng.uber.com/m4-forecasting-competition/

    https://www.sciencedirect.com/science/article/pii/S0169207018300785

  9. Anthony The Koala 2018年11月9日 下午2:17 #

    尊敬的Jason博士,
    我一直在研读《深度学习时间序列预测》。目前我读到了第102页。我也读过您的其他时间序列书籍。

    在我的阅读过程中,在“深度学习时间序列预测”一书中,在开发单变量预测时,您从未需要为简单示例指定模型。与“经典”时间序列预测相比,人们必须指定它是AR、MA、ARIMA、SARIMA等。

    我是否可以得出结论,尽管经典单变量时间序列使用AR、MA、ARIMA,但使用深度学习方法时,人们不必考虑或关心使用AR、MA、ARIMA?请注意,我已读到深度学习书籍的第102页(PDF文档)。

    谢谢你,
    悉尼的Anthony

    • Jason Brownlee 2018年11月10日 上午5:55 #

      嗯。

      对于单变量问题,经典方法占据主导地位。在某些情况下,MLP和CNN等方法可以在不进行相同数据准备的情况下学习一个合理的模型,但配置良好的经典模型几乎肯定会超越它。当然,并非总是如此,只是在大多数感兴趣的问题上是这样。

  10. May 2018年11月10日 下午3:37 #

    这对我来说是篇好文章。当我运行我的代码时,它加载得很慢。我等了大约30分钟,但没有出现结果。
    # 准备要评估的模型

    定义了10个模型
    回溯(最近一次调用)

    • Jason Brownlee 2018年11月11日 上午5:57 #

      也许尝试用更少的数据运行?

      • may 2018年11月13日 上午12:54 #

        我的数据集的形状是6200。有什么方法可以做时间序列空气质量吗?

        • Jason Brownlee 2018年11月13日 上午5:48 #

          我建议测试一系列方法,以发现最适合您的特定数据集的方法。

      • May 2018年11月13日 上午1:02 #

        我的数据集形状是(6200,22),我尝试用1:-328进行训练数据,但没有结果。

  11. Evan 2018年11月27日 下午2:31 #

    感谢您的分享!作为初学者,我想问什么是“单变量时间序列”,以及如何生成它或如何判断它是否是单变量时间序列?

    • Jason Brownlee 2018年11月28日 上午7:38 #

      单变量时间序列是随时间观测到的单个变量。

      开始学习时间序列的好地方在这里:
      https://machinelearning.org.cn/start-here/#timeseries

      • Han Xiong 2020年6月12日 上午3:32 #

        是否有现成的Python代码可以用来比较SARIMAX等经典时间序列模型与机器学习模型的性能?也许您的某本书中有吗?

        • Jason Brownlee 2020年6月12日 上午6:19 #

          深度学习时间序列书籍中包含了单独评估每种模型类型的示例,您可以自行比较结果。

  12. mk 2018年12月14日 上午11:38 #

    我们将重点放在多元时间序列上,这是目前大多数人关注的焦点。越来越多的人将LSTM视为模型的一部分,并声称取得了准确的结果。存在许多混合模型,因此LSTM在多元时间序列中仍然扮演着重要的角色。多元时间序列更符合现实。

    是否有比较经典方法和机器学习方法在多元时间序列预测中的结果?

    • Jason Brownlee 2018年12月14日 下午2:35 #

      尚未达到此级别,希望我们能很快看到类似的研究。

  13. krishna bhogaonker 2019年6月13日 上午10:29 #

    这真是一篇非常有趣的帖子。是的,我可以看到,尤其是在单变量情况下,经典模型将占据主导地位。我认为“经典”这个概念实际上意味着这些模型对数据做出了更强的假设,例如自相关和冲击衰减——通常是那个$/rho$参数。所以,如果假设成立,那么经典模型将学习得更快。对于深度学习或机器学习模型来说,这些模型需要从数据中实际学习自相关结构,这将需要更长的训练周期和更多的数据。

    我认为你说的非常正确,模型需要与数据匹配。试图在太小的数据集上使用强大的深度学习工具只会导致大量糟糕的预测。

    • Jason Brownlee 2019年6月13日 下午2:34 #

      谢谢,我同意,而且表达得很好!

      对数据有更多了解,可以帮助您在模型中建立假设(或选择具有这些假设的模型),从而取得良好效果。

  14. Matthew 2019年7月11日 下午6:05 #

    亲爱的 Jason,
    我用一个MAPE为2.5%的神经网络模型对我的电力需求预测进行了很好的拟合。目前我正尝试将其与ARIMA模型进行比较,但我遇到了一些麻烦。我的数据每半小时采集一次,持续了将近一年,因此有16464个观测值。我的NN模型使用这些数据没有任何问题,但目前我的ARIMA(48,1,0)模型无法通过model.fit(disp=0),程序一直运行直到我键盘中断。我不确定是我的代码有问题(我不认为),还是我使用的数据太大了,等等。
    一般来说,ARIMA模型的运行时间比训练神经网络的时间长吗?
    谢谢。

    • Jason Brownlee 2019年7月12日 上午8:31 #

      或许尝试更简单的AR或更高级的SARIMA?

      也许直接尝试线性回归模型?

  15. bilal 2019年12月11日 下午4:23 #

    我遇到了同样的问题。
    尝试在ARIMA中使用较小的季节性值。它会解决问题。

  16. Hasan 2020年3月13日 下午5:49 #

    你好 Jason,

    很棒的工作!有Theta方法的Python包吗?

    • Jason Brownlee 2020年3月14日 上午8:07 #

      谢谢。

      我手头不确定。我不记得见过。

  17. Abdul Rahman Khankan 2020年3月26日 下午11:03 #

    感谢您的帖子!

    对于去季节化,我们先去季节化 -> 预测 -> 再季节化预测以获得真实的预测值。

    您有没有关于如何将季节性重新应用于预测值的帖子?或者您能否指出您的两本时间序列书籍中的一个例子?

    谢谢!

    • Manos 2020年4月1日 上午7:39 #

      使用季节性差分进行去季节化,然后逆变换预测值效果不佳。我建议您使用STL分解,然后在季节性调整后的数据上训练您的模型。现在您需要进行两个预测,一个用于使用您训练的模型对季节性调整后的数据进行预测,另一个用于使用季节性朴素方法对季节性分量进行预测。然后将这两个预测值相加。

      • Jason Brownlee 2020年4月1日 上午8:11 #

        我通常不同意,季节性差分可以非常有效。取决于数据。

        尝试多种转换并比较结果——这是无可匹敌的建议。

  18. Manos 2020年4月1日 上午7:28 #

    Makridakis 论文的一个问题是,如这里所提及的,该研究偏向于使用非常小的数据集https://arxiv.org/abs/1909.13316

    • Jason Brownlee 2020年4月1日 上午8:10 #

      同意。但这些单变量数据集代表了大多数开发者/初学者使用LSTM时的数据。

    • Abdul Rahman Khankan 2020年4月2日 上午9:42 #

      您知道是否有类似Makridakis(比较多种方法)但基于大数据集的研究吗?例如,几年每小时的时间序列,如空气质量数据。

      谢谢

      • Abdul Rahman Khankan 2020年4月2日 上午9:52 #

        我忘了补充,我正在寻找一项专门包含NN的研究(您链接的Cerqueira等人论文非常有趣,但不包括NN)。

      • Jason Brownlee 2020年4月2日 下午1:29 #

        手头没有。

  19. Priyatham K 2020年4月1日 下午10:53 #

    您好,布朗利,

    我们能否通过根据滞后时间准备数据集并递归预测或采用任何其他类型的预测技术,使用机器学习方法(集成方法)获得良好的结果?如果不能,请指引我到资源,说明原因。

    • Jason Brownlee 2020年4月2日 上午5:55 #

      也许可以,取决于您的数据和所选模型的具体情况。

      对于单变量数据,一个好的线性模型几乎可以碾压所有其他方法。例如,一个好的SARIMA或ETS。

      为什么?不得而知。我们所拥有的只是大量来自实证研究的证据。

  20. Saad 2020年4月20日 上午3:29 #

    亲爱的 Jason,

    希望您一切顺利。非常感谢您的所有帖子,它们非常有帮助。

    我目前正在进行一项实证分析,其中我同时应用了Arima和RBF神经网络。

    我做了很多研究,但仍然不清楚是否应该在应用神经网络之前使数据平稳?一些论文说弱平稳性是神经网络的假设,但我见过一些论文将RBF神经网络应用于非平稳时间序列。

    我可以继续使所有数据平稳,但也可能有趣的是将RBF应用于平稳和非平稳数据。有什么想法吗?

    非常感谢

    https://www.researchgate.net/publication/5384895_Trend_Time-Series_Modeling_and_Forecasting_With_Neural_Networks

    • Jason Brownlee 2020年4月20日 上午5:30 #

      尝试使数据平稳,拟合模型,然后将结果与原始数据拟合的模型进行比较。使用能产生最佳性能的方法。

      • Saad 2020年4月20日 下午7:47 #

        谢谢杰森。我这就去做。

        您是否同意文献中对神经网络的平稳性讨论不足的事实?

        您是否也同意弱平稳性是神经网络的一个假设?我在上神经网络课时从未学过这个,所以我有点怀疑。

        非常感谢您,先生!

        • Jason Brownlee 2020年4月21日 上午5:52 #

          当然可以。

          是的。

          对所有结果保持怀疑。模型正试图愚弄你。更糟的是,你正试图愚弄自己。

  21. shawon 2020年6月13日 上午5:11 #

    嘿,Jason Brownlee,

    Prophet 是 Facebook 最近开发的时间序列预测工具。

    它是机器学习时间序列还是经典时间序列?

  22. Steven 2020年6月19日 下午2:32 #

    嗨,Jason,

    关于时间序列数据预测的一个小问题。我的应用是根据人类当前和过去的运动来预测人类的运动。我是否有可能使用您介绍的任何机器学习方法进行实时预测?我需要实时预测来控制机器人在空间中移动(我使用预测来克服时间延迟)。
    我一直在探索指数、HMM和LSTM。但还没有进行实时预测。我对使用哪一个感到困惑。您能推荐一下吗?

  23. Bard 2020年7月6日 下午11:26 #

    ETS?
    ARIMA?
    等等,等等,

    学习一门新科目时,没有什么比每隔一分钟就停下来查找一个缩写词更糟糕的了!

  24. Vidya 2020年7月29日 下午12:18 #

    嘿,杰森。

    请帮助澄清以下几点:

    1. 时间序列数据的最佳度量标准是什么?
    2. 在什么情况下我们使序列平稳?是为了应用机器学习算法吗?在这种情况下我们如何解释预测值?
    3. 对于时间序列的交叉验证,最好的方法是什么?
    a. 改变训练和测试日期,保持训练窗口和测试窗口的固定长度,还是 b. 保持递增训练窗口,固定测试窗口,还是 c. 同时改变训练窗口和测试窗口?

    非常感谢!
    维迪亚

    谢谢!

    • Jason Brownlee 2020年7月29日 下午1:40 #

      您必须选择最能体现项目目标的度量标准。

      使时间序列平稳通常是一个好习惯。

      交叉验证对时间序列无效,您必须使用步进式验证。

  25. Vidya 2020年7月30日 下午2:24 #

    谢谢你的回复,杰森。
    有没有关于如何解释预测值(在使序列平稳后)的参考文献?
    另外,是的,我指的是步进式验证。在该方法中,是保持固定观测值还是滑动窗口格式?我们是否评估这两种方法?还是取决于具体情况?

    谢谢!

    • Jason Brownlee 2020年7月31日 上午6:13 #

      它必须是一个滑动窗口,我不确定如何使用固定输入实现步进式验证。

  26. Tammy Orojo 2020年10月21日 下午9:11 #

    嗨,我只是想知道M3竞赛数据中的预测是否是价格?以及一个模型是否用于预测所有3003个序列的每个序列?

  27. Shemse 2020年12月9日 下午7:06 #

    谢谢,杰森,感谢您的支持性帖子和持续建议。

    我正在研究短期、中期和长期时间序列降雨预测,请您提供相关有价值的帖子链接给我。

  28. Hancel 2020年12月11日 上午3:30 #

    嗨,Jason,

    首先非常感谢您提供这些内容,信息量很大!

    假设我要预测一家零售连锁店100家门店的销售额,ARIMA(Auto ARIMA)等传统方法将需要很长时间才能完成训练。
    在这种情况下,我发现机器学习模型能提供更好的准确性和更快的训练速度。

    您对数据规模较大时使用传统时间序列模型有何看法?

  29. mario Rodaz 2021年6月21日 上午5:42 #

    嗨,杰森!我正在努力选择使用机器学习模型还是时间序列模型。
    我一直在处理真实世界数据,我有一个包含1000万用户信息的Y数据集,这些数据是在不同持续时间(5到20年)内收集的。

    - 大多数特征是恒定的(家族史、吸烟者(是/否)……),但是,
    - 我有一些时间相关的特征(例如,体重、血液测试值等),
    -(此外,这些特征是在不同的时间点收集的,即,对于一些用户,我们有半年度信息,对于另一些用户,我们在15年内只有2次测量)
    - 到目前为止,我一直通过平均值或使用最新值,将特征视为静态的,并使用XGBoost分类器或其他分类器来预测我的目标。
    - 我可以尝试在这种情况下使用时间序列吗?还是只坚持使用机器学习分类器,并尝试以其他方式纳入值的演变?

    • Jason Brownlee 2021年6月22日 上午6:26 #

      也许两种方法都尝试一下,然后找出哪种方法对你的问题最有效或最好。

  30. Innocent Nwagbolu 2021年7月31日 上午6:37 #

    你好,Jason,能否在SPSS中使用神经网络(MLP)来预测时间序列数据?

  31. Hilton Fernandes 2022年7月25日 上午2:53 #

    感谢你的出色工作,Jason!

    对时间序列进行去趋势和去季节性处理会产生开销。因此,如果像LSTM这样的现代方法不需要这些转换就能获得令人满意的预测结果,那么它可能会更有用。

    • James Carmichael 2022年7月25日 上午6:43 #

      Hilton 的反馈很棒!关于 LSTM 的观点非常出色!通过利用 ARIMA 等经典算法建立性能基线,然后与 CNN 和 LSTM 等深度学习方法进行比较,可能会有所帮助。你甚至可能会发现,根据数据的不同,经典方法优于深度学习方法。

  32. Johnson 2023年10月4日 下午1:09 #

    嗨,Jason,

    我只是想知道机器学习和深度学习在预测能力方面是否有任何进展或改进?像ARIMA这样的经典方法是否仍然优于那些复杂的方法?

    提前感谢,

    J

发表评论

Machine Learning Mastery 是 Guiding Tech Media 的一部分,Guiding Tech Media 是一家领先的数字媒体出版商,专注于帮助人们了解技术。访问我们的公司网站以了解更多关于我们的使命和团队的信息。