首个可解释的深度学习时间序列预测模型-N-BEATS

首个可解释的深度学习时间序列预测模型-N-BEATS

原创 学AI必备的 人工智能学习指南 2024年08月17日 15:18 湖南

图片

图片

N-BEATS架构

在时间序列预测领域,长期以来 深度学习和Transformer模型 并未能显著超越其他模型的表现。

回顾 Makridakis M-竞赛,胜出方案往往依赖于统计模型

直至M4竞赛,冠军方案要么是纯粹的统计模型,要么是机器学习与统计模型的混合体。

而纯机器学习方法仅勉强超越竞赛基线,然而,这一局面在2020年由Oreshkin等人发表的一篇论文中得到了改变。

他们提出了 N-BEATS,一种前景广阔的纯深度学习方法。

该模型不仅击败了M4竞赛的冠军方案,还首次实现了 纯深度学习对成熟统计方法的超越。

N-BEATS,全称为“Neural Basis Expansion Analysis for Interpretable Time Series”,“面向可解释时间序列的神经基础扩展分析”。

图片

本文将带大家深入解析N-BEATS的架构,内容通俗易懂。

还将展示如何让这种深度学习方法变得可解释,并教大家如何在Python中轻松实现N-BEATS模型,并调整其超参数。

图片

为了让大家能更好的学习,我可以把我学习期间收集的时间序列资料、LLM大语言模型资料一起分享给大家

图片

图片

       

在探讨N-BEATS架构之前,让我们先了解其核心理念。

N-BEATS的核心功能在于神经基础扩展,基础扩展是一种数据增强方法,通过扩展特征集来建模非线性关系。

听起来有点抽象?让我们通过下面这个例子来解释。

假设我们的目标值y与某个特征x存在某种关系,我们想用线性模型来表示这种关系。

在一维空间中,这将得到一个线性关系(如下图左侧所示)。

然而,如果特征和目标之间并非线性关系,那么这种模型就毫无用处。

那么,我们能做些什么呢?

答案是扩展特征集,我们可以将原始特征的二次值添加到特征集中,得到[x, x²]

这样,我们就从一维空间进入了二维空间,因为现在我们有了两个特征而不是一个。

然后,我们可以在二维空间中拟合一个线性模型,从而得到一个二次多项式模型(如下图右侧所示)。

图片

图片

一维空间中的线性回归(左)与二维空间中的线性回归(右)对比。通过基扩展,我们能够更好地将数据拟合到模型中。

这就是基础扩展的全部内容。

我们基于原始特征添加新特征来扩展特征集,在这个例子中,我们使用了二次多项式扩展,我们将每个原始特征的二次值添加到特征集中。

最常见的基础扩展方法是多项式基础扩展,但除此之外,还有许多其他方法,如分箱、分段线性样条、自然三次样条、对数或平方等。

N-BEATS模型会自行决定使用哪种基础扩展方法,在训练过程中,模型会尝试找到最适合数据的基础扩展方法。

我们让模型自行完成这项工作,这就是它被称为“神经基础扩展”的原因。

N-BEATS模型是如何工作的呢?

N-BEATS模型具有以下架构:

图片

N-BEATS架构概览

这里包含了很多内容,图片可能看起来有些复杂。但N-BEATS背后的思想其实很直接。

我们可以观察到两点:

首先,模型将时间序列分为回顾期和预测期。

模型利用回顾期来进行预测,回顾期的长度通常是预测期长度的两到六倍。

其次,N-BEATS模型(右侧黄色矩形)由

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

强化学习曾小健

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值