什么是时间序列预测?

时间序列预测是机器学习中一个重要但经常被忽视的领域。

它之所以重要,是因为有许多预测问题都涉及时间维度。这些问题之所以被忽视,正是因为时间维度使得时间序列问题更难处理。

在这篇文章中,您将了解时间序列预测。

阅读本文后,你将了解:

  • 时间序列、时间序列分析和时间序列预测的标准定义。
  • 时间序列数据中需要考虑的重要组成部分。
  • 时间序列示例,以使您的理解更具体。

通过我的新书《使用Python进行时间序列预测》**开启您的项目**,其中包括**逐步教程**和所有示例的**Python源代码文件**。

让我们开始吧。

What is Time Series Forecasting?

什么是时间序列预测?
图片来自Dennis Kleine,保留部分权利。

时间序列

一个普通的机器学习数据集是观测值的集合。

例如:

时间在普通机器学习数据集中确实发挥着作用。

当实际结果可能要到未来某个日期才知道时,会对新数据进行预测。预测的是未来,但所有先前的观测值几乎总是被同等对待。也许只有一些非常微小的时间动态来克服“*概念漂移*”的想法,例如只使用过去一年的观测值而不是所有可用数据。

时间序列数据集有所不同。

时间序列在观测值之间增加了明确的顺序依赖性:一个时间维度。

这个附加维度既是一个约束,又是一个提供额外信息来源的结构。

时间序列是按时间顺序进行的一系列观测值。

——第1页,《时间序列分析:预测与控制》。

例如:

描述与预测

根据我们是关注理解数据集还是进行预测,我们有不同的目标。

理解数据集,称为*时间序列分析*,可以帮助做出更好的预测,但这不是必需的,并且可能导致在时间和专业知识方面进行大量的技术投入,而这些投入不直接符合预期结果,即预测未来。

在描述性建模或时间序列分析中,对时间序列进行建模以确定其组成部分,如季节性模式、趋势、与外部因素的关系等。……相比之下,时间序列预测使用时间序列中的信息(可能附加额外信息)来预测该序列的未来值。

——第18-19页,《R语言实用时间序列预测:一本实践指南》。

时间序列分析

在使用经典统计学时,主要关注的是时间序列的分析。

时间序列分析涉及开发能够最好地捕捉或描述观测时间序列的模型,以理解其潜在原因。这个研究领域旨在探究时间序列数据集背后的“*为什么*”。

这通常涉及对数据形式做出假设,并将时间序列分解为构成成分。

描述性模型的质量由其对所有可用数据的描述程度以及其为更好地了解问题领域提供的解释来决定。

时间序列分析的主要目标是开发数学模型,从样本数据中提供合理的描述。

——第11页,《时间序列分析及其应用:R语言示例

时间序列预测

在时间序列数据的经典统计处理中,对未来进行预测被称为外推法。

更现代的领域关注这个主题,并将其称为时间序列预测。

预测涉及将历史数据拟合的模型用于预测未来的观测值。

描述性模型可以借鉴未来(即平滑或去除噪声),它们只寻求最好地描述数据。

预测的一个重要区别是,未来是完全不可知的,只能从已经发生的事情中进行估计。

时间序列分析的目的通常是双重的:理解或模拟产生观测序列的随机机制,以及根据序列的历史预测或预报序列的未来值。

——第1页,《时间序列分析:R语言应用》。

时间序列预测模型的技能由其预测未来的表现决定。这通常是以牺牲解释特定预测原因、置信区间以及更好地理解问题背后潜在原因的能力为代价的。

停止以**慢速**学习时间序列预测!

参加我的免费7天电子邮件课程,了解如何入门(附带示例代码)。

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

时间序列的组成部分

时间序列分析提供了一系列技术来更好地理解数据集。

其中最有用的可能是将时间序列分解为4个组成部分:

  1. **水平**。如果序列是直线,则为系列的基线值。
  2. **趋势**。随着时间推移,序列可选的、通常是线性的增加或减少的行为。
  3. **季节性**。随着时间推移,序列可选的重复模式或周期性行为。
  4. **噪声**。模型无法解释的观测值中可选的变异性。

所有时间序列都有一个水平,大多数都有噪声,而趋势和季节性是可选的。

许多时间序列的主要特征是趋势和季节性变化……大多数时间序列的另一个重要特征是时间上相近的观测值往往是相关的(序列依赖)。

——第2页,《R语言时间序列入门

这些构成组件可以被认为以某种方式结合起来,提供观测到的时间序列。例如,它们可以相加形成一个模型,如下所示:

可以对这些组成部分在行为和组合方式上做出假设,从而可以使用传统统计方法对其进行建模。

这些组成部分也可能是预测未来值最有效的方式,但并非总是如此。

在这些经典方法无法产生有效性能的情况下,这些组成部分可能仍然是有用的概念,甚至可以作为替代方法的输入。

