《DATA-GRU: Dual-Attention Time-Aware Gated Recurrent Unit for Irregular Multivariate Time Series》
DATA-GRU的基础,一部分是高斯插补,一部分是带衰减机制的GRU。作者结合高斯插补,增加了不可靠性感知注意力机制和症状感知注意力机制。
多维高斯分布
假设变量
x
=
[
x
1
,
x
2
]
T
\mathbf{x} = [x_1, x_2]^\mathrm{T}
x=[x1,x2]T,其二元高斯分布的概率密度函数为:
p
(
x
1
,
x
2
)
=
1
2
π
σ
1
σ
2
1
−
ρ
2
exp
(
−
1
2
(
1
−
ρ
2
)
(
x
1
−
μ
1
σ
1
+
x
2
−
μ
2
σ
2
−
2
ρ
x
1
−
μ
1
σ
1
x
2
−
μ
2
σ
2
)
)
p(x_1, x_2) = \frac{1}{2\pi \sigma_1 \sigma_2 \sqrt{1 - \rho^2} } \exp(-\frac{1}{2 (1 - \rho^2)} (\frac{x_1 - \mu_1}{\sigma_1} + \frac{x_2 - \mu_2}{\sigma_2} - 2 \rho \frac{x_1 - \mu_1}{\sigma_1} \frac{x_2 - \mu_2}{\sigma_2}))
p(x1,x2)=2πσ1σ21−ρ21exp(−2(1−ρ2)1(σ1x1−μ1+σ2x2−μ2−2ρσ1x1−μ1σ2x2−μ2))
ρ
\rho
ρ 是
x
1
x_1
x1 和
x
2
x_2
x2 的相关系数,
ρ
=
c
o
v
(
x
1
,
x
2
)
σ
1
σ
2
=
E
(
x
1
x
2
)
−
E
(
x
1
)
E
(
x
2
)
σ
1
σ
2
\rho = \frac{cov(x_1, x_2)}{\sigma_1 \sigma_2} = \frac{\mathbb{E}(x_1 x_2) - \mathbb{E}(x_1) \mathbb{E}(x_2)}{\sigma_1 \sigma_2}
ρ=σ1σ2cov(x1,x2)=σ1σ2E(x1x2)−E(x1)E(x2)
x
\mathbf{x}
x 的分布可以表示为:
x
∼
N
(
μ
,
Σ
)
\mathbf{x} \sim \mathcal{N}(\mu, \Sigma)
x∼N(μ,Σ)
其中,
μ
=
[
x
1
x
2
]
\mu = \begin{bmatrix} x_1 \\ x_2 \end{bmatrix}
μ=[x1x2] 是各维度均值,
Σ
=
[
c
o
v
(
x
1
,
x
1
)
c
o
v
(
x
1
,
x
2
)
c
o
v
(
x
2
,
x
1
)
c
o
v
(
x
2
,
x
2
)
]
\Sigma = \begin{bmatrix} cov(x_1, x_1) & cov(x_1, x_2) \\ cov(x_2, x_1) & cov(x_2, x_2) \end{bmatrix}
Σ=[cov(x1,x1)cov(x2,x1)cov(x1,x2)cov(x2,x2)] 是协方差矩阵。
二维以上的高斯联合分布在此基础上类推。
高斯过程
定义在连续域上的无限多个高维随机变量所组成的随机过程。与多元高斯分布不同的是,高斯过程需要通过均值函数和协方差函数(核函数)来确定。
首先我们可以先通过均值函数和协方差函数来确定一个高斯过程,但是目前没有任何观察值,这只是一个先验模型。一般情况下均值函数直接取
0
0
0。
当我们观测得到数据集 (
x
a
,
y
a
\mathbf{x}_a, \mathbf{y}_a
xa,ya),假设
y
a
∼
N
(
μ
a
,
Σ
a
)
\mathbf{y}_a \sim \mathcal{N}(\mu_a, \Sigma_{a})
ya∼N(μa,Σa),是多元高斯分布, 就可以对上面给定的先验高斯过程进行修正,得到后验过程。 再给定新的数据
x
b
\mathbf{x}_b
xb,需要求得
y
b
\mathbf{y}_b
yb。
加入
(
x
b
,
y
b
)
(\mathbf{x}_b, \mathbf{y}_b)
(xb,yb),数据仍然符合多维高斯分布:
[
y
a
y
b
]
∼
N
(
[
μ
a
μ
b
]
,
[
Σ
a
a
Σ
a
b
Σ
b
a
Σ
b
b
]
)
\begin{align} \begin{bmatrix} \mathbf{y}_a \\ \mathbf{y}_b \end{bmatrix} \sim \mathcal{N}( \begin{bmatrix} \mu_a \\ \mu_b \end{bmatrix}, \begin{bmatrix} \Sigma_{aa} &\Sigma_{ab}\\ \Sigma_{ba} &\Sigma_{bb} \end{bmatrix}) \end{align}
[yayb]∼N([μaμb],[ΣaaΣbaΣabΣbb])
其中,
μ
a
,
μ
b
\mu_a, \mu_b
μa,μb 由均值函数给出(一般给 0),
Σ
a
a
=
K
(
x
a
,
x
a
)
,
Σ
a
b
=
K
(
x
a
,
x
b
)
,
Σ
b
a
=
K
(
x
b
,
x
a
)
,
Σ
b
b
=
K
(
x
b
,
x
b
)
\Sigma_{aa} = K(\mathbf{x}_a, \mathbf{x}_a), \Sigma_{ab} = K(\mathbf{x}_a, \mathbf{x}_b), \Sigma_{ba} = K(\mathbf{x}_b, \mathbf{x}_a), \Sigma_{bb} = K(\mathbf{x}_b, \mathbf{x}_b)
Σaa=K(xa,xa),Σab=K(xa,xb),Σba=K(xb,xa),Σbb=K(xb,xb),
K
K
K是协方差函数(核函数)。
高斯过程一般使用径向基函数RBF:
K
(
x
i
,
x
j
)
=
σ
2
(
−
∥
x
i
−
x
j
∥
2
2
2
l
2
)
\begin{align} K(\mathbf{x}_i, \mathbf{x}_j) = \sigma^2(-\frac{\Vert \mathbf{x}_i - \mathbf{x}_j \Vert_2^2}{2 l^2}) \end{align}
K(xi,xj)=σ2(−2l2∥xi−xj∥22)
其中
σ
,
l
\sigma, l
σ,l 人为给出。
依据高斯分布的性质,(1)式 的条件分布依然是一个多维高斯分布:
y
b
∣
y
a
∼
N
(
μ
b
∣
a
,
Σ
b
∣
a
)
\begin{align} \mathbf{y}_b | \mathbf{y}_a \sim \mathcal{N}(\mu_{b|a}, \Sigma_{b|a}) \end{align}
yb∣ya∼N(μb∣a,Σb∣a)
直接给出后验高斯过程均值
μ
b
∣
a
\mu_{b|a}
μb∣a, 协方差
Σ
b
∣
a
\Sigma_{b|a}
Σb∣a 的求解公式(具体推导见贝叶斯优化):
μ
b
∣
a
=
Σ
b
a
Σ
a
a
−
1
(
y
a
−
μ
a
)
+
μ
b
Σ
b
∣
a
=
Σ
b
b
−
Σ
b
a
Σ
a
a
−
1
Σ
a
b
\begin{align} \mu_{b|a} &= \Sigma_{ba} \Sigma^{-1}_{aa} (\mathbf{y}_a - \mu_a) + \mu_b \\ \Sigma_{b|a} &= \Sigma_{bb} - \Sigma_{ba} \Sigma_{aa}^{-1} \Sigma_{ab} \end{align}
μb∣aΣb∣a=ΣbaΣaa−1(ya−μa)+μb=Σbb−ΣbaΣaa−1Σab
先验高斯过程(均值0,核函数为RBF):
后验高斯过程:
更形象的先验后验过程的解释:
DATA-GRU
1.高斯插补
x
∗
x_*
x∗:需要进行插补的样本
t
∗
t_*
t∗:该插补点的时间,
X
n
k
X_n^k
Xnk:已有的样本集合
T
n
k
T_n^k
Tnk:已有样本的时间点
n
n
n:n个点
k
k
k:k个高斯过程样本
对于缺失的值,可由高斯过程的条件分布进行插补:
可以看出作者选用的均值函数也是 0。协方差函数作者没有具体提到。
但是,高斯过程插补的值不一定是可信的,这一点可以由GP模型计算出来的方差来衡量。
作者也给出了衡量的方法:
u
[
x
∗
]
u[x_*]
u[x∗] 代表样本
x
∗
x_*
x∗ 的不可靠度。
2.Unreliability-aware attention mechanism
从数据质量的角度,作者希望根据可信度调整不同样本的权重,对数据重新进行了处理:
3.symptom-aware attention mechanism
根据医学知识,很多情况下是因为现实的治疗情况而导致数据缺失,缺失值可能也会包含信息,于是单独提出插补的值进行建模。
(10)式是一个滤波器,对可靠性高于0.5(方差高于0.5)的数据进行过滤,生成掩码
c
t
s
0
/
1
{c_t^s}_{0/1}
cts0/1 (下取整,对可靠度低的数据取-1,高可靠度取0),再通过(11)式选择出可信度低的数据。
deep symptom-aware input values
(12)式利用带衰减机制的GRU,对当前时间点的样本值进行估计
deep symptom-aware attention weights
(13)式利用该点的可信度
α
t
s
{\alpha_t^s}
αts (论文可能有误,如果是掩码就应该是
c
t
s
0
/
1
{c_t^s}_{0/1}
cts0/1),计算样本权重。
最后对经过了两个机制的视图进行组合,经过一个线性层和激活层组合起来,获得综合的表征结果。为什么使用ReLU,原文解释为“使学习的表征具有可解释性”
总结
1.作者巧妙地利用高斯过程所估计的均值方差,围绕原始数据和插补数据的可靠度来进行建模。
2.比较特别的一点是对单独提出缺失值,获取缺失本身所包含的信息。