【论文阅读】Probabilistic Imputation for Time-series Classification with Missing Data

Probabilistic Imputation for Time-series Classification with Missing Data

论文链接:https://icml.cc/virtual/2023/poster/23522

作者:SeungHyun Kim · Hyunsu Kim · EungGu Yun · Hwangrae Lee · Jaehun Lee · Juho Lee

机构:韩国科学技术院(KAIST),赛视智能(Saige Research),三星研究院

关键词:时间序列数据插补,概率模型,不确定性

参考文献:Kim S H, Kim H, Yun E, et al. Probabilistic imputation for time-series classification with missing data[C]//International Conference on Machine Learning. PMLR, 2023: 16654-16667.

摘要

实际应用的多变量时间序列数据通常包含大量缺失值。对此类缺失值进行分类的主要方法是使用特定值(零、平均值、相邻时间步长的值)或可学习参数进行启发式插补。然而,这些简单的策略没有考虑到数据生成过程,更重要的是,由于缺失值的多种可能性,无法有效地捕捉预测中的不确定性。在本文中,提出了一种新的概率框架,用于对缺失值的多变量时间序列数据进行分类。模型由两部分组成:用于缺失值插补的深度生成模型和分类器

Method

提出的方法在MNAR假设下将supMIWAE扩展到时间序列数据

设可观察值 x 1 , T o x _ { 1 , T } ^ { o } x1,To ,缺失值 x 1 , T m x _ { 1 , T } ^ { m } x1,Tm ,缺失值的掩码 s 1 , T s _ { 1 , T } s1,T ,标签 y y y,潜在空间向量 z 1 : T z _ { 1 : T } z1:T

Prior

假设Gaussian过程先验对 z 1 : T z_{1:T} z1:T 潜在空间中的时间相关性进行编码,可得先验 p θ ( z 1 : T ) p _ { \theta } ( z _ { 1 : T } ) pθ(z1:T)

p θ ( z 1 : T ) = ∏ j = 1 d N ( z 1 : T , j ∣ 0 , K ) p _ { \theta } ( z _ { 1 : T } ) = \prod _ { j = 1 } ^ { d } N ( z _ { 1 : T , j } | 0 , K ) pθ(z1:T)=j=1dN(z1:T,j∣0,K)

K i j = k ( t i , t j ) i , j ∈ { 1 … T } K _ { i j } = k ( t _ { i } , t _ { j } ) \quad i , j \in \left\{ 1 \ldots T \right\} Kij=k(ti,tj)i,j{1T}

其中, k ( . , . ) k(.,.) k(.,.) 是核函数,在本文的所有实验中都使用 Cauchy 核。

Decoder

对观察到的 p θ ( x 1 : T o ∣ z 1 : T ) p _ { \theta } ( x _ { 1 : T } ^ { o } | z _ { 1 : T } ) pθ(x1:Toz1:T) 的解码器以自回归方式定义:

p θ ( x 1 , T o ∣ z 1 , T ) = ∏ t = 1 T N ( x t o ∣ μ d e c ( z 1 , t ) , d i a g ( σ d e c 2 ( z 1 , t ) ) ) p _ { \theta } ( x _ { 1 , T } ^ { o } | z _ { 1 , T } ) = \prod _ { t = 1 } ^ { T } N ( x _ { t } ^ { o } | \mu _ { d e c } ( z _ { 1 , t } ) , d i a g ( \sigma _ { d e c } ^ { 2 } ( z _ { 1 , t } ) ) ) pθ(x1,Toz1,T)=t=1TN(xtoμdec(z1,t),diag(σdec2(z1,t)))

其中$ (\mu _ { d e c } ( z _ { 1 , t } ) , \sigma _ { d e c }( z _ { 1 , t } ))_{t=1}^{T} $用具有因果掩码的transformer定义。

h t = T r a n s f o r m e r d e c ( z 1 : t ) h _ { t } = T r a n s f o r m e r _ { d e c } ( z _ { 1 : t } ) ht=Transformerdec(z1:t)

