论文推荐:ScoreGrad,基于能量模型的时间序列预测
能量模型(Energy-based model)是一种以自监督方式执行的生成式模型,近年来受到了很多关注。本文将介绍ScoreGrad:基于连续能量生成模型的多变量概率时间序列预测。如果你对时间序列预测感兴趣,推荐继续阅读本文。
为什么时间序列预测很重要?
这是一个老生常谈的问题,因为时间序列预测在各个行业都有广泛的用例,从金融到能源,从医疗保健到农业等。
与其他人工智能领域(如计算机视觉)相比,时间序列具有挑战性的是高度的不确定性及其长/短依赖性等。也就是说,即使使用最先进的数学算法,就目前来说,你也不可能预测下个月比特币的价值,因为除了时间序列本身,还有很多外在因素。但是在众多应用中,深度学习模型被广泛用于预测未来,例如预测能源消耗,就能源来说,影响的因素较小,我们倒是可以对其进行研究。
为什么生成模型是人们关注的焦点?
生成模型是一种新的类型的深度学习模型,随着新一波有创意和有前途的初创企业在经济中获得越来越多的关注。生成模型中最受欢迎和流行的例子是著名的ChatGPT,它在最近几个月里征服了数百万人。
生成模型的机制可能听起来很复杂,本文也无法详细说明,但是一般来说生成模型能够生成新的数据(这是废话😒)。但这些数据可以是任何类型的数据,从图像到文本,当然也包括数字。
生成模型是如何工作的?
一句话总结生成数据的机制:他们通过学习训练数据中的统计模式来生成新的数据样本,然后使用这些知识随机创建新的、相似的样本。

生成式模型试图生成尽可能接近真实数据分布的分布。
下面开始进入我们的正题
ScoreGrad是如何运作的?
ScoreGrad是一个用于预测时间序列数据的框架,使用复杂的数学和连续的基于能量的生成模型。它由两部分组成:一个特征提取模块,用于从数据中挑选出重要的部分;一个分数匹配模块,使用一种叫做随机微分方程的东西,通过回溯时间来进行预测。它的工作方式是通过在迭代循环中求解逆时SDE。
1、训练
通过输入多变量时间序列数据来训练模型,以最小化损失函数(如下所示):

训练过程是下面的算法1的伪代码:

2、预测
把预测看作是反向连续时间SDE抽样的迭代。

从预定分布中获取样本。将特征状态、样本和相应时间提供给试图解决反向SDE的采样器,这样就可以得到预测。
然后将预测(采样器的输出)、协变量和特征状态提供给一个名为时间序列的特征抽取模块,将其用于下一个预测。

ScoreGrad的架构
下图看着有很多的模块,并且很乱,别担心,下面会慢慢解释。😉
(a)时间步t的模型架构

(b)分数匹配模块架构

(1)符号和问题表述

应该注意的是,一直都有协变量的值。迭代预测的方式可以在下面公式2中表述:

(2)模型架构
该框架在每个时间步上都由两个模块组成;首先是时间序列的特征提取(TS),然后是基于条件SDE的分数匹配模块。
先介绍第一个模块“TS特征提取”:想要得到之前值的一个特殊特征;每个时间步中我们称它为Ft,因为要对所有时间步都这样做,所以需要更新它就需要定义了一个函数(R):

可以很容易地将Eq(2)转换为Eq(4),这是一个条件预测公式:

这里的Ft可以等价于rnn中的隐藏状态,TCN或基于注意力的模型中学习特征的向量表示。缺省情况下,ScoreGrad使用rnn。
下面就是基于条件SDE的分数匹配模块:为了调节SDE,使用Ft,如架构图中的分数匹配模块所示,将其输入到全连接的上采样器中,然后向上采样,这种操作发生在每个时间步,所以我们可以简单地使用时间t的对应状态。如果ts是积分时间,那么就有:

