TIME WEAVER: A Conditional Time Series Generation Model

摘要

想象一下,根据天气、电动汽车的存在和位置生成一个城市的电力需求模式,这可以用于在冬季冻结期间进行容量规划。这样的真实世界的时间序列通常包含配对的异构上下文元数据(天气、位置等)。当前的时间序列生成方法经常忽略这种配对元数据,并且他的异质性在应用于现有方法(无论是图像、音频、视频还是时序领域)时表现出多个挑战。为了解决这一差距,我们引入了TIME WEAVER(一种新的基于扩散的模型),它利用分类、连续甚至时变变量形式的异构元数据来显著改善时间序列生成。此外,我们还表明,将标准评价指标从图像朴素地扩展到时间序列域是不够的。这些指标不会因为条件生成方法在生成的时间序列中再现元数据特定特征的特异性较差而惩罚它们。因此,我们创新了一种新的评估指标,可以准确地捕捉条件生成的特异性和生成的时间序列的真实感。我们表明,TIME WEAVER在现实世界的能源、医疗、空气质量和交通数据集的下游分类任务中,比生成对抗网络(gan)等最先进的基准性能高出27%。

引言

当前的时间序列生成方法忽略了丰富的上下文元数据,因此不能灵活地用于生成特定现实世界条件的时间序列

基于丰富的元数据条件生成真实的时间序列不是对条件图像、视频或音频生成的直接扩展,两者存在巨大的差异。具体的时序数据的生成和评价过程存在以下挑战:

  • 丰富的元数据:元数据可以是分类的(例如,患者是否有起搏器),也可以是定量的(例如,年龄),甚至是时间序列,例如预期降水。任何时序数据的条件生成模型应该结合这些元数据。相反,图像、视频和音频生成通常处理静态文本提示
  • 合成数据质量的目视检查:目视检查是评估图像生成方法的关键方面,就像评估初始化一样分数(IS)由于符合人类的判断而被广泛采用。相反,看一眼时间序列并判断它是否保留了关键特征(如统计矩或频谱)是非常重要的
  • 架构差异:在图像和音频领域,我们有强大的特征提取器在巨量的数据上训练,这些是图像生成中编码条件的重要组成部分。然而,由于时间序列数据集在水平长度、通道数量和元数据的异质性方面具有高度不规则的性质,这样的特征提取器在时间序列域中并不存在
  • 评估度量:评估条件生成方法需要一个度量,该度量可以捕获生成的样本相对于其配对元数据的特殊性。在图4中,我们展示了现有的度量,比如the time series equivalent of the standard Frechet Inception Distance (FID) score,其未能捕捉到这种特异性,仅衡量真实数据分布与生成数据分布的接近程度。这是因为这些指标在它们的评估中完全忽略了成对的元数据

在这里插入图片描述

基于以上的挑战,本文的主要贡献包括:

  • 我们提出了TIME WEAVER,这是一种新的扩散模型,用于在配对元数据的条件下生成现实的多变量时间序列。我们特别对标准扩散模型架构进行了创新,以处理分类和连续的元数据条件。
  • 我们提出了一个新的度量,联合Frechet时间序列距离(J-FTSD),专门设计用于评估条件时间序列数据生成模型。JFTSD使用经过约束学习训练的特征提取器合并时间序列和元数据条件。在第6节中,我们展示了J-FTSD基于对条件时间序列数据分布建模的能力对方法进行精确排序的能力。
  • 我们表明,我们的方法在生成高质量、元数据特定的时间序列方面明显优于最先进的GAN模型,这些时间序列适用于现实世界的能源、医疗保健、污染和交通数据集(图2)。

在这里插入图片描述

背景与相关工作

  • 时序生成模型
  • 条件时序生成的度量

问题描述

