时序论文20|ICLR20 可解释时间序列预测N-BEATS

论文标题:N-BEATS N EURAL BASIS EXPANSION ANALYSIS FOR INTERPRETABLE TIME SERIES FORECASTING

论文链接:https://arxiv.org/pdf/1905.10437.pdf

前言

为什么时间序列可解释很重要?时间序列的可解释性是确保模型预测结果可靠、透明且易于理解的关键因素。它帮助增强用户信任,促进更明智的决策,同时便于调试和风险管理,特别是在特定领域,例如风险投资、医疗诊断等领域,理解模型背后的逻辑非常重要,毕竟谁也不敢把决策权交给一个黑盒模型。

本文设计了一种深度神经网络架构N-BEATS,它以残差连接前后向链接和深层全连接层堆叠为核心。这一架构不仅具备高度的可解释性,而且能够广泛适用于多个领域,模型的配置完全没有依赖于特定于时间序列的特性,却能在多样化的数据集上展现出卓越的性能(与2020年的模型相比),证明了深度学习的基本构件,比如残差块,本身就具有解决广泛预测问题的能力。此外,本文还展示了如何通过增强架构,实现在不牺牲准确性的前提下,提供可解释的输出。

本文模型

本文的目的是构造一个简单、可解释性强的深度学习时间序列预测模型,问题的场景是一维、单变量时序预测。

上图是所提出的架构,以多层全连接(FC)网络为基础构建block,该网络采用ReLU激活函数来引入非线性特性。每个block负责预测正向(预测)和反向(反预测)的基础扩展系数,分别用θf和θb表示。这些block通过一种创新的双重残差堆叠方法进行组织,允许在堆叠中的不同层共享预测和反预测的函数。预测结果通过一种分层聚合的方式进行整合,这不仅促进了网络深度的增加,还确保了模型输出的可解释性,使模型能够构建出一个既深入又易于理解的深度神经网络。

模型要点1: DOUBLY RESIDUAL STACKING

经典残差网络架构在将结果传递给下一个堆叠之前,将堆叠层的输入加到其输出上,这类方法在提高深度架构的可训练性方面提供了明显优势。缺点是导致网络结构难以解释。本文作者提出了一种分层双重残差拓扑结构,如图(中间和右侧)所示。所提出的架构有两个残差分支,一个在每层的反预测上运行,另一个在每层的预测分支上运行。

第一个block特殊,它的输入是模型级别的输入x。对于所有其他block,每个block有两个输入:backcast和forecast,分别理解为过去和未来的信息。也就是说经过上一个block后,下一个block的输入是上一个block的输入减去上一个block的backcast输出,由于前一个block移除了它能够很好地近似的信号部分,使得下游block的预测工作变得更容易。每个块输出一个部分预测y^(θ),该预测首先在堆叠层面上聚合,然后在整体网络层面上聚合,是一种分层分解架构。最终预测Y是所有部分预测的总和,通过聚合有意义的部分预测来实现可解释性的关键重要性。具体技术细节可阅读原文。

模型要点2: Interpretablity

论文中提到了基(basis)这个概念,可以理解为将基根据系数来加权组合,就可以从系数的权重对应出哪个基与输出结果的相关性更强。例如:趋势的典型特征是,大部分时间它是一个单调函数,或者至少是一个变化缓慢的函数。季节性的典型特征是它是规律的、循环的、周期性变化。

这样的话,将正弦曲线设置为基就可以表示一些季节性的分量,将多项式设置为基就可以表示一些趋势性的分量。把基加权线性相加,即可得到预测Forecast或者是Backcast。

结论

提出一种单变量时间序列(TS)预测架构,并通过实证验证了其有效性。验证了两个重要假设:(i)通用的深度学习方法在不使用时间序列领域知识的情况下,在异构单变量时间序列预测问题上表现出色,(ii)可以额外约束深度学习模型,迫使其将预测分解为不同的、人类可解释的输出

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.xdnf.cn/news/15397.html

如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!

相关文章

hadoop_capacity-scheduler.xml

