算法金 | 时间序列预测真的需要深度学习模型吗?是的,我需要。不,你不需要?

· 浏览次数 : 7

小编点评

本文探讨了时间序列预测在不同领域的应用,分析了传统与深度学习方法在时间序列预测任务中的表现,并详细讨论了GBRT模型在时间序列预测中的优势和挑战。 **1. 时间序列预测的重要性** 时间序列预测在多个领域具有广泛应用,如电力、交通和空气质量等。传统方法如MA、VAR和ARIMA在处理复杂数据时存在局限性,而深度学习方法如LSTM、DARNN、DeepGlo、TFT和DeepAR在多个预测任务中展现出强大的性能。 **2. 传统时间序列预测模型** 传统时间序列预测模型包括MA、VAR和ARIMA,它们在处理简单数据时表现良好,但在处理复杂非线性关系和多变量交互效应时存在不足。 **3. 深度学习模型** 深度学习模型如LSTM、DARNN、DeepGlo、TFT和DeepAR通过自动学习数据中的复杂模式和特征,在多个预测任务中表现出色。然而,这些模型通常需要大量的数据和计算资源。 **4. GBRT模型的对比研究** 研究通过对GBRT模型进行特征设计和结构调整,与深度学习模型进行了公平比较。结果表明,在多个数据集上,GBRT模型的表现超过了所有评估的深度神经网络模型。 **5. GBRT模型的优势** GBRT模型具有解释性高、计算效率高、特征工程能力强和灵活性高等优势。这些优势使得GBRT模型在时间序列预测任务中具有竞争力。 **6. 特征工程与损失函数的重要性** 特征工程和损失函数在机器学习中至关重要。合理的特征设计和损失函数选择能够显著提升模型性能。本文的研究表明,GBRT模型在特征工程和损失函数的选择上展现了极高的灵活性和适应性。 **7. 模型架构的创新** 模型架构的创新是提升机器学习性能的关键。然而,创新伴随着一定的风险,需要仔细权衡。本文的研究发现,当特征工程和损失函数设置得当,架构创新带来的提升有限。 **8. 多输出预测的局限性** 多输出预测方法存在局限性,如无法充分适应每个时间序列的独特性。通过引入分层模型结构和改进措施,可以提升多输出预测模型的性能。 **9. 实验结果** 实验结果显示,GBRT模型在单变量和多变量时间序列预测中均表现出色,尤其是在有协变量的情况下,优势更加明显。 综上所述,GBRT模型在时间序列预测任务中具有竞争力,尤其适合处理具有复杂关系的数据。通过合理的特征工程和损失函数选择,以及细心的特征设计和参数调整,GBRT模型能够发挥出最大的潜力。

正文


大侠幸会,在下全网同名「算法金」 0 基础转 AI 上岸,多个算法赛 Top 「日更万日,让更多人享受智能乐趣」

参考 论文:https://arxiv.org/abs/2101.02118

更多内容,见微*公号往期文章:

审稿人:拜托,请把模型时间序列去趋势!!

使用 Python 快速上手 LSTM 模型预测时间序列

1. 时间序列预测的重要性

时间序列预测,这玩意儿在数据分析界可是个香饽饽,尤其在电力、交通、空气质量这些领域里,预测得准,资源分配更合理,还能让相关部门提前做好准备。但深度学习这小子横空出世,开始抢传统统计学方法的风头。那么问题来了,时间序列预测非得用深度学习吗?咱们今天就来掰扯掰扯。

2. 传统时间序列预测模型

2.1 滚动平均(Moving Average, MA)

滚动平均,这招简单粗暴,就是把一段时间的数据一平均,把那些随机的波动给抹平,让长期趋势露个脸。这招对付那些没啥花头的时间序列挺管用。

2.2 向量自回归(Vector Autoregression, VAR)