预测的考量

进行预测时,了解您的目标至关重要。

使用苏格拉底方法,提出大量问题,以帮助您深入了解预测建模问题的具体细节。例如:

  1. **您有多少可用数据,并且能够将它们全部收集起来吗?** 更多数据通常更有帮助,为探索性数据分析、模型测试和调优以及模型保真度提供了更多机会。
  2. **所需的预测时间范围是多长?短期、中期还是长期?** 短期预测通常更容易以更高的置信度进行预测。
  3. **预测能否随着时间的推移频繁更新,还是必须一次性做出并保持静态?** 随着新信息的出现更新预测通常会带来更准确的预测。
  4. **预测需要以何种时间频率进行?** 预测通常可以以较低或较高的频率进行,这允许您利用数据的降采样和升采样,从而在建模时带来好处。

时间序列数据通常需要清洗、缩放甚至转换。

例如:

  • **频率**。也许数据提供的频率过高而无法建模,或者在时间上不均匀分布,需要重新采样才能用于某些模型。
  • **异常值**。也许存在需要识别和处理的损坏或极端异常值。
  • **缺失值**。也许存在需要插值或填充的空白或缺失数据。

时间序列问题通常是实时的,不断提供新的预测机会。这给时间序列预测带来了一种真实性,它能迅速暴露出错误的假设、建模错误以及我们可能欺骗自己的所有其他方式。

时间序列预测示例

时间序列预测问题几乎是无穷无尽的。

以下是来自各个行业的10个示例,以使时间序列分析和预测的概念更加具体。

  • 预测每年各州的玉米产量(吨)。
  • 预测秒级脑电图(EEG)轨迹是否表明患者癫痫发作。
  • 预测每天股票的收盘价。
  • 预测每年城市所有医院的出生率。
  • 预测商店每天售出的产品销量。
  • 预测每天通过火车站的旅客人数。
  • 预测每季度各州的失业率。
  • 预测每小时服务器的利用率需求。
  • 预测每个繁殖季节各州兔子种群的大小。
  • 预测城市每天汽油的平均价格。

我希望您能将其中一个或多个示例与您自己希望解决的时间序列预测问题联系起来。

总结

在这篇文章中,您了解了时间序列预测。

具体来说,你学到了:

  • 关于时间序列数据以及时间序列分析和时间序列预测之间的区别。
  • 进行分析时,时间序列可能被分解成的组成部分。
  • 时间序列预测问题的示例,以使这些概念具体化。

您对时间序列预测或本文有任何疑问吗?
请在下面的评论中提出您的问题。

想用Python开发时间序列预测吗?

Introduction to Time Series Forecasting With Python

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

...只需几行python代码

在我的新电子书中探索如何实现
Python 时间序列预测入门

它涵盖了**自学教程**和**端到端项目**,主题包括:*数据加载、可视化、建模、算法调优*等等。

最终将时间序列预测带入
您自己的项目

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

查看内容