hadoop3.2.3capacity-scheduler.xml配置实例 <configuration><property><!-- 可以处于等待和运行状态的应用程序的最大数量 --><name>yarn.scheduler.capacity.maximum-applications</name><value>10000</value></property>&l…

小白必看:知识库搭建的详细拆解步骤

在当今信息爆炸的时代&#xff0c;企业知识库成为了企业积累、管理和分享知识的重要工具。对于初学者来说&#xff0c;搭建一个企业知识库可能看起来是一项复杂的任务&#xff0c;但通过以下步骤&#xff0c;即使是小白也能轻松上手。本文将详细拆解搭建企业知识库的步骤&#…

042 异步编排

文章目录 什么是异步Future异步编排1串行关系执行thenRunthenApplythenAcceptthenCompose 2聚合ANDthenCombinethenAcceptBothrunAfterBoth 3OR聚合applyToEiteracceptEitherrunAfterEither 4异常处理exceptionallywhenCompletehandle 异步开启1RunAsync:没有使用自定义线程池&…

【算法设计与分析】采用特征方程求解递归方程

文章目录 K阶常系数线性齐次递归方程K阶常系数线性【非】齐次递归方程例题例1&#xff1a;齐次无重根例2&#xff1a;齐次有重根例3&#xff1a;非齐次&#xff0c;g(n)是n的多项式例4&#xff1a;非齐次&#xff0c;g(n)是n的指数形式&#xff0c;a不是重根 练习其它求解递归方…

SAP ABAP开发学习——function alv复选框设置

1.关于报表复选框的创建 首先该报表要调用功能函数 这里参照SLIS_LAYOUT_ALV定义字段 参照来源 具体字段的定义 双击 双击这两个查看需要的字段 box_fieldname就是复选框 需要在内表定义需要的名称&#xff0c;这里使用‘BOX 相关内容完成

5.7 与 8.0 对相同文件的 LOAD DATA 语句结果不同

5.7 与 8.0 对相同文件的 LOAD DATA 语句结果不同 问题描述 某客户现场支持&#xff0c;由MySQL 5.7.21升级MySQL 8.0.25后&#xff0c;通过LOAD DATA导入文件&#xff0c;当同一会话连续导入不同的编码&#xff08;UTF8/GB18030&#xff09;文件时会出现乱码。数据库版本未升…

河南梦想城供配电项目-综合监控平台[智能运维+集中监控]

河南梦想城供配电项目-综合监控平台软件 可分为主机系统&#xff08;针对单个站房的实时监测&#xff09;和集中云平台&#xff08;针对多个站房的集中管理&#xff09;&#xff0c;可实现电气设备隐患预警&#xff0c;站房环境风险可控&#xff0c;系统与电力平台以IEC61850标…

每日计划-1114

完成 14. 最长公共前缀 #include <string> #include <vector>class Solution { public:string longestCommonPrefix(std::vector<std::string>& strs) {if (!strs.size()) {return "";}int length strs[0].size();int count strs.size();fo…

《深度学习》AlexNet网络

文章目录 1.AlexNet的网络架构2.示例&#xff1a;手写数字识别2.1 数据读取 学习目标&#xff1a; 知道AlexNet网络结构能够利用AlexNet完成图像分类 2012年&#xff0c;AlexNet横空出世&#xff0c;该模型的名字源于论⽂第⼀作者的姓名AlexKrizhevsky 。AlexNet使⽤了8层卷积…

嵌入式软件开发环境的搭建

1.ARM指令模拟器环境搭建 keil软件 KEIL是公司的名称&#xff0c;有时候也指KEIL公司的所有软件开发工具。2005年&#xff0c;Keil被ARM公司收购&#xff0c;成为 ARM的子公司之一。 MDK&#xff08;Microcontroller Development Kit&#xff09; &#xff0c;也称MDK-ARM、…

模型广场上线!一键开启免费体验

模型广场上新&#xff0c;多款模型任君挑选~ 限时免费体验&#xff01;快来开启你的AI创作之旅吧~ 01 comfyui 工作流 ComfyUI是一个基于Stable Diffusion开发的图形用户界面&#xff08;GUI&#xff09;&#xff0c;它将Stable Diffusion的流程拆分成节点&#xff0c;你能够…