VAR模型,这货是个多面手,能把多个时间序列的过去值拿来预测未来,把变量间的相互勾搭给看个清楚。这在经济学和金融领域里头,预测经济指标的相互作用,玩得风生水起。

2.3 自回归综合移动平均(AutoRegressive Integrated Moving Average, ARIMA)

ARIMA模型,这家伙把自回归、差分、移动平均三招合一,专门对付时间序列里的趋势和季节性。得先把序列给整平稳了,这样预测起来才靠谱。这模型在经济预测、销售预测、气象预测这些领域里头,玩得挺溜。

传统时间序列预测模型优点不少:

  1. 理论基础扎实:这些模型都是统计学出身,数学表达式和参数估计方法都明明白白。
  2. 解释性强:模型参数都有个说法,分析起来容易。
  3. 计算效率高:计算起来简单,处理大数据也不费劲。

不过,这些老方法在处理复杂的非线性关系和多变量交互效应时,就显得有点力不从心了。数据量大了,复杂度高了,深度学习方法就有机会上位了。

\

3. 深度学习模型

3.1 长短期记忆网络(Long Short-Term Memory, LSTM)

LSTM,这货是递归神经网络的升级版,门控机制一加,梯度消失问题就解决了。这货记性好,长时间序列里的信息记得牢,预测起来自然给力。

3.2 基于注意力的双阶段RNN(Dual-stage Attention-based Recurrent Neural Network, DARNN)

DARNN,这货加上了注意力机制,能挑出时间序列里的重要特征,预测精度就上去了。先提取特征,再用注意力机制和解码器预测,这招在不少预测任务里都挺灵。

3.3 Deep Global Local Forecaster (DeepGlo)

DeepGlo,这货把时间序列分成全局趋势和局部细节,分别建模,最后合并预测结果。这样不同尺度的特征都能照顾到,预测的准确性自然就高了。

3.4 时空融合转化器(Temporal Fusion Transformer, TFT)

TFT,这货用多头注意力机制和序列到序列的结构,处理时间序列的复杂关系。短期长期依赖关系都能搞定,处理复杂时空特征的数据,表现杠杠的。

3.5 DeepAR

DeepAR,这货基于自回归思想,序列到序列的建模方式,用过去的时间序列数据预测未来。这货能处理大规模高维数据,预测时还能考虑多个时间序列的相互影响,精度自然不低。

深度学习模型虽然在时间序列预测上挺能打,但复杂度高,计算成本也高,对数据量和计算资源要求也不小。所以选模型的时候,得综合考虑应用场景、数据特点和计算资源,挑最合适的。

4. GBRT模型的对比研究

4.1 研究背景

深度学习虽然火,但传统的机器学习方法,比如梯度提升回归树(GBRT),在实际应用中也挺能打。GBRT通过多个弱学习器组合,提升预测性能。研究人员把GBRT和深度学习模型比了比,看看谁更牛。

4.2 研究方法

这项研究把时间序列预测任务变成了窗口回归问题,对GBRT模型进行了特征设计和结构调整。就是把时间序列数据分成固定长度的窗口,每个窗口的数据用来预测下一个时间点的值。所有模型都用同样的数据集和评估指标,公平比较。

4.3 研究数据集

研究用了多个公开的时间序列数据集,涵盖能源消耗、交通流量、空气质量等领域,数据时间跨度和频率各异,全面评估模型表现。

4.4 评估指标

评估模型预测性能,用了均方误差(MSE)、均绝对误差(MAE)和对称平均绝对百分比误差(sMAPE)这些常用指标,全面衡量预测误差和稳定性。

研究结果,GBRT在多个数据集上的表现超过了所有评估的深度神经网络(DNN)模型。这说明,在时间序列预测任务中,传统机器学习方法有时候还挺能打的。

5. GBRT模型的优势

5.1 解释性高

GBRT模型,就像个明白事理的老江湖,每个决策点都清清楚楚,让人一看就懂。跟那些深不可测的深度学习模型比起来,它更接地气,容易让人信服。