( μ d e c ( z 1 : t ) , σ d e c ( z 1 : t ) ) = M L P d e c ( h t ) ( \mu _ { d e c } ( z _ { 1 : t } ) , \sigma _ { d e c } ( z _ { 1 : t } ) ) = M L P _ { d e c } ( h _ { t } ) (μdec(z1:t),σdec(z1:t))=MLPdec(ht)

对观测 p θ ( x 1 : T o ∣ z 1 : T ) p _ { \theta } ( x _ { 1 : T } ^ { o } | z _ { 1 : T } ) pθ(x1:Toz1:T)和缺失 p θ ( x 1 : T m ∣ z 1 : T ) p _ { \theta } ( x _ { 1 : T } ^ { m } | z _ { 1 : T } ) pθ(x1:Tmz1:T)都使用相同的Decoder。

Missing model

缺失模型 p ψ ( s 1 : T ∣ x 1 : T ) p _ { \psi } ( s _ { 1 : T } | x _ { 1 : T } ) pψ(s1:Tx1:T)被假设为随时间步长和特征的独立伯努利分布:

p ψ ( s 1 : T ∣ x 1 : T ) = ∏ t = 1 T ∏ j = 1 d B e r n ( s t , j ∣ σ m i s , t , j ( x 1 : T ) ) p _ { \psi } ( s _ { 1 : T } | x _ { 1 : T } ) = \prod _ { t = 1 } ^ { T } \prod _ { j = 1 } ^ { d } B e r n ( s _ { t , j } | \sigma _ { mis , t , j } ( x _ { 1 : T } ) ) pψ(s1:Tx1:T)=t=1Tj=1dBern(st,jσmis,t,j(x1:T))

σ m i s ( x 1 : T ) = M L P m i s ( x 1 : T ) \sigma _ { mis } (x_{1:T})=MLP_{mis}(x_{1:T}) σmis(x1:T)=MLPmis(x1:T)

Classifier

使用基于 transformer 的模型构建分类器:给定一个时间序列数据 x 1 : T x_{1:T} x1:T 将观测值 x 1 : T o x_{1:T}^{o} x1:To 和从解码器生成的插补缺失值打包在一起,首先使用沿时间轴的一维 CNN 处理数据以计算 r 1 : T = C N N ( x 1 : T ) r_{1:T} = CNN(x_{1:T}) r1:T=CNN(x1:T) 。 然后用transformer模块处理 r 1 : T r_{1:T} r1:T 来计算输出 h T h_T hT。条件分布 p λ ( y ∣ x 1 : T o , x 1 : T m ) p _ { \lambda } ( y | x _ { 1 : T } ^ { o } , x _ { 1 : T } ^ { m } ) pλ(yx1:To,x1:Tm) 定义为