上面的公式是修正的条件逆时SDE。如果我们知道这个分数函数在所有时间步长的值,就可以用数值SDE求解器进行反转。那么这个分数函数是什么呢?是一个神经网络。
(3)条件分数网络
这部分受到两个论文的启发:1.WaveNet 2.DiffWave;有兴趣的可以去看看,这里就不多解释了
网络有三个输入:
- 特征(Ft )
- 输入状态(xt)
- 对应时间(ts)
用Conv1D (filter size= 1,3)改变输入状态,并将嵌入模块(对应时间)从位置嵌入改变为随机傅里叶特征。这里Ft (Feature)是评分网络的调节器。将隐藏表示+时间嵌入传递给卷积算子;然后添加输出并进行激活操作。
通过使用输出的一部分作为块的输出,其余部分用跳过连接输入求和到下一个块。最后将所有输出加在一起,并对最终输出进行简单的卷积变换。
语言描述有点复杂,可以根据ScoreGrad的架构图的分数匹配模块架构对应查看应该会更好的理解。
结果
这部分是研究中最重要的部分;因为这是表明模型有效的一部分。这里提到了与其他以前的模型进行比较的结果。
该模型在包括Exchange、太阳能、电力、交通、出租车和维基百科在内的各个行业的各种基准数据集上进行评估。
这里的区别点是他们使用了一个名为“连续排名概率分数(CRPS)”的分数,如下所示:

使用这个分数来计算累积分布函数(CDF)F与真实值x的相容程度。然后通过计算每个时间步的CROS,可以计算CRPS_sum:

然后就得到了下面的结果:

基于VP SDE和交通数据集实际观察的ScoreGrad预测区间。