5.2 计算效率高

说到计算效率,GBRT模型就像是轻功了得的侠客,行动迅速,不拖泥带水。深度学习模型可能还在慢吞吞地翻山越岭,它已经一溜烟跑到了目的地。

5.3 特征工程能力强

GBRT模型在特征工程上,就像个手艺高超的铁匠,能将普通的铁块锻造成锋利的宝剑。通过巧妙设计特征,它能够捕捉数据中的关键信息,让预测更加精准。

5.4 灵活性高

GBRT模型的灵活性,就像个能屈能伸的武林高手,无论面对什么样的对手,都能随机应变,调整自己的策略。通过调整参数,它能够适应各种不同的数据集和预测任务。

虽然GBRT模型在时间序列预测中表现出色,但它的威力还是得靠精心的特征工程和细致的参数调整来发挥。在实际应用中,得像打磨宝剑一样,细心调校,才能让它发挥出最大的威力。

6. 特征工程与损失函数的重要性

6.1 特征工程

特征工程,就像是给武林高手挑选武器,选对了,战斗力倍增。在时间序列预测中,通过提取时间、滚动统计、滞后等特征,能让模型更加敏锐地捕捉数据的脉动。

6.2 损失函数

损失函数,就像是武林比武的规则,决定了比试的胜负。选择合适的损失函数,能让模型在训练中更加精准地找到自己的不足,从而不断进步。

通过实验,我们发现GBRT模型在特征工程和损失函数的选择上,展现出了极高的灵活性和适应性。就像武林高手在比武中不断调整自己的招式,GBRT模型也能通过精细的特征设计和合理的损失函数选择,显著提升自己的预测性能。

7. 模型架构的创新

7.1 架构创新的难点

模型架构的创新,就像是武林中的绝世武功,听起来很酷,但练起来却难如登天。新架构往往需要大量的实验和调优,而且复杂性可能会带来更高的计算成本和更长的训练时间。

7.2 成功的架构创新实例

尽管如此,还是有些架构创新,像是武林中的奇遇,让人眼前一亮。比如LSTM的门控机制,就像是突然领悟了一门高深的内功心法,让模型在处理长时间依赖关系时更加得心应手。

7.3 特征工程和损失函数的优先性

研究表明,当特征工程和损失函数设置得当,架构创新带来的提升其实有限。这就像是武林中的基本功,只有基本功扎实了,才能让后续的招式发挥出更大的威力。

7.4 创新带来的风险

模型架构的创新,也伴随着一定的风险。新架构的复杂性可能会导致训练过程中的不稳定性,增加过拟合的风险,同时还可能需要更多的数据和计算资源。在实践中,如何平衡创新带来的潜在收益和这些风险,是一个需要仔细权衡的问题。

8. 多输出预测的局限性

8.1 多输出预测的基本方法

在时间序列预测中,把预测器包装成支持多输出的MultiOutputRegressor,就像是一箭双雕,提高了预测效率,同时还能捕捉不同时间序列之间的相互依赖。

8.2 存在的局限性

但多输出预测也有它的局限性。由于所有输出都共享同一个模型结构和参数设置,这就像是用同一把钥匙开所有的锁,可能无法充分适应每个时间序列的独特性,导致预测精度下降。

8.3 改进建议

为了克服这些局限,可以考虑在模型中增加更强的约束,就像是给每个锁配上一把专属的钥匙。通过引入分层模型结构,在顶层捕捉不同时间序列的共同特征,在底层分别建模每个时间序列的特有特征。

8.4 实验验证

研究表明,通过引入这些改进措施,多输出预测模型在多个时间序列预测任务中取得了显著提升。这就像是武林中的高手,通过不断的修炼和创新,最终达到了新的境界。

9. 实验结果

9.1 单变量时间序列预测