C a t e g o r i c a l ( y ∣ S o f t m a x ( L i n e a r c l s ( h T ) ) Categorical(y | Softmax(Linear_{cls}(h_{T})) Categorical(ySoftmax(Linearcls(hT))

在前向传递过程中,分类器获取观察到的输入 x 1 : T o x_{1:T}^{o} x1:To 和从解码器 p θ ( x 1 : T m ∣ z 1 : T ) p _ { \theta } ( x _ { 1 : T } ^ { m } | z _ { 1 : T } ) pθ(x1:Tmz1:T)生成的缺失值。 实验发现采用 GRU-D 是有益的,而不是直接使用生成的缺失值 x 1 : T m x _ { 1 : T } ^ { m } x1:Tm ,将衰减的缺失值计算如下:

x ~ 1 : T : = ( x 1 : T o , x 1 : T m ) w h e r e x 1 : T m ∼ p θ ( x 1 : T m ∣ z 1 : T ) \tilde { x } _ { 1 : T } : = ( x ^ { o } _ { 1 : T } , x ^ { m } _ { 1 : T } ) \quad w h e r e \quad x ^ { m } _ { 1 : T } \sim p _ { \theta } ( x ^ { m } _ { 1 : T } | z _ { 1 : T } ) x~1:T:=(x1:To,x1:Tm)wherex1:Tmpθ(x1:Tmz1:T)

x ^ t , j = D e c a y ( s t , j , x t , j , γ x ^ t , j , x t ′ , j , x ~ t , j ) \widehat { x } _ { t , j } = D e c a y ( s _ { t , j } , x _ { t , j } , \gamma _ { \widehat { x } _{t,j} } , x _ { t^ { \prime } , j } , \tilde { x } _ { t , j } ) x t,j=Decay(st,j,xt,j,γx t,j,xt,j,x~t,j)

其中, γ x ^ t = e x p ( − m a x ( 0 , W x ^ δ t + b x ^ ) \gamma _ { \widehat { x }_t } = e x p ( - m a x ( 0 , W _ { \widehat { x } } \delta _ { t } + b _ { \widehat { x } } ) γx t=exp(max(0,Wx δt+bx ) 是可学习的衰减。

Encoder

给定上面定义的生成模型,引入了 ( x _ { 1 : T } ^ { m } , z _ { 1 : T } ) 的变分分布,其分解为:

p θ ( x 1 : T m ∣ z 1 : T ) q ϕ ( z 1 : T ∣ x 1 : T o ) p _ { \theta } ( x _ { 1 : T } ^ { m } | z _ { 1 : T } ) q _ { \phi } ( z _ { 1 : T } | x _ { 1 : T } ^ { o } ) pθ(x1:Tmz1:T)qϕ(z1:Tx1:To)

这里,编码器 q ϕ ( z 1 , T ∣ x 1 : T o ) q _ { \phi} ( z_{1, T}|x_{1:T}^{o}) qϕ(z1,Tx1:To) 被定义为一个自回归模型,如前所述,

q ϕ ( z 1 , T ∣ x 1 : T o ) = ∏ t = 1 T N ( z t ∣ μ e n c ( x 1 , t o ) , d i a g ( σ e n c 2 ( x 1 , t o ) ) ) q _ { \phi} ( z_{1, T}|x_{1:T}^{o}) = \prod _ { t = 1 } ^ { T } N ( z _ {t} | \mu _ { enc } ( x _ { 1 , t } ^ { o } ) , d i a g ( \sigma _ { enc } ^ { 2 } ( x _ { 1 , t } ^ { o } ) ) ) qϕ(z1,Tx1:To)=t=1TN(ztμenc(x1,to),diag(σenc2(x1,to)))

给定一系列观测值 x 1 : T o x_{1:T}^{o} x1:To,首先对缺失值应用零插补,即,如果 s t , j = 1 s_{t,j}=1 st,j=1 并且 x t , j ′ = 0 x_{t,j}^{\prime}=0 xt,j=0 ,则 x t , j ′ = x 1 : T o x_{t,j}^{\prime}=x_{1:T}^{o} xt,j=x1:To。然后,将missing indicators拼接到 x 1 , T ′ x_{1,T}^{\prime} x1,T ,并将1D CNN应用于时间轴,如 r 1 : T = C N N ( x 1 , T ′ ) r_{1:T}=CNN(x_{1,T}^{\prime}) r1:T=CNN(x1,T)。在计算了 r 1 : T r_{1:T} r1:T 之后,与解码器类似,使用具有因果掩码的transformer来计算:

h t = T r a n s f o r m e r d e c ( r 1 : t ) h _ { t } = T r a n s f o r m e r _ { d e c } ( r _ { 1 : t } ) ht=Transformerdec(r1:t)

( μ d e c ( x 1 : t o ) , σ d e c ( x 1 : t o ) ) = M L P d e c ( h t ) ( \mu _ { d e c } ( x _ { 1 : t }^{o} ) , \sigma _ { d e c } ( x _ { 1 : t }^{o} ) ) = M L P _ { d e c } ( h _ { t } ) (μdec(x1:to),σdec(x1:to))=MLPdec(ht)

Objective

定义了所有组成后,supernotMIWAE的IWAE界限计算如下:

L ( K ) ( λ , θ , ψ , ϕ ) : = E [ log ⁡ 1 K ∑ k = 1 K ω k ] L ^ { ( K ) } ( \lambda , \theta , \psi , \phi ) : = E \left[ \log \frac { 1 } { K } \sum _ { k = 1 } ^ { K } \omega _ { k } \right] L(K)(λ,θ,ψ,ϕ):=E[logK1k=1Kωk]

ω k : = p λ ( y ∣ x 1 : T o , x k , 1 : T m ) p ψ ( s 1 : T ∣ x 1 : T 0 , x k , 1 : T m ) × p θ ( x 1 : T o ∣ z k , 1 : T ) p θ ( z k , 1 : T ) / q ϕ ( z k , 1 : T ∣ x 1 : T o ) \omega _ { k } : = p _ { \lambda } ( y | x _ { 1 : T } ^ { o } , x _ { k , 1 : T } ^ { m } ) p _ { \psi } ( s _ { 1 : T } | x _ { 1 : T } ^ { 0 } , x _ { k , 1 : T } ^ { m } ) \times p _ { \theta } ( x _ { 1 : T } ^ { o } | z _ { k , 1 : T } ) p _ { \theta } ( z _ { k , 1 : T })/ q _ { \phi }(z _ { k , 1 : T }|x _ { 1 : T } ^ { o }) ωk:=pλ(yx1:To,xk,1:Tm)pψ(s1:Tx1:T0,xk,1:Tm)×pθ(x1:Tozk,1:T)pθ(zk,1:T)/qϕ(zk,1:Tx1:To)

其中, ω k \omega _ { k } ωk 是重要性权重项。

ObsDropout

在这里插入图片描述

ObsDropout 用来正则化 supnotMIWAE 以获得更好的插补效果。因为前述目标函数缺乏明确的监督目标,使用该目标训练的模型不太可能生成实际的缺失值。

ObsDropout:当将观测到的输入 $x^{o}_{1:T} $和插补缺失值 x 1 : T m x^{m}_{1:T} x1:Tm 传递给分类器时,故意删除观测到的输入的某些部分。在不丢弃观测到的输入的情况下,分类器可能严重依赖观测到的输入来进行分类,但如果在训练过程中丢弃了一些观测到的输入,分类器可以更多地关注插补缺失值 x 1 : T m x^{m}_{1:T} x1:Tm。因此,鼓励模型生成更多有利于分类的“有用”缺失值。更具体地说,让 β β β是一个预定义的Dropout概率。然后,将插补的输入 x ^ \widehat { x } x 构造到分类器,如下所示:

x ^ 1 : T : = ( x 1 : T o , x 1 : T m ) w h e r e x 1 : T m ∼ p θ ( x 1 : T m ∣ z 1 , T ) \widehat { x } _ { 1 : T } : = ( x ^ { o } _ { 1 : T } , x ^ { m } _ { 1 : T } ) \quad w h e r e \quad x ^ { m } _ { 1 : T } \sim p _ { \theta } ( x ^ { m } _ { 1 : T } | z _ { 1 ,T} ) x 1:T:=(x1:To,x1:Tm)wherex1:Tmpθ(x1:Tmz1,T)

m t , j = B e r n ( 1 − β ) m _ { t,j } = Bern( 1 - \beta ) mt,j=Bern(1β)

x ^ t , j = D e c a y ( s t , j , x t , j , γ x ^ t , j , x t ′ , j , x ~ t , j ) \widehat { x } _ { t , j } = D e c a y ( s _ { t , j } , x _ { t , j } , \gamma _ { \widehat { x } _{t,j} } , x _ { t^ { \prime } , j } , \tilde { x } _ { t , j } ) x t,j=Decay(st,j,xt,j,γx t,j,xt,j,x~t,j)

Prediction

与 SupMIWAE 类似,利用自归一化重要性抽样 (SNIS) 来近似新输入 x 1 : T o x^{o}_{1:T} x1:To 的预测分布。

实验结果

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

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

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

相关文章

Qt登录页面

#include "mywidget.h" #include "ui_mywidget.h"MyWidget::MyWidget(QWidget *parent): QWidget(parent), ui(new Ui::MyWidget) {ui->setupUi(this);//接收动图QMovie *mv new QMovie(":/pictrue/luori.gif");ui->loglab->setMovie(…

修复编译RK3568-buildroot时提示不能使用root权限编译的问题

问题 使用 rk3568 的 sdk 中的 buildroot 来编译根文件系统的时候,出现 "you should not run configure as root (set FORCE_UNSAFE_CONFIGURE1 in environment)" 的错误。 解决方法 根据错误提示,我们将 set FORCE_UNSAFE_CON…

算法打卡day16

今日任务: 1)513.找树左下角的值 2)112.路径总和 3)113.路径总和Ⅱ 4)106.从中序与后序遍历序列构造二叉树 5)105.从前序与中序遍历序列构造二叉 513.找树左下角的值 题目链接:513. 找树左下角…

如何在软件测试行业走的更远?

🍅 视频学习:文末有免费的配套视频可观看 🍅 点击文末小卡片 ,免费获取软件测试全套资料,资料在手,涨薪更快 时间往前推10年,IT业如日中天。 其中测试更是一个极具包容性的行业。那些希望在技术…

【云开发笔记No.9】Kanban与敏捷开发

Kanban看板起源于丰田。 看板(Kanban)一词来自日文,本义是可视化卡片。如下图所示,看板工具的实质是:后道工序在需要时,通过看板向前道工序发出信号——请给我需要数量的输入,前道工序只有得到看…

Orangedx:引领新一轮 BTCFi 浪潮

“OrangeDx 作为新一轮 BTCFi 浪潮引领者被市场寄予厚望 ,前不久在 FinceptorApp 的平台的公开销售 20 万美元的额度仅在几秒售罄,而其即将以 Startup 方式登陆 Gate 平台也同样备受市场期待。” 自 Ordinals 面向市场为比特币生态带来全新的资产发行方案…

翻过DP这座大山

1.AcWing 跳台阶 第一种方法:暴力搜索DFS #include <iostream> using namespace std;int dfs(int n) {if(n 1) return 1;else if(n 2) return 2;else return dfs(n-1)dfs(n-2); }int main() {int x; cin>>x;cout<<dfs(x)<<endl;return 0; }显然如…

银河麒麟系统安装设备类型选择lvm简单模式之后,数据写入导致失败导致系统重启无法正常加载

银河麒麟系统安装设备类型选择lvm简单模式之后&#xff0c;数据写入导致失败导致系统重启无法正常加载 一 系统环境1.1 系统版本信息1.2 通过镜像安装的过程中选择设备类型选择的是lvm简单模式 二 问题描述三 问题修复过程3.1 挂载ISO镜像&#xff0c;引导到字符终端界面3.2 修…

茶饮品牌抖音账号规划流量运营策划方案

【干货资料持续更新&#xff0c;以防走丢】 茶饮品牌抖音账号规划流量运营策划方案 部分资料预览 资料部分是网络整理&#xff0c;仅供学习参考。 抖音运营资料合集&#xff08;完整资料包含以下内容&#xff09; 目录 冷启动期 1. 直播前期准备 - 进行DOUA/B测试&#xff0…

jupyter操作LSTM模型,词向量模型理解

1.jupyter没有torch模块&#xff0c;参考下面链接的解决办法 【jupyter notebook安装配置教程&#xff0c;导入pytorch解决No module named torch-哔哩哔哩】 https://b23.tv/jYGvyVR 2.jupyter中没有某一模块怎么办&#xff0c;可以用pycharm打开一个项目&#xff0c;在该项…

人工智能三剑客NumPy、pandas、matplotlib和Jupyter四者之间的关系

NumPy 主要用途&#xff1a;NumPy&#xff08;Numerical Python的缩写&#xff09;主要用于处理大型多维数组和矩阵的科学计算。它提供了一个高性能的多维数组对象&#xff0c;以及用于数组操作的工具。与其他三者的联系&#xff1a;NumPy是pandas和matplotlib的基础库之一。许…

网络七层模型之应用层:理解网络通信的架构(七)

&#x1f90d; 前端开发工程师、技术日更博主、已过CET6 &#x1f368; 阿珊和她的猫_CSDN博客专家、23年度博客之星前端领域TOP1 &#x1f560; 牛客高级专题作者、打造专栏《前端面试必备》 、《2024面试高频手撕题》 &#x1f35a; 蓝桥云课签约作者、上架课程《Vue.js 和 E…

hcia datacom课程学习(3):http与https、FTP

1.超文本传输协议&#xff1a;http与https &#xff08;1&#xff09;用来访问www万维网。 wwwhttp&#xff0b;html&#xff0b;URLweb &#xff08;2&#xff09;它们提供了一种发布和接受html界面的方法&#xff1a;当在网页输入URL后&#xff0c;从服务器获取html文件来…

Java项目基于Docker打包发布

一、后端项目 1.打包应用 mvn clean package -DskipTests 2、新建dockerfile文件 #基础镜像 FROM openjdk:8 #工作空间 WORKDIR /opt #复制文件 COPY wms-app-1.0-SNAPSHOT.jar app.jar&#xff08;add也可以&#xff09; #配置容器暴漏的端口 EXPOSE 8080 //不暴露端口使用…

软件测试|Python random模块,超乎想象的强大

Python的random模块是一个非常强大的工具&#xff0c;用于生成随机数和随机选择。它提供了许多函数和方法&#xff0c;可以满足各种随机化需求。本文将介绍random模块的基本功能和常见用法&#xff0c;以帮助读者更好地理解和利用这个模块。 返回整数 random.randange() 语法…

关于 FastAPI 路径参数,你知道多少?

你好&#xff0c;我是 shengjk1&#xff0c;多年大厂经验&#xff0c;努力构建 通俗易懂的、好玩的编程语言教程。 欢迎关注&#xff01;你会有如下收益&#xff1a; 了解大厂经验拥有和大厂相匹配的技术等 希望看什么&#xff0c;评论或者私信告诉我&#xff01; 文章目录 一…

React Developer Tools安装

问题描述 在react开发中&#xff0c;需要插件来帮助我们开发&#xff0c;例如&#xff1a; 方法 &#xff08;可能需要魔法 进去后搜索&#xff1a; 点击下载即可

【Nebula笔记】基础操作

目录 一、预备~ 二、基础操作 (一) 图空间 1. 创建图空间 2. 清空图空间 3. 其他 4. FAQ 执行DROP SPACE语句删除图空间后&#xff0c;为什么磁盘的大小没变化&#xff1f; (二) 点类型 1. 创建Tag 2. 删除Tag 3. 更新Tag 4. 其他 (三) 边类型 1. 创建Edge type…

git如何在某个commitId的状态提交到一个分支

有些时候&#xff0c;我们在使用子仓库&#xff0c;或者其他情况&#xff0c;会有一个状态是当前的git仓库是在一个commitId上&#xff0c;而没有在一个分支上&#xff1a; 这时如果想要把基于这个commitId创建一个分支&#xff0c;可以使用下面这个命令&#xff1a; git push…

HCIA实验

实验目的&#xff1a; 1、R6为ISP&#xff0c;接口IP地址均为公有地址&#xff0c;该设备只能配置IP地址&#xff0c;之后不能再对其进行任何配置&#xff1b; 2、R1-R5为局域网&#xff0c;私有IP地址192.168.1.0/24&#xff0c;请合理分配&#xff1b; 3、R1、R2、R4&#x…