论文地址:https://avoid.overfit.cn/post/7dc6c0db14cc4e919bc4dbb8d342b0e0
作者:Reza Yazdanfar
相关文章:
论文推荐:ScoreGrad,基于能量模型的时间序列预测
能量模型(Energy-based model)是一种以自监督方式执行的生成式模型,近年来受到了很多关注。本文将介绍ScoreGrad:基于连续能量生成模型的多变量概率时间序列预测。如果你对时间序列预测感兴趣,推荐继续阅读本文。 为什…...
RabbitMq(具体怎么用,看这一篇即可)
RabbitMq汇总1.RabbitMq的传统实现方式2.SpringAMQP简化RabbitMq开发2.1 基本消息队列(BasicQueue)2.2 工作消息队列(WorkQueue)2.3 发布订阅 -- 广播(Fanout)2.4 发布订阅 -- 路由(Direct&…...
第九届蓝桥杯省赛 C++ A/B组 - 全球变暖
✍个人博客:https://blog.csdn.net/Newin2020?spm1011.2415.3001.5343 📚专栏地址:蓝桥杯题解集合 📝原题地址:全球变暖 📣专栏定位:为想参加蓝桥杯的小伙伴整理常考算法题解,祝大家…...
Leetcode.2359 找到离给定两个节点最近的节点
题目链接 Leetcode.2359 找到离给定两个节点最近的节点 Rating : 1715 题目描述 给你一个 n个节点的 有向图 ,节点编号为 0到 n - 1,每个节点 至多 有一条出边。 有向图用大小为 n下标从 0开始的数组 edges表示,表示节点 i有一条…...
DCDC/LDO Auto-Discharge
1、概念 When using a capacitor with large capacity value in VOUT side, the VOUT pin voltage might not immediately fall to the ground level when the EN(CE,CONTROL) pin is switched from the active mode to the standby mode. By adding N-channel transistor to …...
linux 中的log
linux 中的log 由于内核的特殊性,我们不能使用常规的方法查看内核的信息。下面介绍几种方法。 1 printk()打印内核消息。 2 管理内核内存的daemon(守护进程) Linux系统当中最流行的日志记录器是Sysklogd,Sysklogd 日志记录器由…...
基于ubuntu的STM32嵌入式软件开发(四)——应用软件工程的修改、Makefile及编译脚本的编写
本文主要介绍基于标准库函数移植的STM32的应用软件工程的修改,主要涉及到文件内容修改、Makefile文件编写、编译脚本编写等内容,其中编译脚本是基于arm-none-eabi-gcc的交叉编译器撰写的。程序亲测可以正常编译,生成.bin和.hex的可烧录镜像文…...
MQTT协议分析
目录 一、前言 二、MQTT协议概述 概念 基本原理 MQTT协议的结构 MQTT的QoS机制 QoS 0:最多一次传输 QoS 1:至少一次传输 QoS 2:恰好一次传输 三、MQTT的应用场景 四、MQTT的优点和缺点 五、MQTT协议的实现 六、实战体验MQTT …...
基于树莓派4B设计的音视频播放器(从0开始)
一、前言 【1】功能总结 选择树莓派设计一款家庭影院系统,可以播放本地视频、网络视频直播、游戏直播、娱乐直播、本地音乐、网络音乐,当做FM网络收音机。 软件采用Qt设计、播放器引擎采用ffmpeg。 当前的硬件选择的是树莓派4B,烧写官方系统,完成最终的开发。 本篇文章主…...
MSF手机渗透实验(未成功)(CVE-2019-2215 Binder UA)
1. 前言 最近想利用metasploit对手机进行依次渗透实验。 通过查看最近三年的安卓漏洞,我对CVE-2019-2215这个漏洞很感兴趣。 幸运的是,metasploit里就有这个漏洞的攻击payload,于是我就开始试试了。 msf6 > search binderMatching Mod…...
系列十二、MySQL管理
一、系统数据库 Mysql数据库安装完成后,自带了一下四个数据库,具体作用如下:二、常用工具 2.1、mysql 2.1.1、概述 该mysql不是指mysql服务,而是指mysql的客户端工具。 2.1.2、语法 # 语法 : mysql [options] [dat…...
[游戏架构] 有限状态机的实际应用
什么是有限状态机 有限状态机(Finite State Machine,简称FSM)是一种常用的计算机科学中的建模工具,用于描述由离散状态和状态之间的转换组成的系统。它主要由一个有限的状态集合、一个初始状态、一个输入事件集合、状态之间的转换…...
【站外SEO】如何利用外部链接来提高你的网站排名
随着互联网的快速发展,越来越多的企业开始注重SEO优化,以提升自己的网站排名,增加流量和曝光度。 而站外SEO作为SEO的重要组成部分,对于提升网站排名具有不可忽视的作用。 站外SEO主要是通过外部链接来提高网站的排名。而GPB外链…...
OSCP-课外4(修复web访问、Mysql UDF提权)
目录 难度 一、主机发现与端口扫描 二、Web信息收集 站点目录扫描 搜索phpmailer的漏...
深信服面经---云计算方向(附问题知识点解析)
深信服面经---云计算高级开发一、一面问题概览二、实操相关三、复盘对问题答案进行整理(查漏补缺)3.1、go语言简单了解3.2、项目中成就感最大或挑战最大的地方3.3、项目问题---协议头引入之后,包的大小增加了多少3.4、如何建立缓存3.5、cache…...
MySQL面试题-基础篇
目录 前言 数据库基础 1.什么是关系型数据库和非关系型数据库? 2.什么是 SQL? 3.MySQL 有什么优点? 4.MySQL 的基础架构? 存储引擎 1.MySQL 支持哪些存储引擎?默认使用哪个? 2.MySQL 存储引擎架构了解吗&…...
高通平台开发系列讲解(摄像头篇)QCM6490 上摄像头驱动开发
文章目录 一、Camera 硬件简介二、内核驱动移植2.1、确定设备树2.2、增加 camera 节点2.3、配置相关 GPIO沉淀、分享、成长,让自己和他人都能有所收获!😄 📢本篇将介绍 qcm6490 摄像头驱动开发。 一、Camera 硬件简介 摄像头连接器一般会包含 Mipi 信号、mclk、供电、re…...
MOV压敏电阻应用推荐及选型要点说明
ESD器件-MOV压敏电阻是一种非线性的电阻元器件产品,具有瞬态电压抑制功能,能够吸收电路中多余的电流,可保护一些敏感电路及其他电子产品设备的电路不受ESD、雷击瞬态浪涌电流的危害。对于它的一些应用范围,优恩小编在这里举例说明…...
Pytorch学习笔记(8):正则化(L1、L2、Dropout)与归一化(BN、LN、IN、GN)
目录 一、正则化之weight_decay(L2正则) 1.1 正则化及相关概念 1.2 正则化策略(L1、L2) (1)L1正则化 (2)L2正则化 1.3 L2正则项——weight_decay 二、正则化之Dropout 2.1 Dr…...
Azure OpenAI 官方指南 01|GPT-3 的原理揭秘与微调技巧
Azure OpenAI 服务在微软全球 Azure 平台正式发布后,迅速成为众多用户最关心的服务之一。 Azure OpenAI 服务允许用户通过 REST API 访问 OpenAI 的强大语言模型,包括 GPT-3、Codex 和 Embeddings 模型系列。本期,我们将为您揭秘 Azure Open…...
Qt/C++开发监控GB28181系统/取流协议/同时支持udp/tcp被动/tcp主动
一、前言说明 在2011版本的gb28181协议中,拉取视频流只要求udp方式,从2016开始要求新增支持tcp被动和tcp主动两种方式,udp理论上会丢包的,所以实际使用过程可能会出现画面花屏的情况,而tcp肯定不丢包,起码…...
React第五十七节 Router中RouterProvider使用详解及注意事项
前言 在 React Router v6.4 中,RouterProvider 是一个核心组件,用于提供基于数据路由(data routers)的新型路由方案。 它替代了传统的 <BrowserRouter>,支持更强大的数据加载和操作功能(如 loader 和…...
在HarmonyOS ArkTS ArkUI-X 5.0及以上版本中,手势开发全攻略:
在 HarmonyOS 应用开发中,手势交互是连接用户与设备的核心纽带。ArkTS 框架提供了丰富的手势处理能力,既支持点击、长按、拖拽等基础单一手势的精细控制,也能通过多种绑定策略解决父子组件的手势竞争问题。本文将结合官方开发文档,…...
ssc377d修改flash分区大小
1、flash的分区默认分配16M、 / # df -h Filesystem Size Used Available Use% Mounted on /dev/root 1.9M 1.9M 0 100% / /dev/mtdblock4 3.0M...
解决本地部署 SmolVLM2 大语言模型运行 flash-attn 报错
出现的问题 安装 flash-attn 会一直卡在 build 那一步或者运行报错 解决办法 是因为你安装的 flash-attn 版本没有对应上,所以报错,到 https://github.com/Dao-AILab/flash-attention/releases 下载对应版本,cu、torch、cp 的版本一定要对…...
根据万维钢·精英日课6的内容,使用AI(2025)可以参考以下方法:
根据万维钢精英日课6的内容,使用AI(2025)可以参考以下方法: 四个洞见 模型已经比人聪明:以ChatGPT o3为代表的AI非常强大,能运用高级理论解释道理、引用最新学术论文,生成对顶尖科学家都有用的…...
tree 树组件大数据卡顿问题优化
问题背景 项目中有用到树组件用来做文件目录,但是由于这个树组件的节点越来越多,导致页面在滚动这个树组件的时候浏览器就很容易卡死。这种问题基本上都是因为dom节点太多,导致的浏览器卡顿,这里很明显就需要用到虚拟列表的技术&…...
听写流程自动化实践,轻量级教育辅助
随着智能教育工具的发展,越来越多的传统学习方式正在被数字化、自动化所优化。听写作为语文、英语等学科中重要的基础训练形式,也迎来了更高效的解决方案。 这是一款轻量但功能强大的听写辅助工具。它是基于本地词库与可选在线语音引擎构建,…...
Yolov8 目标检测蒸馏学习记录
yolov8系列模型蒸馏基本流程,代码下载:这里本人提交了一个demo:djdll/Yolov8_Distillation: Yolov8轻量化_蒸馏代码实现 在轻量化模型设计中,**知识蒸馏(Knowledge Distillation)**被广泛应用,作为提升模型…...
推荐 github 项目:GeminiImageApp(图片生成方向,可以做一定的素材)
推荐 github 项目:GeminiImageApp(图片生成方向,可以做一定的素材) 这个项目能干嘛? 使用 gemini 2.0 的 api 和 google 其他的 api 来做衍生处理 简化和优化了文生图和图生图的行为(我的最主要) 并且有一些目标检测和切割(我用不到) 视频和 imagefx 因为没 a…...