在单变量时间序列预测任务中,GBRT模型就像是一匹黑马,无论是有协变量还是没有协变量,都展现出了优越的性能。特别是在没有协变量的情况下,通过合理的特征设计,GBRT模型能够有效捕捉时间序列中的趋势和波动,预测结果优于大多数深度学习模型。

9.2 多变量时间序列预测

在多变量时间序列预测任务中,GBRT模型与LSTNet、DeepAR、DeepState、TFT等深度学习模型相比,就像是武林中的一场较量,GBRT模型在大多数数据集上都取得了更高的预测精度。这主要归功于GBRT模型在特征工程和参数调整上的灵活性,使其能够更好地适应不同的数据特点和预测任务。

9.3 有协变量的预测

在有协变量的预测任务中,GBRT模型就像是得到了神助攻,通过合理利用协变量信息,能够进一步提升预测精度。例如,在能源消耗预测任务中,通过引入天气数据和历史用电量作为协变量,GBRT模型能够更准确地预测未来的能源需求。

9.4 结果分析

总体来看,实验结果验证了GBRT模型在时间序列预测中的竞争力。尽管深度学习模型在某些特定任务中表现出色,但GBRT模型通过合理的特征设计和参数调整,在大多数情况下能够取得更高的预测精度和稳定性。

[ 抱个拳,总个结 ]

  • 时间序列预测,在多个领域里头,传统方法和深度学习方法各有千秋。
  • 传统时间序列预测模型,像MA、VAR和ARIMA,理论基础扎实,计算效率高,但在处理复杂的非线性关系和多变量交互效应方面,就显得有点力不从心。
  • 深度学习模型,如LSTM、DARNN、DeepGlo、TFT和DeepAR,自动学习数据中的复杂模式和特征,在多个预测任务中展示出强大的性能。
  • GBRT模型,在实验中表现优越,尤其在适当配置的情况下,能够超过许多最先进的深度学习模型。
  • 特征工程和损失函数,在机器学习中至关重要,合理的特征设计和损失函数选择能够显著提升模型性能。
  • 模型架构的创新带来的提升有限,优先关注特征工程和损失函数的优化更为重要。
  • 多输出预测方法存在局限性,通过合理的改进措施可以提升其性能。
  • 实验结果显示,GBRT模型在单变量和多变量时间序列预测中均表现出色,特别是在有协变量的情况下,优势更加明显。

更多内容,见微*公号往期文章:

审稿人:拜托,请把模型时间序列去趋势!!

使用 Python 快速上手 LSTM 模型预测时间序列

- 科研为国分忧,创新与民造福 -

日更时间紧任务急,难免有疏漏之处,还请大侠海涵内容仅供学习交流之用,部分素材来自网络,侵联删

[ 算法金,碎碎念 ]

这两天不知道是哪位大侠的神力相助

这个点今天新增关注就破 500 了

订阅读者总数直指 20000 大关

简直不要太 6 了

全网同名,日更万日,让更多人享受智能乐趣

如果觉得内容有价值,烦请大侠多多 分享、在看、点赞,助力算法金又猛又持久、很黄很 BL 的日更下去;

同时邀请大侠 关注、星标 算法金,围观日更万日,助你功力大增、笑傲江湖

与算法金 | 时间序列预测真的需要深度学习模型吗?是的,我需要。不,你不需要?相似的内容:

算法金 | 时间序列预测真的需要深度学习模型吗?是的,我需要。不,你不需要?

大侠幸会,在下全网同名「算法金」 0 基础转 AI 上岸,多个算法赛 Top 「日更万日,让更多人享受智能乐趣」 参考 论文:https://arxiv.org/abs/2101.02118 更多内容,见微*公号往期文章: 审稿人:拜托,请把模型时间序列去趋势!! 使用 Python 快速上手 LS

算法金 | 秒懂 AI - 深度学习五大模型:RNN、CNN、Transformer、BERT、GPT 简介