156条回复关于《什么是时间序列预测?

  1. Amit 2016年12月2日 下午1:30 #

    嗨,Jason,

    有没有关于“预测服务器每小时的利用率需求”的论文?您能在这里提供链接吗?

    -Amit

    • Jason Brownlee 2016年12月3日 上午8:26 #

      Amit,可能有,你可以在这里搜索:http://scholar.google.com

    • Abolfazl 2018年11月28日 下午7:35 #

      亲爱的朋友
      我非常感谢@JasonBtownlee 提供的有用信息和代码。
      这是我的双向LSTM时间序列预测代码,
      http://www.mathworks.com/matlabcentral/fileexchange/69506-time-series-prediction
      最好的祝福
      Abolfazl Nejatian

    • sunil 2019年2月22日 上午1:24 #

      每行代表一个客户——第一列包含唯一的客户
      标识符,第二列包含客户访问商场的日期索引。
      索引为1的日期是星期一(例如,7号是星期日,8号又是星期一)。索引
      范围是1到1001(等于143个完整周)。任务是预测下一次访问(第144周)的第一天。
      例如,如果客户将在星期三访问商场,那么
      预测结果应为3
      0:客户下周不会访问 1:星期一
      2:星期二
      3:星期三
      4:星期四 5:星期五
      6:星期六 7:星期日

      您能用Python给出解决方案吗

  2. Leo 2016年12月2日 下午6:38 #

    “时间序列预测是机器学习中一个重要但经常被忽视的领域。”

    时间序列分析本身就是一个领域。许多时间序列分析师会被这句话冒犯。无意冒犯。

    • Brandon 2016年12月3日 上午3:59 #

      也许是这样,但在机器学习领域,时间序列只是分析和预测的一个子集。如果这不是一个机器学习的博客,那么也许会被冒犯。

    • Jason Brownlee 2016年12月3日 上午8:27 #

      感谢您的反馈。确实,Leo,在讨论机器学习时,时间序列被忽视了。它被大多数书籍排除在外。

  3. Saeed Ghasemi 2016年12月4日 上午3:03 #

    感谢您的这篇帖子。阅读起来很有趣。

    LSTM可以用于时间序列预测吗?相对于其他神经元模型和架构(例如RNN、CNN),可以预期什么样的性能?

    • Jason Brownlee 2016年12月4日 上午5:35 #

      是的,LSTM可以用于时间序列,但它们的配置可能很棘手。

      我计划很快对时间序列中的LSTM与CNN和其他方法进行一些大型研究。

      • Hemant Yadav 2018年3月12日 上午4:24 #

        您是否对时间序列中的LSTMs与CNN和其他方法做过任何研究?请告诉我……我非常期待。

        • Jason Brownlee 2018年3月12日 上午6:33 #

          是的,我发现LSTMs在时间序列预测方面表现不佳。

          • Christopher 2018年9月17日 下午9:11 #

            嗨 Jason,
            非常棒的帖子!
            我是您博客的新访客,刚看到这篇帖子。由于此回复已有2年历史,请问您是否仍然坚持这一观点:我发现LSTMs在时间序列预测方面表现不佳?

            我之所以问这个问题,是因为我从事无线通信行业。我们的团队希望探索诸如预测基站(连接您的手机到后台的网络设备)的用户数量,或预测基站中的兆字节数据量等主题。

            到目前为止,LSTM是我们最喜欢的候选者。看到您的这个回复,我很好奇我们团队是否走在正确的轨道上。

            期待您的回复。

          • Jason Brownlee 2018年9月18日 上午6:13 #

            是的。普通的LSTMs在时间序列预测方面表现不佳。我有很多结果可以证明这一点。更多内容在这里:
            https://machinelearning.org.cn/suitability-long-short-term-memory-networks-time-series-forecasting/

            CNN通常更好。CNN+LSTM更好,而ConvLSTMs非常好。我在这里介绍这些:
            https://machinelearning.org.cn/deep-learning-for-time-series-forecasting/

          • Yvette 2018年12月30日 下午12:24 #

            嗨,Jason,
            我也是您博客的新访客。首先,我要感谢您的分享。我想问您一个问题,即CNN/RNN/LSTM是否可以用于轨迹预测(尤其是移动目标)?

            最后,我们可以将轨迹视为时间序列吗?

            期待您的回复。

          • Jason Brownlee 2018年12月31日 上午6:04 #

            我想不出有什么理由不行。也许可以尝试以时间序列的框架对问题进行建模,看看效果如何?

          • Feroz Kazi 2021年2月25日 下午7:15 #

            我同意Jason的观点,LSTM本质上总是在相同的数据集、相同的层/dropout等条件下给出不同的结果(有时甚至完全不可接受!!!)。我用一小组8个数字(n*2模式)和一大组550周的黄金历史价格测试了LSTM……每次运行LSTM,我都得到不同的结果!!!
            后来,我发现双向LSTM比其他所有LSTM变体都要好得多。

          • Jason Brownlee 2021年2月26日 上午4:57 #

            感谢分享!

  4. Kleyn Guerreiro 2016年12月7日 上午12:07 #

    如今,我发现MARS(实际上是R中的“earth”)是预测时间序列数据最强大的算法。

    • Jason Brownlee 2016年12月7日 上午8:56 #

      感谢你的建议,Kleyn。我能理解它为何强大,这是一个很棒的方法。

  5. Anthony Bailey 2016年12月16日 下午11:48 #

    嗨,Jason,
    我一直在考虑是专攻时间序列还是机器学习。您认为对于对这两个领域之一感兴趣的研究人员来说,哪个更有前景?
    Anthony

    • Jason Brownlee 2016年12月17日 上午11:12 #

      抱歉,我不再接触学术界了。

      在工业界,有很多问题机器学习可以提供帮助,其中一些问题是时间序列。

  6. Johno 2016年12月29日 下午10:39 #

    Jason,这篇好文章。您认为时间序列数据分析在工业界与机器学习问题一样重要吗?

    • Jason Brownlee 2016年12月30日 上午5:50 #

      是的,我认为是这样,Johno。时间序列存在许多问题,不幸的是,许多机器学习从业者并不了解ARIMA等标准方法。

  7. Raphael 2017年1月23日 上午9:25 #

    您有时间序列分析的入门教程吗?

  8. Pooja Parmar 2017年2月17日 下午5:19 #

    嗨,Jason,

    你能告诉我从哪里可以找到像“预测城市每日汽油平均价格”这样的实验吗?

    • Jason Brownlee 2017年2月18日 上午8:35 #

      嗨,Pooja,我没有看到这个具体的例子,

      您可以收集数据并创建模型,或许可以从一个城市和一年的数据开始,然后逐步扩展。

  9. Ranjana 2017年3月6日 下午11:26 #

    你好 Jason,

    如何利用历史数据预测汽油价格的上涨/下跌,并结合机器学习中的预测方法?

  10. Kalongo 2017年3月16日 下午7:35 #

    嗨 Jason

    我想做一项研究,比较时间序列模型和机器学习模型在预测方面的优劣。

    您能给我一些关于如何进行这项研究的建议吗?

  11. Thabet 2017年5月5日 上午11:36 #

    你好 Jason,
    您有关于keras中多输入LSTM的教程吗?

  12. Nick 2017年5月9日 下午11:57 #

    你好 Jason,

    我是个新手,如果问题可能很傻,请原谅。

    如果我有一组带有相关值的时间序列数据
    例如:时间戳,值

    其中值以及某些值之间的时间等于一个事件,是否有可能利用这些知识来训练系统,以便当我针对未处理的数据集运行模型时,可以检测到第二个数据集中事件的发生?

    希望我的胡言乱语能理解。

    谢谢你
    Nick

    • Jason Brownlee 2017年5月10日 上午8:50 #

      如果我理解您的问题描述,那么是的,我相信可以。

      您需要准备您的历史数据,其中包含清晰的事件/非事件示例。

  13. Nick 2017年5月10日 下午5:24 #

    谢谢Jason,我需要使用分析而不是预测吗?

    致敬
    Nick

    • Jason Brownlee 2017年5月11日 上午8:31 #

      如果你愿意,你可以把“更好地理解你的问题”称为分析。

  14. Dhineshkumar 2017年6月7日 下午5:37 #

    我只想分享一个我发现有用的时间序列分析链接。

    http://www.itl.nist.gov/div898/handbook/pmc/section4/pmc4.htm

  15. tom 2017年6月8日 下午1:20 #

    你好,Jason
    我读了你的帖子“什么是时间序列预测?”。我之前对时间序列预测知之甚少。所以,读完这篇帖子后我感到困惑。我想知道时间序列预测与其他机器学习问题(如回归、分类)有什么区别?

    • Jason Brownlee 2017年6月9日 上午6:17 #

      添加了一个时间维度,它对观测值之间施加了顺序依赖。

      在问题的分类/回归公式中,必须尊重这种依赖性。

      • tom 2017年6月9日 上午11:36 #

        好的,我明白了。我总能从您那里获得启发,再次感谢,Jason!

  16. Oliver 2017年9月1日 上午6:06 #

    嗨,Jason,

    在阅读并完成了您的一些教程后,我不确定对已知时间序列数据进行分类的最有前景的策略是什么。我有多特征时间序列数据被标记或分类(2种可能的状态)。
    当获得新时间步的数据时,我想分类它是状态一还是状态二。我的第一个想法是使用您在pima-diabetes-tutorial中展示的解决方案,因为它对我来说更像是一个分类问题。
    在继续阅读不同的教程后,我发现了很多关于时间序列预测/预报以及时间序列中时间范围分析的资料——但我的重点不是展望未来。
    我认为我的问题介于两者之间,不是吗?有没有您认为最适合这个问题的教程,或者这个问题的解决方案是否包含在预测时间序列数据的不同方法中?

    此致,
    Oliver。

    • Jason Brownlee 2017年9月1日 上午6:51 #

      我建议将其建模为序列分类,就像将电影评论中的词语序列分类为积极或消极一样。

      尝试MLP和LSTM。

  17. Tom 2017年10月18日 上午10:59 #

    Jason - 在这本书中,您在任何章节中都使用了LSTM进行时间序列预测吗?

    我必须使用神经网络进行时间序列预测。这本书会有帮助吗?

    • Jason Brownlee 2017年10月18日 下午3:52 #

      我的时间序列书籍侧重于AR和ARIMA等线性模型。不涉及LSTM。

  18. Rohith 2017年11月9日 下午4:28 #

    你好 Jason,

    我是一名供应链主管,我的任务是降低多个仓库的库存水平。到目前为止,我只是根据前几个月的平均销售额来预测下个月的销售额。我以此数据作为维持库存水平的基础,但这种方法被证明是不准确的。哪种时间序列预测方法最适合预测销售额?您能提供实施此方法的步骤吗?

  19. Anfell 2017年12月15日 上午1:24 #

    您好 Jason,我正在做一个预测特定锦标赛的项目。我拥有的数据包括日期(比赛日期)、主队(常量数据,因为我正在预测一个特定球队,暂且称之为“teamA”)、客队(“teamA”的对手)、获胜(teamA的获胜状态,1表示获胜,0表示失败)。数据存在漏洞,因为“teamA”并非总是参加所有锦标赛。这仍然是有效的时间序列数据吗?或者有没有更好的预测方法?

  20. Heron 2018年1月18日 下午5:29 #

    你好 Jason,我有些问题要问你。如果我用孕妇体重序列来预测胎儿体重,孕妇体重属于时间序列,这些时间序列问题属于哪种时间序列问题呢?谢谢!

  21. Watt Simon 2018年1月29日 下午6:36 #

    你好 Jason,我正在做一个分析肌电图信号的项目。我想问一下,如果我想预测肌电图信号,应该使用哪种工具(NAR或LSTM或其他)?深度神经网络的性能是否优于普通神经网络?谢谢

    • Jason Brownlee 2018年1月30日 上午9:48 #

      也许可以从MLP开始,然后将结果与LSTM进行比较。

  22. Judson Smith 2018年4月27日 上午7:49 #

    好文!

    Judson Smith
    创始人/首席执行官
    Acclaimed Labs – 全自动化数据预测

  23. saarbaan samad 2018年6月1日 下午10:04 #

    嗨,先生,
    我有一些年度时间序列数据,用于预测未来几年的数值,我正在使用神经网络模型。我是这个领域的新手。
    但我的问题是如何训练数据,例如如何将其转换为滞后数据,以准备应用模型。我将非常感谢您的宝贵指导。

  24. Ben 2018年8月15日 下午8:46 #

    嗨,Jason,

    感谢这篇精彩的帖子,我正在做一个项目,我不确定是否需要时间序列分析——我正在预测客户的购买可能性,目前这个预测是基于前一天的数据“现在”进行的——我想通过预测3天或10天内的这个值来进一步完善它——通常会采用什么方法来做到这一点?这是否使其成为时间序列分析,还是不是?

    感谢您的建议,
    Ben

    • Jason Brownlee 2018年8月16日 上午6:04 #

      也许可以集思广益几种不同的问题框架方式,然后对每种方式进行原型设计,以发现哪种方式最适合您的特定数据集?

  25. Michael 2018年9月12日 上午9:17 #

    如果有人感兴趣——我们刚刚推出了一个利用深度学习的自动化时间序列预测平台。您可以在这里了解该平台:https://www.oneclick.ai/solutions/time-series/,如果感兴趣,可以注册一个免费测试账户来试用。

  26. Candy 2019年2月5日 上午8:31 #

    嗨,Jason,

    感谢这篇信息量很大的博客。

    我最近开始着手解决一个问题,它从建筑物中的传感器收集一些环境变量(温度、湿度、噪声、二氧化碳),并尝试通过与其他环境变量共同建模来预测占用率(人数)。
    基于所有环境变量的值和人数,我正在检测是否发生任何异常。

    我也将这个问题视为时间序列预测的一个例子。您能澄清一下吗?

    谢谢

  27. Rajkumar 2019年3月7日 下午8:59 #

    嗨,Jason,

    我需要用R语言和机器学习进行一年的销售预测。哪种方法是最好的?我拥有按区域、客户和材料等不同维度划分的月度销售数据。我是应该将整个数据传递给模型进行训练,还是应该传递维度组合?
    请给我建议。

  28. Nate 2019年4月22日 下午3:59 #

    我被要求按月预测某个地理区域内商品的用户消费量。我没有机器学习背景。您认为这种未来预测与股市预测有足够大的区别,使得使用机器学习成为一种合理的方法吗?

    • Jason Brownlee 2019年4月23日 上午7:51 #

      嗨,Nate,我这里有一些建议,可能会有所帮助。
      https://machinelearning.org.cn/faq/single-faq/how-to-develop-forecast-models-for-multiple-sites

      这可能是一个很好的入门点。
      https://machinelearning.org.cn/start-here/#timeseries

      • Nate 2019年4月23日 上午8:47 #

        好吧,我会尝试的,但我真的看不出预测商品消费与预测股市之间有什么根本区别。我之所以提出这一点,是因为您自己觉得预测股市不是一个值得投入时间的事情,而我也不想如果只是白费力气就接一份新工作。我想您链接这些东西的事实意味着您认为这个问题是有价值的?

        • Jason Brownlee 2019年4月23日 下午2:29 #

          我不知道您的数据集是否可预测,但如果您拟合一些线性模型,并且它们表现优于朴素/持久性模型,您就可以很快发现。

          例如,您证明了某事是可预测的,但如果您未能击败朴素预测,您并没有证明反向,即它是不可预测的。它只是尚未可预测,或尚未被证明是不可预测的。

  29. thiagu 2019年5月11日 上午10:40 #

    嗨,杰森,
    我的问题是时间序列预测(问题)我们可以应用预测模型。如果我的问题是时间序列分类,我们可以应用预测模型吗?这可能吗?

  30. thiagu 2019年5月12日 上午9:58 #

    非常感谢杰森……有相关的链接吗?

  31. Luis Fabiano 2019年8月15日 下午6:05 #

    干得漂亮,杰森!
    总是简单明了,直截了当。
    我想知道您是否有关于趋势估计的资料。
    诚挚的问候,
    路易斯·法比亚诺

  32. Asha 2019年8月29日 下午4:29 #

    嗨,Jason,
    感谢博客。
    我想找出电信领域“客户的预期生命周期”。
    哪些特征有助于我预测。
    我拥有所有交易数据(语音、短信、优惠券、数据)以及人口统计详细信息和审计追踪详细信息。

    您能告诉我什么日期特征有助于我找出客户的“预期生命周期”吗?这将有助于我计算“CLV(客户生命周期价值)”。

  33. teimoor 2019年9月17日 下午7:53 #

    你能发一篇关于心电图的帖子吗?它们也算时间序列吗?

  34. Surinder 2019年9月18日 上午2:59 #

    嗨,Jason,

    感谢博客。
    是否可以用一年的数据进行预测?

  35. Suman 2019年9月23日 上午2:37 #

    嗨 Jason

    我发现你的博客非常有信息量,它帮助我学习这个主题。

    对于计算机/网络设备故障预测,哪种模型最适合?

    谢谢。

  36. Revathi 2019年9月24日 下午7:09 #

    你好 jason,

    首先,感谢您为这个博客付出的巨大努力。它们非常有帮助且信息量大。我有一个关于现金余额预测的问题。

    假设我有一家银行的数据,其中包含客户过去3年的每日收盘账户余额。考虑到arima、指数平滑、prophet、tbats或神经网络等多种模型,您会推荐哪种模型来预测客户的现金余额?

    另外,如果我们确实使用神经网络进行建模,它们在理解输出方面有多直观?

    非常期待您的建议!谢谢!

    • Jason Brownlee 2019年9月25日 上午5:56 #

      谢谢你的支持。

      我建议测试一系列不同的问题框架和一套不同的建模算法,以发现哪种方法最适合您的特定数据集。

      当模型技能成为焦点时,您将不得不放弃模型理解。

  37. Lyla 2020年1月4日 下午7:03 #

    首先,感谢这篇精彩的帖子!这是我发现的关于时间序列最好的资源之一。博客中提供了非常有价值的信息。期待阅读下一篇帖子。非常感谢

  38. najeh 2020年1月20日 下午10:19 #

    经典时间序列预测方法是否不再能稳健地近似时间序列数据中的输入和输出之间的关系?

    • Jason Brownlee 2020年1月21日 上午7:12 #

      不。这实际上取决于数据集。在大多数单变量时间序列数据集上,经典方法优于大多数“ML/DL”方法。

      • najeh 2020年1月21日 下午11:39 #

        那么,使用深度学习方法的目标是什么?

        • Jason Brownlee 2020年1月22日 上午6:25 #

          深度学习方法在经典方法失效或难以使用/配置的问题上表现良好。

          例如,复杂的单变量数据。多变量数据,长多步预测,异常检测等。

          没有一种最好的算法适用于所有问题。

      • Rajesh Swarnkar 2020年1月30日 下午11:01 #

        没错,我也有同样的问题。有人建议使用基于ARIMA的统计模型。赤池信息准则惩罚复杂模型(LSTM),但有论文反驳。

        https://www.researchgate.net/publication/330477082_A_Comparison_of_ARIMA_and_LSTM_in_Forecasting_Time_Series

        我用过三次指数平滑和RNN,RNN表现更好。我还没应用SARIMAX。我会看看。

        • Jason Brownlee 2020年1月31日 上午7:51 #

          尝试网格搜索ETS和SARIMAX。确认LSTM和线性模型的比较是等效的。

  39. Rajesh Swarnkar 2020年1月30日 下午10:54 #

    有人建议我,基于ARIMA的模型(SARIMAX等)比LSTM/RNN表现更好?

    您的经验如何?

  40. ashima 2020年3月2日 下午11:27 #

    嗨,为了训练一个时间序列预测模型,是否必须先将时间等距化,然后再进行训练?

  41. ravindra 2020年3月30日 下午11:21 #

    嗨,Jason,
    很高兴认识您。

    我希望开发一个模型来预测新冠病毒-19的传播和死亡人数。
    请指导我哪种模型最适合这个问题。

    许多国家都实施了封锁。请在您建议我时考虑这些外部措施。

    • Jason Brownlee 2020年3月31日 上午8:12 #

      您可以拟合一个指数函数来预测病例数。

      在 Excel 中使用 GROWTH 函数。

  42. Stevie G 2020年4月8日 下午10:45 #

    嗨,杰森,
    你能帮我这个吗,如何处理带有变点的时间序列数据。
    在这种情况下,我们应该如何处理模型或方法?

    谢谢你,

    • Jason Brownlee 2020年4月9日 上午8:03 #

      也许可以尝试一系列不同的模型,并发现哪种模型最适合您的特定数据集?

  43. Akshay 2020年4月10日 下午12:57 #

    嗨,Jason,

    在将数据输入模型之前,我们是否应该去除趋势和季节性效应?
    在对序列进行差分之后,我们是否应该提供差分阶数,并在ARIMA的d中使用它,或者只是输入使其平稳的数字而不进行差分?
    SARIMA和ARIMA之间有什么区别?

    您能帮我解决这些问题吗?

    • Jason Brownlee 2020年4月10日 下午1:28 #

      当使用 SARIMA 时,不需要,它会替您完成。当使用 ARIMA 时,是的,它不会替您完成。

  44. Winston 2020年4月22日 下午11:07 #

    Jason博士,

    沃尔玛 Kaggle 问题是否属于时间序列?如果是,为什么测试数据中也包含预测时间尺度的变量,难道我们不能用回归来处理这些变量吗?

    您对此有何看法,请解答我的疑问。

  45. Nana 2020年4月26日 上午7:43 #

    你好,Jason
    我想要预测一家在线营销公司的在线营销增长。
    请问您建议我使用哪个时间序列模块?

  46. farid 2020年6月8日 上午5:50 #

    嗨……我是一名应届毕业生……我想请问这里有没有时间序列预测方面的专家……在预测中,时间变量可以作为输入变量吗?有什么推荐的书籍或文章我可以参考吗?请评论……非常感谢????

  47. Raghavendra Kote 2020年6月9日 下午8:43 #

    如果我们有过去的订单(每月很少或0订单)和使用情况(每月)——在不同的数据集中,我如何预测新的订单量?机器学习或ANN能在这里提供帮助吗?还是其他什么?

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

      也许可以尝试原型化一些模型,并发现哪些可以可靠预测。

  48. Virginie 2020年6月11日 下午11:43 #

    您好,我是一名学生,对时间序列分析是新手,您的解释对我帮助很大。您对预测1到2年内的经济增长会使用哪种模型有任何想法吗?我找到了很多关于“现时预测”的文章,但这并不是我需要的。感谢您的帮助。

  49. Farshad 2020年9月30日 上午3:12 #

    嗨,Jason,

    这篇帖子解释得非常好。我脑子里有一个问题一直萦绕不去。这个问题是,仅仅因为事件随着时间重复发生,是否每个基于时间的事件都适合进行时间序列分析/预测?事件背后有很多因素(但我们不知道或只知道一部分)。仅基于事件结果进行预测而不考虑可能的因素是否明智?是否有可能获得一个好的模型?

    此致,
    法沙德

    • Jason Brownlee 2020年9月30日 上午6:40 #

      谢谢!

      是的,没错。我们正在近似生成一系列事件的“系统”。它可能永远不会像真正的系统本身那么好,但我们已经尽力了。

  50. Hitarthi Vora 2020年10月27日 下午7:01 #

    我太喜欢这个网站了。分享的内容很棒,而且很容易理解。

  51. AF 2020年12月5日 下午4:24 #

    嗨,如果我们有100种产品,每天只卖出其中20种,您会推荐哪种方法来准确预测我们明天最有可能卖出的20种产品?

    我们应该买您的哪本书来学习呢?

    附言:我们读过的文章只预测1件商品

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

      我建议您测试一系列不同的算法,以发现哪种算法最适合您的数据集。

      也许您可以将其建模为每个产品的预测任务?也许跨产品?也许可以尝试将其建模为分类或回归,看看哪种效果更好。

      这个过程可能会帮助您入门:
      https://machinelearning.org.cn/start-here/#process

  52. Awais 2020年12月7日 晚上9:19 #

    我们能否将时间序列预测应用于我们希望预测固定类别(如0、1、2或3)的数据?

    另一点需要注意的是,所有特征都会突然变化,例如,特征“X1”在时间T1时可能是100,而在时间T2时可能变为0。

    • Jason Brownlee 2020年12月8日 上午7:43 #

      是的,那叫做时间序列分类。

      数据的复杂性可能意味着需要更高级的方法,或者问题本身是不可预测的。

  53. Sai kumar Kella 2020年12月15日 晚上10:31 #

    你好,Jason。
    也许这很傻。我们可以将包含时间分量的数据集视为时间序列数据集吗?我有一个从2012年到2017年收集的数据集,但缺少了一些月份的观测数据。那么我可以将其视为时间序列数据集吗?

    • Jason Brownlee 2020年12月16日 上午7:50 #

      当然,你可以以任何你喜欢的方式构建问题。重要的是你的预测具有良好的准确性。

  54. Muhammad 2020年12月27日 晚上11:34 #

    感谢分享宝贵的内容。尊敬的Jason!如果数据集中只有月份属性,我们可以将欺诈检测添加为时间序列数据集吗?

    • Jason Brownlee 2020年12月28日 上午5:59 #

      或许可以,这可能是一个时间序列分类任务,例如,在输入序列中是否预测到欺诈事件。

  55. Iris 2020年12月29日 上午11:49 #

    你好 Jason,

    我是一名对游戏数据分析非常感兴趣的学生。最近我正在寻找一个模型来预测游戏中(比如星际争霸)某个队伍的实时胜率。我正在考虑使用包含大量游戏的数据(每个游戏都是一个时间序列)来预测未来的游戏。这是我第一次处理时间序列问题,但大多数在线教程都只关注一个时间序列,您对如何处理多时间序列问题有什么想法吗?

    非常感谢您的帮助。

  56. Peyman 2021年1月15日 上午6:14 #

    你好 Jason,
    非常感谢这些宝贵的内容。我想知道我们如何将CNN应用于时空数据集,或者还有哪些其他技术适用于时空数据集?

  57. Theodore 2021年5月18日 上午10:32 #

    您好,我正在尝试在Python中实现一个预测性维护系统,用于“描述”当前状况并“预测”工业4.0环境中机器的未来状态(例如正常警告或临界状态)。时间序列预测是我正在寻找的东西吗?

    • Jason Brownlee 2021年5月19日 上午6:29 #

      是的,这可能是一个时间序列分类任务,例如,系统在此时间步的状态是什么,或者此时间段内是否存在问题。

  58. Liliana 2021年5月24日 上午10:08 #

    嗨 Jason

    我想请您告诉我,有哪些算法可以创建多变量时间序列的预测模型,类型是多并行输入和多步输出,但能在实时运行?

    感谢您的关注。

    • Jason Brownlee 2021年5月25日 上午6:05 #

      也许可以测试一套算法,并发现哪种算法最适合你的特定数据集。

      • Liliana 2021年5月25日 上午9:15 #

        杰森,我不知道我是否没有把问题表达清楚,因为我不理解你的回答。那么,实时预测算法不是一个特定的群体,而只是任何一个能实时处理我的数据的算法吗?

        感谢您的关注

        • Jason Brownlee 2021年5月26日 上午5:43 #

          模型是在历史数据上拟合的,然后可以用于“实时”对新数据进行预测。

          如果你指的是“实时”计算系统(RTC),那么我帮不了你。

          • Liliana 2021年5月26日 上午10:24 #

            事实上,我指的是预测模型,而不是实时计算系统(RTC)。我想现在你已经解除了我的疑惑,因为我曾经认为有一些特殊的算法组可以用于实时预测。现在我想我明白了,任何算法都可以拟合到历史数据集上,并用于进行实时预测,当然,我想这取决于同一模型的再训练时间数据。我说的对吗?

            谢谢。

          • Jason Brownlee 2021年5月27日 上午5:32 #

            正确。

  59. Liliana 2021年5月27日 上午8:01 #

    好的,谢谢。

  60. Abdullah 2021年10月11日 晚上6:18 #

    嗨,Jason,

    您的网站真的很有益,它是目前最好的机器学习网站之一。
    我有一个关于多变量时间序列数据的问题,我们可以通过忽略时间方面将多变量时间序列数据视为记录数据吗?我想进行回归,并根据每个时间步中其他特征的值来预测其中一个特征的值。

    可能存在目标特征的值受前一个时间步中其他特征的值影响而非当前时间步的值影响的问题。这种情况可能发生吗?

    • Adrian Tam
      Adrian Tam 2021年10月13日 上午7:22 #

      是的,你可以那样做。如果你认为时间在这里不应该起作用,那么你应该这样做。

  61. hossein 2021年11月24日 下午2:00 #

    嗨,我的朋友
    这对我很有用
    非常感谢。

    • Adrian Tam
      Adrian Tam 2021年11月25日 上午3:33 #

      谢谢

  62. Amir 2022年7月12日 晚上7:13 #

    谢谢。如果我想用概率分布输出(例如正态分布)来预测时间序列数据集,应该选择什么模型?

  63. Saad 2023年1月7日 下午3:27 #

    你好,

    感谢这篇精彩的博客。我有一个关于空气质量指数(AQI)的数据集,其中特征是空气污染物,如O3、PM2.5、PM10等。我正在预测特征值,并根据这些预测值计算未来的AQI。我正在使用LSTM(RNN概念)模型进行预测。
    我的训练和验证结果都很好,但当我进行预测时,模型行为非常不可预测。在最初的几个样本中,它预测了新值,但在几个样本之后,它就变成了一条直线(相同的值)。

    有什么建议吗?另外,对于AQI预测这个时间序列预测问题,建议使用哪种模型或LSTM的混合模型效果更好?

  64. Loide Shaango 2023年2月21日 晚上9:13 #

    随机性和因果关系是时间序列预测的组成部分吗?

发表回复

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