考虑一个多变量时间序列样本x∈RL×Fx\in \mathbb{R}^{L\times F}xRL×F,其中LLL表示时间序列水平,FFF表示通道数。每个样本xxx与元数据ccc相关联,元数据ccc由分类特征ccat∈NL×Kcatc_{cat}\in \mathbb{N}^{L\times K_{cat}}ccatNL×Kcat和连续特征ccont∈RL×Kcontc_{cont}\in\mathbb{R}^{L\times K_{cont}}ccontRL×Kcont组成。这里,KcatK_{cat}KcatKcontK_{cont}Kcont分别表示分类元数据特征和连续元数据特征的总数。这些特征被连接为c=ccat⊕ccontc = c_{cat}\oplus c_{cont}c=ccatccont,其中⊕\oplus表示向量连接操作。因此,元数据域定义为NL×Kcat×RL×Kcont\mathbb{N}^{L\times K_{cat}} \times \mathbb{R}^{L\times K_{cont}}NL×Kcat×RL×Kcont。注意,ccatc_{cat}ccatccontc_{cont}ccont域允许随时间变化的元数据特性。

举例来说:

考虑使用配对元数据生成表示96小时(L=96L = 96L=96)期间高速公路(F=1F = 1F=1)交通量的时间序列数据。该元数据包括777个随时间变化的分类特征,如假日(121212个唯一标签)和天气描述(111111个唯一标签),用Kcat=7K_{cat} = 7Kcat=7表示。它还包括预期温度、降雨预报等四个时变连续特征,用Kcont=4K_{cont} = 4Kcont=4表示。

我们表示数据集Dx,c={(xi,ci)}i=1nD_{x, c} = \{(x_i, c_i)\}^n_{i=1}Dx,c={(xi,ci)}i=1n,由时间序列数据xxx和配对元数据cccnnn个独立且同分布(i.i.d)样本组成,从联合分布p(x,c)p(x, c)p(x,c)中采样。我们的目标是开发一个条件生成模型GGG,使得G(c)G(c)G(c)生成的样本在分布上匹配p(x∣c)p(x|c)p(xc)

使用Time Weaver的条件时序生成

在这里插入图片描述

TIME WEAVER模型由两部分组成——生成数据的去噪主干和处理随时间变化的分类和连续元数据变量的预处理模块

元数据预处理:通过concatenat组合,然后将来自不同模态的这些数据利用自监督方法进行加权组合

  • 类别token编码器 θtokencat\theta^{cat}_{token}θtokencat 首先会将类别ccatc_{cat}ccat转变为one-hot编码,然后通过一个全连接层变为embedding zcat∈RL×dcatz_{cat}\in\mathbb{R}^{L\times d_{cat}}zcatRL×dcat。continuous token做同样处理。使用FC层允许模型在分类和连续领域内学习不同元数据特征之间的内在相关性,当然也可以使用其他的模型结构
  • zcatz_{cat}zcatzcontz_{cont}zcont然后会concat在一起并通过自监督模块生成元数据embeddingz∈RL×dmetaz\in\mathbb{R}^{L\times d_{meta}}zRL×dmeta,自注意力层使生成模型能够捕获不同元数据特征之间的时间关系

去噪器:作为TIME WEAVER的去噪骨干,我们依赖于两个最先进的架构——CSDI和SSSD。CSDI模型采用特征层和时间自注意层处理时序时间序列数据,SSSD使用结构化的状态空间层。请注意,这些去噪模型是为输入和预测任务而设计的,因此它们被设计为将未输入和历史时间序列作为各自的输入。最小化下面的损失,使TIME WEAVER能够学习如何从条件分布p(x∣c)p(x|c)p(xc)中生成样本。
L(θdenoiser,θcondn,θtokencont,θtokencat)=Ex,c∼Dx,c,ϵ∼N(0,I),t∼U(1,T)[∣∣ϵ−θdenoiser(xt,t,z∣∣22)] \mathcal{L}_{(\theta_{denoiser},\theta_{condn},\theta_{token}^{cont},\theta_{token}^{cat})}=\mathbb{E}_{x,c\sim D_{x,c},\epsilon\sim\mathcal{N}(\mathbf{0},\mathbf{I}),t\sim\mathcal{U}(1,T)[||\epsilon-\theta_{denoiser}(x_t,t,z||_2^2)]} L(θdenoiser,θcondn,θtokencont,θtokencat)=Ex,cDx,c,ϵN(0,I),tU(1,T)[∣∣ϵθdenoiser(xt,t,z22)]
在推理过程中,我们从xT∼N(0,I)x_T \sim \mathcal{N}(\mathbf{0},\mathbf{I})xTN(0,I)开始,迭代去噪(以元数据ccc作为输入)T步,生成x0∼p(x∣c)x_0 \sim p(x|c)x0p(xc),这一过程如图3所示。