1. RNN(Recurrent Neural Network) 时间轴 1986年,RNN 模型首次由 David Rumelhart 等人提出,旨在处理序列数据。 关键技术 循环结构 序列处理 长短时记忆网络(LSTM)和门控循环单元(GRU) 核心原理 RNN 通过循环结构让网络记住以前的输入

算法金 | 一文看懂人工智能、机器学习、深度学习是什么、有什么区别!

大侠幸会,在下全网同名[算法金] 0 基础转 AI 上岸,多个算法赛 Top [日更万日,让更多人享受智能乐趣] 引言:走进智能的世界 曾经,人工智能(AI)是科幻小说中的概念,与飞船、外星人并肩而立。 然而,随着时间的推移,AI不再仅仅是幻想的产物,它已经成为我们日常生活中不可或缺的一部分。 在A

算法金 | LSTM 原作者带队,一个强大的算法模型杀回来了

大侠幸会,在下全网同名「算法金」 0 基础转 AI 上岸,多个算法赛 Top 「日更万日,让更多人享受智能乐趣」 时间拉回 2019 年,有「计算机界诺贝尔奖」之称图灵奖获得者公布,深度学习三巨头:Yoshua Bengio、Geoffrey Hinton、Yann LeCun 众望所归。 图灵奖为

算法金 | 突破最强算法模型!!学会随机森林,你也能发表高水平SCI

大侠幸会,在下全网同名「算法金」 0 基础转 AI 上岸,多个算法赛 Top 「日更万日,让更多人享受智能乐趣」 就在去年下半年,如果你在 Google Scholar 上以 "Random Forest" 为关键词进行检索,并按时间排序: 你会看到这种方法被广泛应用于各个领域的研究,包括 GIS、

算法金 | 推导式、生成器、向量化、map、filter、reduce、itertools,再见 for 循环

大侠幸会,在下全网同名「算法金」 0 基础转 AI 上岸,多个算法赛 Top 「日更万日,让更多人享受智能乐趣」 不要轻易使用 For 循环 For 循环,老铁们在编程中经常用到的一个基本结构,特别是在处理列表、字典这类数据结构时。但是,这东西真的是个双刃剑。虽然看起来挺直白,一用就上手,但是,有时

算法金 | 只需十四步:从零开始掌握Python机器学习(附资源)

大侠幸会,在下全网同名「算法金」 0 基础转 AI 上岸,多个算法赛 Top 「日更万日,让更多人享受智能乐趣」 1. 引言 1.1 教程目的与读者定位 "启程"往往是最具挑战性的一步,特别是在面临众多选择时,人们往往难以做出决策。本教程旨在帮助那些几乎没有Python机器学习基础的初学者成长为知识

抖音面试:说说延迟任务的调度算法?

Netty 框架是以性能著称的框架,因此在它的框架中使用了大量提升性能的机制,例如 Netty 用于实现延迟队列的时间轮调度算法就是一个典型的例子。使用时间轮调度算法可以实现海量任务新增和取消任务的时间度为 O(1),那么什么是时间轮调度算法呢?接下来我们一起来看。 1.延迟任务实现 在 Netty

阿里面试:说说自适应限流?

限流想必大家都不陌生,它是一种控制资源访问速率的策略,用于保护系统免受过载和崩溃的风险。限流可以控制某个服务、接口或系统在一段时间内能够处理的请求或数据量,以防止系统资源耗尽、性能下降或服务不可用。 常见的限流策略有以下几种: 令牌桶算法:基于令牌桶的方式,限制每个单位时间内允许通过的请求量,请求量

C++算法之旅、09 力扣篇 | 常见面试笔试题(上)算法小白专用

算法学习笔记,记录容易忘记的知识点和难题。详解时空复杂度、50道常见面试笔试题,包括数组、单链表、栈、队列、字符串、哈希表、二叉树、递归、迭代、分治类型题目,均带思路与C++题解