当前位置: 首页 > news >正文

论文推荐: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…...

全球首个30米分辨率湿地数据集(2000—2022)

数据简介 今天我们分享的数据是全球30米分辨率湿地数据集,包含8种湿地亚类,该数据以0.5X0.5的瓦片存储,我们整理了所有属于中国的瓦片名称与其对应省份,方便大家研究使用。 该数据集作为全球首个30米分辨率、覆盖2000–2022年时间…...

PL0语法,分析器实现!

简介 PL/0 是一种简单的编程语言,通常用于教学编译原理。它的语法结构清晰,功能包括常量定义、变量声明、过程(子程序)定义以及基本的控制结构(如条件语句和循环语句)。 PL/0 语法规范 PL/0 是一种教学用的小型编程语言,由 Niklaus Wirth 设计,用于展示编译原理的核…...

三体问题详解

从物理学角度,三体问题之所以不稳定,是因为三个天体在万有引力作用下相互作用,形成一个非线性耦合系统。我们可以从牛顿经典力学出发,列出具体的运动方程,并说明为何这个系统本质上是混沌的,无法得到一般解…...

ardupilot 开发环境eclipse 中import 缺少C++

目录 文章目录 目录摘要1.修复过程摘要 本节主要解决ardupilot 开发环境eclipse 中import 缺少C++,无法导入ardupilot代码,会引起查看不方便的问题。如下图所示 1.修复过程 0.安装ubuntu 软件中自带的eclipse 1.打开eclipse—Help—install new software 2.在 Work with中…...

【Oracle】分区表

个人主页:Guiat 归属专栏:Oracle 文章目录 1. 分区表基础概述1.1 分区表的概念与优势1.2 分区类型概览1.3 分区表的工作原理 2. 范围分区 (RANGE Partitioning)2.1 基础范围分区2.1.1 按日期范围分区2.1.2 按数值范围分区 2.2 间隔分区 (INTERVAL Partit…...

使用 Streamlit 构建支持主流大模型与 Ollama 的轻量级统一平台

🎯 使用 Streamlit 构建支持主流大模型与 Ollama 的轻量级统一平台 📌 项目背景 随着大语言模型(LLM)的广泛应用,开发者常面临多个挑战: 各大模型(OpenAI、Claude、Gemini、Ollama)接口风格不统一;缺乏一个统一平台进行模型调用与测试;本地模型 Ollama 的集成与前…...

《C++ 模板》

目录 函数模板 类模板 非类型模板参数 模板特化 函数模板特化 类模板的特化 模板,就像一个模具,里面可以将不同类型的材料做成一个形状,其分为函数模板和类模板。 函数模板 函数模板可以简化函数重载的代码。格式:templa…...

LINUX 69 FTP 客服管理系统 man 5 /etc/vsftpd/vsftpd.conf

FTP 客服管理系统 实现kefu123登录,不允许匿名访问,kefu只能访问/data/kefu目录,不能查看其他目录 创建账号密码 useradd kefu echo 123|passwd -stdin kefu [rootcode caozx26420]# echo 123|passwd --stdin kefu 更改用户 kefu 的密码…...

搭建DNS域名解析服务器(正向解析资源文件)

正向解析资源文件 1)准备工作 服务端及客户端都关闭安全软件 [rootlocalhost ~]# systemctl stop firewalld [rootlocalhost ~]# setenforce 0 2)服务端安装软件:bind 1.配置yum源 [rootlocalhost ~]# cat /etc/yum.repos.d/base.repo [Base…...

[大语言模型]在个人电脑上部署ollama 并进行管理,最后配置AI程序开发助手.

ollama官网: 下载 https://ollama.com/ 安装 查看可以使用的模型 https://ollama.com/search 例如 https://ollama.com/library/deepseek-r1/tags # deepseek-r1:7bollama pull deepseek-r1:7b改token数量为409622 16384 ollama命令说明 ollama serve #&#xff1a…...