Joint Frechet 时序距离

如果时间序列和配对元数据的真实和生成的联合分布不匹配,那么一个好的距离度量应该惩罚条件生成方法(提供更高的值)。现有的度量标准,例如Context-FID 仅依赖于时间序列特征提取器,度量计算不涉及配对元数据。这可以防止这些指标因为条件生成方法无法在生成的时间序列中重现元数据特定的特征而惩罚它们。因此,我们提出了一个新的度量来评估元数据条件下的时间序列生成Joint Frechet时间序列距离(J-FTSD)

在J-FTSD中,我们计算时间序列的真实和生成的联合分布与配对元数据之间的FD。首先,与FID和FJD计算类似,本文使用θtime(⋅)\theta_{time}(\cdot)θtime()θmeta(⋅)\theta_{meta}(\cdot)θmeta()将时间序列和配对元数据投影到较低维嵌入空间:RL×F→Rdemb\mathbb{R}^{L\times F}\rightarrow\mathbb{R}^{d_{emb}}RL×FRdembRL×K→Rdemb\mathbb{R}^{L\times K}\rightarrow \mathbb{R}^{d_{emb}}RL×KRdemb作为各自的特征提取器,其中dembd_{emb}demb是嵌入向量的大小。我们将这些时间序列和元数据嵌入连接起来,创建一个联合嵌入空间。然后我们计算joint嵌入空间上的FD。因此,J-FTSD的正式定义为:
J−FTSD(Dg,Dr)=∣∣μzr−μzg∣∣2+Tr(∑zr+∑zg−2(∑zr∑zg)12)zid=ϕtime(xid)⊕ϕmeta(ci)  ∀i:(xid,ci)∈Ddμzd=1n∑i=1nzid,  ∑zd=1n−1∑i=1n(zid−μzd)T J-FTSD(D_g,D_r)=||\mu_{z^r}-\mu_{z^g}||^2+Tr(\sum z^r+\sum z^g - 2(\sum z^r\sum z^g)^{\frac{1}{2}})\\ z_i^d=\phi_{time}(x_i^d)\oplus\phi_{meta}(c_i)\;\forall i:(x_i^d,c_i)\in D_d\\ \mu_{z^d}=\frac{1}{n}\sum_{i=1}^n z_i^d,\;\sum z^d=\frac{1}{n-1}\sum_{i=1}^n(z_i^d-\mu_{z^d})^T JFTSD(Dg,Dr)=∣∣μzrμzg2+Tr(zr+zg2(zrzg)21)zid=ϕtime(xid)ϕmeta(ci)i:(xid,ci)Ddμzd=n1i=1nzid,zd=n11i=1n(zidμzd)T
特征提取器的训练:我们结合对比学习共同训练ϕtine\phi_{tine}ϕtineϕmeta\phi_{meta}ϕmeta,以更好地捕获时间序列和配对元数据的联合分布,因为对比学习是将来自各种模式的数据映射到共享潜在空间的常用方法

在这里插入图片描述

