【论文阅读】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=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)(λ,θ,ψ,ϕ):=E[logK1k=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 的预测分布。

实验结果



相关推荐
古希腊掌管学习的神12 分钟前
[搜广推]王树森推荐系统笔记——曝光过滤 & Bloom Filter
算法·推荐算法
qystca13 分钟前
洛谷 P1706 全排列问题 C语言
算法
浊酒南街19 分钟前
决策树(理论知识1)
算法·决策树·机器学习
就爱学编程26 分钟前
重生之我在异世界学编程之C语言小项目:通讯录
c语言·开发语言·数据结构·算法
B站计算机毕业设计超人27 分钟前
计算机毕业设计PySpark+Hadoop中国城市交通分析与预测 Python交通预测 Python交通可视化 客流量预测 交通大数据 机器学习 深度学习
大数据·人工智能·爬虫·python·机器学习·课程设计·数据可视化
学术头条31 分钟前
清华、智谱团队:探索 RLHF 的 scaling laws
人工智能·深度学习·算法·机器学习·语言模型·计算语言学
18号房客35 分钟前
一个简单的机器学习实战例程,使用Scikit-Learn库来完成一个常见的分类任务——**鸢尾花数据集(Iris Dataset)**的分类
人工智能·深度学习·神经网络·机器学习·语言模型·自然语言处理·sklearn
feifeikon38 分钟前
机器学习DAY3 : 线性回归与最小二乘法与sklearn实现 (线性回归完)
人工智能·机器学习·线性回归
游客52041 分钟前
opencv中的常用的100个API
图像处理·人工智能·python·opencv·计算机视觉
古希腊掌管学习的神42 分钟前
[机器学习]sklearn入门指南(2)
人工智能·机器学习·sklearn