Towards Out-of-Distribution Sequential Event Prediction: A Causal Treatment
Abstract
序列事件预测的目标是根据历史事件序列估计下一个事件,应用于序列推荐、用户行为分析和临床治疗。在实际应用中,下一事件预测模型是用一次采集到的序列数据进行训练的,需要推广到遥远未来的新到达的序列,这就要求模型处理从训练到测试的时间分布转移。在本文中,我们首先从数据生成的角度揭示了一个负面的结果,即由于潜在的上下文混杂因素,即历史事件和下一个事件的共同原因,现有的最大似然估计方法将无法应对分布转移。然后设计了一种新的基于后门调整的学习目标,并进一步利用变分推理使其易于处理序列学习问题。在此基础上,我们提出了一个具有分层分支结构的框架,用于学习特定于上下文的表示。在不同任务(例如,顺序推荐)上的综合实验证明了我们的方法以各种现成模型为骨干的有效性、适用性和可扩展性。
1. introduction
现实世界的问题场景充斥着顺序事件数据,这些数据由按时间顺序到达的事件组成,这些事件反映了某些行为、活动或响应。一个典型的例子是用户活动预测[56;12;62;20;44;[64]旨在利用用户最近的活动来估计未来的活动,这可以帮助在线平台(例如,电子商务或社交网络)中的下游目标广告。预测未来事件在一些实际情况中也发挥着核心作用,如临床治疗[3],以促进社会福利。
(顺序)事件预测的一个共同特性在于生成训练和测试数据的不同时间间隔。即,用一次收集的数据训练的模型应该预测未来的下一个事件[59];36个;[41]其中底层数据生成分布可能因环境变化而发生变化。然而,大多数现有的方法[20;14;37;24;44;39;19;[18]在问题表述和实证评估中都忽视了这一问题,这可能会导致模型规范错误,导致实际问题没有得到解决,并导致对模型在实际数据上的性能高估。
图1:推荐中的一个小例子。现有技术将虚假地关联非因果项目(“冰淇淋”和“沙滩t恤”),并在未来的新环境中产生意想不到的结果。我们的方法是通过抵消环境(季节)的影响来缓解这个问题。
处理顺序事件数据中的分布移位会带来几个重要的挑战。首先,时间位移要求模型具有分布外(out- distribution, OoD)泛化的能力[30],即从训练环境推进到遥远未来的未知新环境。专注于模型学习和分布内数据评估的现有技术可能会在OoD测试实例上产生次优结果。第二,如前所述,影响事件产生的外部因素是存在的。这些外部因素,我们称之为环境,在实践中是观察不到的。为了消除它们的影响,可能还需要描述上下文如何影响事件生成的潜在分布。不幸的是,由于数据收集的限制,这些信息往往是不可访问的,这需要模型从纯观察序列中学习。
1.1 Our Contributions
为了解决这些困难,本文采用生成的视角来研究时序分布偏移问题,并提出了一种新的实例化变分上下文调整方法来解决序列事件预测问题。
A generative perspective on temporal distribution shift.:我们使用概念验证结构因果模型(SCMs)来描述上下文、历史序列和标签(即下一个事件类型)之间在数据生成和模型预测方面的依赖性。我们表明,上下文本质上是一个混杂因素,它导致模型利用虚假的相关性,无法推广到来自新分布的数据。图1给出了一个简单的例子来说明这个问题。
Variational context adjustment:我们提出了一种变分语境调整方法来解决这个问题。由此产生的新学习目标具有双重效果:1)有助于以数据驱动的方式揭示潜在上下文和序列之间的潜在关系,2)消除上下文的混淆效应,以促进模型探索感兴趣的真正因果关系(如图1所示)。我们还提出了一种混合变分后验,通过随机模拟伪输入序列来近似上下文先验。
Instantiation by a flexible framework.:我们提出了一个名为CaseQ的框架来实例化目标中的成分,它可以与大多数现成的序列主干模型相结合。为了适应不同环境下的时间模式,我们设计了一种新的分层分支结构来学习序列的上下文特定表示。它可以动态地发展其架构以适应可变的上下文。
Empirical results:我们对三个序列事件预测任务进行了综合实验,并设计了评估协议来测试模型在时间分布变化下的性能。具体而言,当我们扩大训练数据和测试数据之间的时间间隔时,CaseQ可以缓解顺序推荐性能下降的47:77% w.r.t t. Normalized Discounted Cumulative Gain (NDCG)和35:73% w.r.t. Hit Ratio (HR),显示了它对时间分布变化的鲁棒性。
1.2 Related Works
序列事件预测[25]旨在预测给定历史事件序列的下一个事件,其应用包括在线商业平台的项目推荐,社交网络的用户行为预测以及临床治疗的症状预测。早期作品[39;19;[18]依靠马尔可夫链和贝叶斯网络来学习事件关联。后来,提出了基于深度学习的方法来捕获非线性时间动态,使用CNN [45], RNN [20;27个;[54],注意模型[24;50;51)等。这些模型通常使用在一定时间内收集的事件序列进行脱机训练。由于时间分布的变化,它们可能无法很好地推广到在线环境[41];36个;22)。我们的工作开发了一种原则性的方法,通过追求数据背后的因果关系,增强序列事件预测,对时间分布变化具有更好的鲁棒性。
Out-of-Distribution Generalization分布外概化[30];4;31日;[63]处理不同的训练和测试分布。这是一个普遍而又具有挑战性的问题,由于其重要性而受到越来越多的关注[26;42岁;52个;55]。对于事件预测,由于生成训练和测试数据的时间间隔不同,固有地存在分布移位。大多数现有的序列学习模型都假设数据是独立且同分布的[20];14;37)。尽管为其他研究领域(例如视觉和文本)的机器学习问题设计了各种面向对象泛化方法,但在顺序事件预测和顺序推荐系统方面仍未得到充分探索。
Causal Inference:因果推理[33];[35]是识别变量间因果关系,追求稳定鲁棒学习和推理的根本途径。它受到了广泛的关注,并被应用于计算机视觉等各个领域[57;28],自然语言处理[40;[32]和推荐系统[58;1]。一些现有的用户行为建模的因果框架[38;16;60;61;[17]旨在根据观察到的或预定义的模式提取因果关系,但它们通常需要领域知识或侧面信息作为指导,也没有考虑时间分布的变化。(1;2;6;[48]采用反事实学习来克服推荐任务中ad-doc偏差的影响(例如,曝光偏见,人气偏见)或减轻标题党问题,而他们不关注顺序事件的建模,仍然基于MLE作为学习目标。
2 Problem and Model Fromulation
χ
\chi
χ :事件种类的集合。
χ
=
{
1
,
2
,
⋯
,
M
}
\chi=\{1,2, \cdots, M\}
χ={1,2,⋯,M}
S
S
S:按时间顺序发生的时间序列
S
=
{
x
1
,
x
2
,
⋯
.
x
∣
S
∣
}
S = \{x_1,x_2,\cdots.x_{|S|}\}
S={x1,x2,⋯.x∣S∣}
c
c
c:影响事件分布的时间因素
S
,
Y
,
Y
^
,
C
S,Y,\hat{Y},C
S,Y,Y^,C: Y:ground-truth next event,
Y
^
:
p
r
e
d
i
c
t
e
d
n
e
x
t
e
v
e
n
t
\hat{Y}:predicted next event
Y^:predictednextevent
P
(
S
,
Y
∣
C
)
=
P
(
S
∣
C
)
P
(
Y
∣
S
,
C
)
P(S,Y|C) = P(S|C)P(Y|S,C)
P(S,Y∣C)=P(S∣C)P(Y∣S,C)
Problem Formulation:
(
S
i
,
y
i
)
∽
P
(
S
,
Y
∣
C
=
c
t
r
(
i
)
)
(S_i,y_i) \backsim P(S,Y|C = c_{tr}^{(i)})
(Si,yi)∽P(S,Y∣C=ctr(i))
(
S
j
,
y
j
)
∽
P
(
S
,
Y
∣
C
=
c
t
e
(
j
)
)
(S_j,y_j) \backsim P(S,Y|C = c_{te}^{(j)})
(Sj,yj)∽P(S,Y∣C=cte(j))
y
i
^
=
f
(
S
i
;
θ
)
\hat{y_{i}} = f(S_i;\theta)
yi^=f(Si;θ)
2.1 理解最大似然估计的局限性
Strucutal Causal Models(SCMS)
θ ∗ = arg min θ E ( S , y ) ∼ P ( S , Y ∣ C = c t r ) [ l ( f ( S ; θ ) , y ) ] \theta^{*}=\arg \min _{\theta} \mathbb{E}_{(\mathcal{S}, y) \sim P\left(S, Y \mid C=c_{t r}\right)}[l(f(\mathcal{S} ; \theta), y)] θ∗=argminθE(S,y)∼P(S,Y∣C=ctr)[l(f(S;θ),y)]
Confounding Effect of C
Intervention
2.2 Variational Context Adjustment 变分上下文调整
P θ ( Y ∣ d o ( S ) ) = ∑ i = 1 ∣ C ∣ P θ ( Y ∣ S , C = c i ) P ( C = c i ) P_{\theta}(Y \mid d o(S))=\sum_{i=1}^{|\mathcal{C}|} P_{\theta}\left(Y \mid S, C=c_{i}\right) P\left(C=c_{i}\right) Pθ(Y∣do(S))=∑i=1∣C∣Pθ(Y∣S,C=ci)P(C=ci)
l o g P θ ( Y ∣ d o ( S = S ) ) ≥ E c ∽ Q ( C ∣ S = S ) [ l o g P θ ( Y ∣ S = S , C = c ) ] − D K L ( Q ( C ∣ S = S ) ∣ ∣ P ( C ) ) logP_{\theta}(Y|do(S=S)) \ge \mathbb{E}_{c\backsim Q(C|S=S)}[logP_{\theta}(Y|S=S,C=c)]-D_{KL}(Q(C|S=S)||P(C)) logPθ(Y∣do(S=S))≥Ec∽Q(C∣S=S)[logPθ(Y∣S=S,C=c)]−DKL(Q(C∣S=S)∣∣P(C))
Learnable Prior via Mixture of Posteriors
P
(
C
)
≈
1
N
∑
i
=
1
N
Q
(
C
∣
S
=
S
i
)
P(C) \approx \frac{1}{N}\sum_{i=1}^{N}{Q(C|S=S_i)}
P(C)≈N1∑i=1NQ(C∣S=Si)
然而,这种方法的计算成本很高,并且在一定时间间隔内收集的有限数量的训练数据往往会导致有偏估计。
使用高斯混合作为灵活且可学习的先验,使用伪变分后验混合作为估计
P
^
(
C
)
=
1
R
∑
j
=
1
R
Q
(
C
∣
S
=
S
j
′
)
\hat{P}(C) = \frac{1}{R}\sum_{j=1}^{R}{Q(C|S=S^{'}_j)}
P^(C)=R1∑j=1RQ(C∣S=Sj′)
S
j
′
S^{'}_j
Sj′是随机生成的伪时间序列,并且使R << N 来减少计算成本
Model Instantiations
CaseQ framework
Event Embedding:
h
m
1
=
O
n
e
H
o
t
(
x
m
)
T
H
x
\mathbf{h}^{1}_{m} = OneHot(x_m)^T \mathbf{H}_x
hm1=OneHot(xm)THx
H
x
∈
R
M
×
d
\mathbf{H}_x \in\mathbb{R}^{M\times d}
Hx∈RM×d
Inference Unit:Context-Specific Encoder:
[
h
1
2
,
h
2
2
,
⋯
,
h
t
2
]
=
Φ
(
[
h
1
1
,
h
2
1
,
⋯
,
h
t
1
]
,
c
(
t
)
;
Θ
)
[h^2_1,h^2_2,\cdots,h^2_t] = \Phi([h^1_1,h^1_2,\cdots,h^1_t],c_{(t)};\Theta)
[h12,h22,⋯,ht2]=Φ([h11,h21,⋯,ht1],c(t);Θ)
{
Φ
k
(
⋅
;
θ
k
)
}
k
=
1
K
\left\{\Phi_{k}\left(\cdot ; \theta_{k}\right)\right\}_{k=1}^{K}
{Φk(⋅;θk)}k=1K
Θ = { θ k } k = 1 K \Theta = \{\theta_k\}_{k=1}^K Θ={θk}k=1K
Φ
(
[
h
1
1
,
h
2
1
,
⋯
,
h
t
1
]
,
c
(
t
)
;
Θ
)
=
∑
k
=
1
K
c
(
t
)
[
k
]
⋅
Φ
k
(
[
h
1
1
,
h
2
1
,
⋯
,
h
t
1
]
;
θ
k
)
\Phi([h^1_1,h^1_2,\cdots,h^1_t],c_{(t)};\Theta) = \sum_{k=1}^{K}{c_{(t)}[k] \cdot \Phi_{k}([h^1_1,h^1_2,\cdots,h^1_t];\theta_k)}
Φ([h11,h21,⋯,ht1],c(t);Θ)=∑k=1Kc(t)[k]⋅Φk([h11,h21,⋯,ht1];θk)
其中,
c
(
t
)
[
k
]
c_{(t)}[k]
c(t)[k]表示向量c(t)中的第k个元素,推理单元可以使用各种现成的序列模型来进行指定,例如递归神经网络(RNN)或自注意力(self-attention,SA)等。
Branching Unit:Dynamic Model Selection:
引入一个分支单元
Ψ
(
⋅
)
来参数化变分后验
Q
(
C
∣
S
)
,
旨在根据给定的序列获得
c
(
t
)
.
在每个时间步骤中,分支单元接受序列表示作为输入,并输出一个概率向量
q
t
∈
[
0
,
1
]
K
,
其中第
k
个元素表示相应上下文
c
k
的概率
引入一个分支单元\Psi(\cdot)来参数化变分后验Q(C|S),旨在根据给定的序列获得c_{(t)}.在每个时间步骤中,分支单元接受序列表示作为输入,并输出一个概率向量q_t \in [0,1]^K,其中第k个元素表示相应上下文c_k的概率
引入一个分支单元Ψ(⋅)来参数化变分后验Q(C∣S),旨在根据给定的序列获得c(t).在每个时间步骤中,分支单元接受序列表示作为输入,并输出一个概率向量qt∈[0,1]K,其中第k个元素表示相应上下文ck的概率
q
t
=
Ψ
(
h
t
1
;
Ω
)
,
w
h
e
r
e
∑
k
=
1
K
q
t
[
k
]
=
1
\mathbf{q}_t = \Psi(h_t^1;\Omega),where \sum_{k=1}^{K}{\mathbf{q}_t[k]} = 1
qt=Ψ(ht1;Ω),wherek=1∑Kqt[k]=1
q
t
∈
[
0
,
1
]
K
q_t \in [0,1]^K
qt∈[0,1]K
我们使用一个 (d_0) 维的上下文嵌入 (w_k \in \mathbb{R}^{d_0}) 来容纳每个上下文 (c_k) 的信息,通过一个嵌入矩阵 (H_c \in \mathbb{R}^{K \times d_0}) 来实现,其中 (w_k = c_k^T \cdot H_c),且 (d_0 = d(d + 1))。然后,我们将每个上下文嵌入分成几个固定大小的参数:(W_k \in \mathbb{R}^{d \times d})、(a_k \in \mathbb{R}^d) 和 (b_k \in \mathbb{R})。
W
k
∈
R
d
×
d
W_k \in \mathbb{R}^{d \times d}
Wk∈Rd×d
W k = w k [ : d 2 ] . r e s h a p e ( d , d ) , a k = w k [ d 2 : d ( d + 1 ) ] \mathbf{W}_k = \mathbf{w}_k[:d^2].reshape(d,d),\mathbf{a}_k = \mathbf{w}_k[d^2:d(d+1)] Wk=wk[:d2].reshape(d,d),ak=wk[d2:d(d+1)]
归因得分(attribution score)衡量一个序列在时间步t之前属于上下文
c
k
c_k
ck的可能性,可以通过以下方法计算:
s
t
k
=
<
a
k
,
T
a
n
h
(
W
k
h
t
)
>
s_{tk} = <a_k,Tanh(W_kh_t)>
stk=<ak,Tanh(Wkht)>
即,我们首先将序列表示投影到一个新的d维空间中,然后使用点积来度量相似性。
变分分布
Q
(
C
∣
S
=
S
)
Q(C|S = S)
Q(C∣S=S)可以被指定为概率向量
q
t
q_t
qt,它通过对
s
t
k
s_{tk}
stk进行Softmax函数计算得到,即
q
t
=
S
o
f
t
m
a
x
(
[
s
t
k
k
=
1
K
]
/
τ
)
q_t = Softmax([{s_{tk}}_{k = 1}^{K}]/\tau)
qt=Softmax([stkk=1K]/τ),
τ
\tau
τ控制置信水平。
为了在公式(3)中实现随机采样过程
c
∽
Q
(
C
∣
S
)
c \backsim Q(C|S)
c∽Q(C∣S),可以使用分类重参数化技巧,利用可微分采用从Gumbel-Softmax分布中获取样本。
q
t
[
k
]
=
e
x
p
(
(
s
t
k
+
g
)
/
τ
)
∑
k
=
1
K
e
x
p
(
(
s
t
k
+
g
)
/
τ
)
,
g
∽
G
u
m
b
e
l
(
0
,
1
)
q_t[k] = \frac{exp((s_{tk} + g) / \tau)}{\sum_{k=1}^{K}{exp((s_{tk} + g) / \tau)}},g \backsim Gumbel(0,1)
qt[k]=∑k=1Kexp((stk+g)/τ)exp((stk+g)/τ),g∽Gumbel(0,1)
之后公式7变为:
Φ ( [ h 1 1 , h 2 1 , ⋯ , h t 1 ] , c ( t ) ; Θ ) = ∑ k = 1 K q ( t ) [ k ] ⋅ Φ k ( [ h 1 1 , h 2 1 , ⋯ , h t 1 ] ; θ k ) \Phi([h^1_1,h^1_2,\cdots,h^1_t],c_{(t)};\Theta) = \sum_{k=1}^{K}{q_{(t)}[k] \cdot \Phi_{k}([h^1_1,h^1_2,\cdots,h^1_t];\theta_k)} Φ([h11,h21,⋯,ht1],c(t);Θ)=∑k=1Kq(t)[k]⋅Φk([h11,h21,⋯,ht1];θk)
CaseQ:a Hierarchical Branching Structure
前面提到的单层架构需要对每种类型的上下文都有一个独立的推理单元,即|C| = K,这有几个缺点:1)由于计算资源有限,无法容纳大量的上下文类型;2)现实环境并不是完全孤立的,因此在有限的训练数据下,独立参数化它们可能会导致过度拟合和不理想的泛化性能。为了解决这些限制,我们进一步为CaseQ框架设计一个层次分支结构。我们不使用单热向量,而是将上下文表示为0-1矩阵,即:
c
k
=
s
t
a
c
k
(
[
c
k
1
,
c
k
2
,
⋯
,
c
k
D
]
)
∈
{
0
,
1
}
D
×
K
c_k = stack([c_k^1,c_k^2,\cdots,c_k^D]) \in \{0,1\} ^{D \times K}
ck=stack([ck1,ck2,⋯,ckD])∈{0,1}D×K
式中,D表示层数,K表示每层的并行推理单元数。
c
k
c_k
ck中的每一行都是一个单热向量,表示一层中的某个推理单元,每种类型的上下文对应于某个推理单元的组合。然后,整个网络可以表示为多个并行推理单元和分支单元的堆栈:
[ h 1 l + 1 , h 2 l + 1 , ⋯ , h t l + 1 ] = ∑ k = 1 K q t l [ k ] ⋅ Φ k l ( [ h 1 l , h 2 l , ⋯ , h t l ] ; θ k ) [h^{l+1}_1,h^{l+1}_2,\cdots,h^{l+1}_t] = \sum_{k=1}^{K}{q_{t}^l[k] \cdot \Phi_{k}^l([h^l_1,h^l_2,\cdots,h^l_t];\theta_k)} [h1l+1,h2l+1,⋯,htl+1]=k=1∑Kqtl[k]⋅Φkl([h1l,h2l,⋯,htl];θk)
q t l = Ψ l ( h t l ) , l ∈ 1 , 2 , ⋯ , D q_t^l = \Psi^l(h_t^l), l \in {1,2,\cdots,D} qtl=Ψl(htl),l∈1,2,⋯,D
通过对当前隐藏状态和事件嵌入的关联分数进行排序,可以得到每个时间步长的最终预测结果:
y
^
t
=
a
r
g
m
a
x
m
∈
1
,
⋯
,
M
(
H
x
⋅
h
t
D
+
1
)
[
m
]
\hat{y}_t = argmax_{m\in{1,\cdots,M}}(H_x\cdot h_t^{D+1})[m]
y^t=argmaxm∈1,⋯,M(Hx⋅htD+1)[m]
loss function:
∑
S
∑
t
=
1
∣
S
∣
−
1
[
l
(
y
t
,
y
^
t
)
+
α
D
K
L
(
q
t
∥
1
R
∑
j
=
1
R
q
(
S
j
′
)
)
]
.
\sum_{\mathcal{S}} \sum_{t=1}^{|\mathcal{S}|-1}\left[l\left(y_{t}, \hat{y}_{t}\right)+\alpha \mathcal{D}_{K L}\left(\mathbf{q}_{t} \| \frac{1}{R} \sum_{j=1}^{R} \mathbf{q}\left(\mathcal{S}_{j}^{\prime}\right)\right)\right] .
∑S∑t=1∣S∣−1[l(yt,y^t)+αDKL(qt∥R1∑j=1Rq(Sj′))].
q
t
=
Flatten
(
⨂
l
=
1
D
q
t
l
)
∈
R
K
D
\mathbf{q}_{t}=\operatorname{Flatten}\left(\bigotimes_{l=1}^{D} \mathbf{q}_{t}^{l}\right) \in \mathbb{R}^{K^{D}}
qt=Flatten(⨂l=1Dqtl)∈RKD
q
t
=
F
l
a
t
t
e
n
(
⊗
l
=
1
D
q
t
l
)
∈
R
K
D
q_t = Flatten({\otimes}_{l=1}^{D}q_t^l) \in \mathbb{R}^{K^{D}}
qt=Flatten(⊗l=1Dqtl)∈RKD
Limitations and Conclusion
Limitaions and Potential Impacts
我们变分上下文调整框架的主要限制之一是将离散上下文(可能是无限多个)分层到一个固定的上下文集合中,以使目标可追踪。然而,对于处理无限多个离散混淆因素的所有工作来说,这仍然是一个普遍问题,而我们的框架已经在这个方向上取得了进展,将上下文集合的大小增加到 KD。我们期望在这个方向上能看到更多的工作。另外,由于问题设置的性质,其中上下文被定义为潜在的和抽象的因素(这是我们旨在解决的主要挑战,也是我们的贡献),很难甚至不可能确定其在现实世界中的意义。最后,我们预见不会有任何直接的负面社会影响。
Conclusion
在这篇论文中,我们致力于处理顺序事件预测中的时间分布偏移问题。换句话说,训练和测试数据来自具有不同上下文的不同分布。我们首先展示了现有方法在最大似然估计下会利用虚假相关性并产生不可取的预测结果。然后,我们提出了一种新的学习目标,结合了反向调整和变分推断技术。基于此,我们设计了一个新颖的模型框架来学习上下文特定的表示。大量实验证明了所提方法的实际有效性。我们希望我们的工作能为后续研究提供新的研究重点,并激发更多关于应对分布偏移的顺序事件预测的前沿研究。