【论文阅读】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 dataC//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=1∏dN(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∈{1...T}

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

Decoder

对观察到的 p θ ( x 1 : T o ∣ z 1 : T ) p _ { \theta } ( x _ { 1 : T } ^ { o } | z _ { 1 : T } ) pθ(x1:To∣z1: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,To∣z1,T)=t=1∏TN(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:To∣z1:T)和缺失 p θ ( x 1 : T m ∣ z 1 : T ) p _ { \theta } ( x _ { 1 : T } ^ { m } | z _ { 1 : T } ) pθ(x1:Tm∣z1:T)都使用相同的Decoder。

Missing model

缺失模型 p ψ ( s 1 : T ∣ x 1 : T ) p _ { \psi } ( s _ { 1 : T } | x _ { 1 : T } ) pψ(s1:T∣x1: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:T∣x1:T)=t=1∏Tj=1∏dBern(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λ(y∣x1: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(y∣Softmax(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:Tm∣z1: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:Tm∼pθ(x1:Tm∣z1: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:Tm∣z1:T)qϕ(z1:T∣x1:To)

这里,编码器 q ϕ ( z 1 , T ∣ x 1 : T o ) q _ { \phi} ( z_{1, T}|x_{1:T}^{o}) qϕ(z1,T∣x1: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,T∣x1:To)=t=1∏TN(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)(λ,θ,ψ,ϕ):=ElogK1k=1∑Kω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λ(y∣x1:To,xk,1:Tm)pψ(s1:T∣x1:T0,xk,1:Tm)×pθ(x1:To∣zk,1:T)pθ(zk,1:T)/qϕ(zk,1:T∣x1: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:Tm∼pθ(x1:Tm∣z1,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 的预测分布。

实验结果



相关推荐
JJJennie77712 小时前
当AI开始学会欺骗
网络·人工智能
糖果店的幽灵12 小时前
大模型测评DeepEval快速入门-安全与通用指标详解
人工智能·安全·langgraph·大模型测评·deepeval
江畔柳前堤18 小时前
roLabelImg 详细安装教程
开发语言·人工智能·后端·云原生
阿里云大数据AI技术18 小时前
分链路差异化设计的DSP准实时数仓|钛动科技基于阿里云实时计算 Flink 版 + DLF Paimon + EMR Serverless StarRocks 的实践
人工智能·flink
陕西企来客18 小时前
2026年7月AI智能搜索曝光趋势研判
大数据·人工智能·机器学习·ai智能搜索曝光
阿里云大数据AI技术19 小时前
从算力到智能体,面向 Agentic AI 的基础设施演进
人工智能·agent
hangyuekejiGEO19 小时前
GEO技术服务选型指南
大数据·人工智能·python
普通攻击往后拉19 小时前
Leetcode 206. 反转链表
算法·leetcode·链表
阿里云大数据AI技术20 小时前
EMR Serverless Spark AI Function 的双维降本实践
人工智能·sql·spark
维基框架20 小时前
GitHub源码处理提速 一趟扫描反而更慢
人工智能·github