该度量准则的优势:J-FTSD 一个方面涉及估计时间序列与元数据嵌入之间的协方差。此外,通过对比学习联合训练特征提取器有助于有效捕捉时间序列与元数据嵌入之间的相关性。因此,如果生成的时间序列不包含特定于元数据的特征,协方差项就会减小。这使得 J-FTSD 能够准确地对真实联合分布与生成联合分布之间的差异进行惩罚,这将直接转化为惩罚条件生成,因为它们在再现元数据特定特征方面的特异性较差。

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

如若内容造成侵权/违法违规/事实不符,请联系英文站点网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Day 4-2: PyTorch基础入门 - 从NumPy到深度学习的桥梁

Day 4-2: PyTorch基础入门 - 从NumPy到深度学习的桥梁 📚 核心概念(5分钟理解) 一句话定义 PyTorch是Facebook开发的深度学习框架,将NumPy的数组计算能力扩展到GPU,并加入了自动微分功能,让构建和训练神经网络变得简单直观。 为什么重要 GPU加速:比CPU快10-100倍的矩…

法式基因音响品牌SK(SINGKING AUDIO)如何以硬核科技重塑专业音频版图

在专业音响的竞技场,当多数品牌还在功率参数上缠斗时,一个流淌着法兰西血液的品牌——SK(SINGKING AUDIO),早已构建起令人仰望的技术巅峰。它完美诠释了真正的声学艺术:不是技术的炫耀,而是让尖…

ZooKeeper学习专栏(五):Java客户端开发(原生API)详解

文章目录前言一、核心类解析1.1 ZooKeeper类 - 连接管理核心1.2 Watcher接口 - 事件处理核心二、原生API实践2.1 创建会话(连接管理)2.2 创建节点(支持多种类型)2.3 获取节点数据和状态信息2.4 修改节点数据(版本控制&…

卸油管链接检测误报率↓76%:陌讯多模态融合算法实战解析

原创声明本文为原创技术解析,核心技术参数与架构设计引用自《陌讯技术白皮书》,禁止未经授权的转载与商用。一、行业痛点:卸油管链接检测的三大技术瓶颈在石化仓储与运输场景中,卸油管链接的密封性检测是保障安全生产的关键环节。…

MongoDB用户认证authSource

文章目录authSource遇到的问题authSource MongoDB用户认证逻辑与以往我认知的关系型数据库逻辑不太一样,多了一层用户与数据库关系的绑定。 在建立用户时,需要先指定数据库,则存在一个概念:用户归属于数据库。额外,依…

插件升级:Chat/Builder 合并,支持自定义 Agent、MCP、Rules

TRAE 插件全新升级,Chat、Builder 合并,支持自定义智能体、MCP 及自定义规则,体验对齐 IDE,现已上线 JetBrains 和 VSCode。 1. Chat/Builder 合并,一个对话框即可智能协作 在 TRAE 插件的 Chat 对话框中&#xff0…

【历史人物】【王安石】简历与生平

目录 一、王安石个人简历 二、个人主要经历 三、个人成就及影响 1、散文 2、诗歌 3、词 四、经典评价摘录 一、王安石个人简历 基本信息‌ 姓名:王安石,字介甫,号半山。小名獾郎 性别:男 年龄:1021年-1086年…

Codeforces Round 1040 (Div. 2) A - D题详细题解

本文为Codeforces Round 1040 (Div. 2) A - D题的详细题解, 觉得有帮助或者写的不错可以点个赞! 目录 题目A: 题目大意: 解题思路: 代码(C): 题目B: 题目大意: 解题思路: 代码(C): 题目C: 题目大意: 解题思路: 代码(C): 题目D: 题目大意: 解题思路:…

数据结构 之 【排序】(计数排序)

目录 1.计数排序的思想 2.计数排序图解 3.计数排序代码逻辑 3.1求原数组最大最小值及计数数组的创建 3.2计数 3.3覆盖写 3.4释放资源 4.计数排序的注意事项 5.计数排序的时间复杂度与空间复杂度 以升序为例 1.计数排序的思想 前面我们学习的快排、归并排序、希尔排序.…

Ascend CANN/ACL API 模型部署加速最佳实践

1. 模型输入相关问题 图像尺寸信息 模型输入尺寸由原始模型决定,在转换时固定 图像尺寸信息是模型固有属性,不是转换时添加的 对于使用动态尺寸,可以在推理时自动根据当前的输入尺寸推导输出尺寸。 输入格式(NCHW/NHWC) --input_format 不同框架默认格式不同: Caffe: 支持…

QT信号和槽怎么传输自己定义的数据结构

在 Qt 中,信号(Signal)和槽(Slot)机制默认支持许多内置类型(如 int、QString、QList 等),但如果要传输 自定义数据结构(如结构体、类对象),需要额…

借助于llm将pdf转化为md文本

pdf转化为md格式后,意味着非结构化文本转为结构化文本,能清晰定位大标题、子标题,图表。 方便后续处理,因为llamaindex和langchain能更有效切分md类文本,避免信息丢失。 1)读取pdf为txt 读取pdf&#xf…