Java的dto,和多表的调用

1理论 需求是新增菜品eg&#xff1a;菜名:豆腐脑&#xff1b;口味&#xff1a;甜口&#xff0c;咸口&#xff0c; 菜单表&#xff1a;dish&#xff1b;口味表dish_flavor&#xff1b; 1dto:数据传输对象 新建一个dishDto对象有两个表里的属性 2用到两个表&#xff0c;dish,d…

python爬虫js逆向进阶——请求的网页源码被加密,解密方法全过程(19)

文章目录 1、任务目标2、网页分析3、代码编写1、任务目标 目标网站:https://jzsc.mohurd.gov.cn/data/company,该网站的网页源码被加密了,用于本文测验 要求:解密该网站的网页源码,请求网站并返回解密后的明文数据,网页内容如下: 2、网页分析 进入网站,打开开发者模式,…

二、vue指令

1、v-bind ⽬标 : 给标签属性设置 vue 变量的值 vue 指令 , 实质上就是特殊的 html 标签属性 , 特点 : v- 开头 每个指令 , 都有独⽴的作⽤ 语法&#xff1a; v-bind:属性名"vue变量" 简写&#xff1a; : 属性名"vue变量" <!-- vue 指令 -v-bi…

VASA-1: Lifelike Audio-Driven Talking Faces Generated in Real Time

TL;DR 2024 年微软发表的数字人工作 VASA-1&#xff0c;支持基于单人头像照片和语音音频输入&#xff0c;来实时生成数字人视频。支持在线生成高达 40 FPS 的 512512 分辨率视频&#xff0c;目前为数不多能做到实时推理且效果很好的 talking face 工作。 Paper name VASA-1:…

【Ubuntu24.04】服务部署(基础)

目录 0 背景1 设置静态IP2 连接服务器3 部署服务3.1 安装JDK3.2 下载并安装MySQL8.43.2.1 从官网下载 APT Repository 配置文件3.2.2 安装 MySQL8.43.2.3 配置远程连接 3.3 下载并配置Redis3.4 上传jar包并部署应用3.5 开放端口 4 总结 0 背景 在成功安装了Ubuntu24.04操作系统…

[Java]Properties类加载配置文件

在我JDBC的文章末尾展示了完整的JDBC使用流程。但那种方式有一个问题&#xff0c;如果项目需要更换数据库&#xff0c;或者这个项目本来就是要使用多种数据库&#xff0c;那么像这种把信息写死在代码里边的编写模式&#xff0c;是肯定不行的。实际开发中肯定不会使用这种把信息…

STM32CUBEIDE的使用【五】TFT_LCD

硬件平台&#xff1a; 正点原子潘多拉开发板 STM32L475 软件平台&#xff1a; STM3232CubeMX 、STM32CUBEIDE 屏幕尺寸为1.3寸 分辨率240*240 16位真彩色 使用SPI接口驱动TFT_LCD 用来显示ASCII 字符图像和彩色功能 CubeMX配置 Source Code 创建app_lcd.c文件 #include &q…

Python数据分析NumPy和pandas(三十二、数据拆分-应用-合并)

最常用的 GroupBy 方法是 apply&#xff0c;apply 将正在操作的对象拆分为多个片段&#xff0c;在每个片段上调用传递给它函数&#xff0c;然后尝试连接这些片段。 还是用前面的小费数据集tips.csv&#xff0c;它的内容如下图&#xff1a; 假设我们想按smoker进行分组并选择前…

【毫米波雷达(九)】前雷达软件开发遇到的问题汇总及解决方法

前雷达软件开发遇到的问题汇总及解决方法 一、CAN/CANFD通信1、雷达CAN未能正常发出数据2、雷达在车上接收不到车身信息3、程序下载失败4、DV试验发送数据偶发断连5、发送感知信息丢帧或者丢报文6、上电发出第一帧的报文时间长7、ZCANPRO有错误帧二、协议转换&#xff08;以太网…