设计模式:中介者模式 Mediator

目录前言问题解决方案结构代码前言 中介者是一种行为设计模式,能让你减少对象之间混乱无序的依赖关系。该模式会限制对象之间的直接交互,迫使它们通过一个中介者对象进行合作。 问题 假如你有一个创建和修改客户资料的对话框, 它由各种控件…

计算机基础速通--数据结构·线性表应用

如有问题大概率是我的理解比较片面,欢迎评论区或者私信指正。 考察线性表,核心围绕其存储结构特性、核心操作实现、场景应用选型三大维度,重点检验对基础概念的理解、代码实现能力及问题分析能力,通常会结合算法设计、复杂度分析和…

LeetCode Hot 100:42. 接雨水

题目 给定 n 个非负整数表示每个宽度为 1 的柱子的高度图,计算按此排列的柱子,下雨之后能接多少雨水。 解析 和题目 盛水最多的容器 类似, LeetCode Hot 100:11. 盛最多水的容器-CSDN博客 只是这里将每一个柱子视为一个宽度为…

【C语言入门级教学】字符指针变量

文章目录1.字符指针变量2. 数组指针变量2.1 数组指针变量初始化3.⼆维数组传参的本质1.字符指针变量 在指针的类型中我们知道有⼀种指针类型为字符指针 char* ; ⼀般使⽤: int main() { char ch w; char* pc &ch;//pc的类型是char**pcw;//对pc解引用 修改ch存放的内容…

【Shell脚本自动化编写——报警邮件,检查磁盘,web服务检测】

Shell脚本自动化编写Shell脚本自动化编写一、判断当前磁盘剩余空间是否有20G,如果小于20G,则将报警邮件发送给管理员,每天检查一次磁盘剩余空间。第一步:准备工作第二步:配置邮件信息第三步:检查磁盘的自动…

Java 接口(下)

三、接口的继承性【基础重点】 1. Java中的接口之间的继承关系是多继承,一个接口可以有多个父接口(1) 语法:interface 接口名 extends 父接口1,父接口2{} 2. 类和接口之间是多实现的关系:一个类可以同时实现多个接口(1) 语法:clas…

学习游戏制作记录(各种水晶能力以及多晶体)8.1

1.实现创建水晶并且能与水晶进行交换位置的能力创建好水晶的预制体,添加动画控制器,传入待机和爆炸的动画创建Crystal_Skill_Control脚本:挂载在水晶预制体上private float crystalExstTime;//水晶存在时间public void SetupCrystal(float _c…

在vscode 如何运行a.nut 程序(Squirrel语言)

在 VS Code 中运行 Squirrel 语言编写的 .nut 程序,需要先配置 Squirrel 运行环境并安装相关插件,具体步骤如下: 一、安装 Squirrel 解释器 Squirrel 程序需要通过其官方解释器 squirrel 或 sq 执行,首先需要安装解释器&#xf…