多维时间序列
paper under ICLR 2022 double-blind review
(1)Graph-augmented Normalizing Flows for Anomaly Detection of Multiple Time Series
论文地址:
Abstract
对于各种各样的数据类型,异常检测是一项广泛研究的任务;其中,多时间序列经常出现在应用中,例如电网和交通网络。然而,由于组成序列之间复杂的相互依赖性,检测多个时间序列的异常是一个具有挑战性的课题。我们假设异常发生在分布的低密度区域,并探索使用标准化流进行无监督异常检测,因为它们在密度估计方面的优越性。此外,我们提出了一种新的流模型,通过在组成序列之间施加贝叶斯网络。贝叶斯网络是建立因果关系模型的有向无环图(DAG);它将序列的联合概率分解为易于计算的条件概率的乘积。我们将这种图增强归一化流方法称为GANF,并提出了带流参数的DAG联合估计。我们在真实数据集上进行了大量实验,证明了GANF在密度估计、异常检测和时间序列分布漂移识别方面的有效性。
Contribution
- 我们提出了一个框架,用图结构学习来增强标准化流程,以建模多个时间序列中的相互依赖关系。
- 我们应用增强流模型检测多维时间序列数据中的异常,并进行广泛的实证评估,以证明其在真实数据集上的有效性。
- 我们研究图形结构的演化,并识别跨越长时间周期的时间序列数据中的分布漂移。
标准流
x
∈
R
D
x\in R^{D}
x∈RD是
D
D
D维随机变量。一个标准化流是一个向量值可逆映射
f
(
x
)
:
R
D
→
R
D
f(x): R^{D}\to R^{D}
f(x):RD→RD将
x
x
x的分布标准化为“标准”分布(或称为基数分布)。该分布通常被视为各向同性高斯分布或其他易于取样且其密度易于评估的分布。使
z
=
f
(
x
)
z=f(x)
z=f(x),概率密度函数为
q
(
z
)
q(z)
q(z)。随着可变量公式的变化,我们可以用以下公式表示
x
,
p
(
x
)
x,p(x)
x,p(x)的密度:
在实际应用中,上式中中的雅可比行列式需要易于计算,以便可以计算密度
p
(
x
)
p(x)
p(x)。此外,作为生成模型,
f
f
f的可逆性允许通过抽样基数分布绘制新实例
x
=
f
−
1
(
z
)
x=f^{-1}(z)
x=f−1(z)。这种函数
f
f
f的一个例子是掩膜自回归流(Papamakarios et al.,2017),其中
z
=
[
z
1
,
⋯
,
z
D
]
z=[z_1,\cdots ,z_D]
z=[z1,⋯,zD]
其中
μ
i
\mu_i
μi和
α
i
\alpha_i
αi是神经网络,如多层感知器。
一个流可以为可能具有不同的维度条件信息
h
∈
R
d
h\in R^d
h∈Rd。这种流是一种传统流,用
f
:
R
D
×
R
d
→
R
D
f:R^D\times R^d\to R^D
f:RD×Rd→RD表示。.X的对数密度取决于以下公式:
现在我们考虑时间序列的非标准化流。使
X
=
[
x
1
,
x
2
,
⋯
,
x
T
]
X=[x_1,x_2,\cdots , x_T]
X=[x1,x2,⋯,xT]表示长度
T
T
T的时间序列,其中
x
T
∈
R
D
x_T\in R^D
xT∈RD.通过连续调节,时间序列的密度可以写成:
其中
x
<
t
x_{<t}
x<t表示
时
间
t
时间t
时间t之前的所有变量。当条件概率参数化时,将每个
p
(
x
t
∣
x
<
t
)
p(x_t\lvert x_{<t})
p(xt∣x<t)建模为
p
(
x
t
∣
h
t
−
1
)
p(x_t\lvert h_{t-1})
p(xt∣ht−1), 其中
h
t
−
1
h_{t-1}
ht−1包含了过去的信息
x
<
t
x_{<t}
x<t。举个例子,
h
t
−
1
h_{t-1}
ht−1是RNN在接受到输入
x
t
x_t
xt之前的隐含状态。因此,一个条件标准流可以用来评估每个
p
(
x
t
∣
h
t
−
1
)
p(x_t\lvert h_{t-1})
p(xt∣ht−1)。
Problem Statement
本文主要研究多维时间序列的无监督异常检测。训练集只包含未标记的实例,我们假设其中大多数不是异常。每个实例x∈ D包含具有数据属性和长度的连续系列;
x
=
(
x
1
,
x
2
,
⋯
,
x
n
)
x=(x_1,x_2,\cdots,x_n)
x=(x1,x2,⋯,xn)其中
x
i
∈
R
T
×
D
x_i\in R^{T\times D}
xi∈RT×D。我们使用贝叶斯网络(DAG)对组成序列的关系结构进行建模,并通过形式(5)中的因式分解,增加标准化流来计算x的密度。
A
∈
R
n
×
n
A\in R^{n\times n}
A∈Rn×n为DAG的邻接矩阵,设
F
:
(
X
,
A
)
→
Z
F:(X,A)\to Z
F:(X,A)→Z为增流。由于异常点往往具有低密度,我们建议通过评估通过增强流计算的多个时间序列的密度来进行无监督异常检测。这个问题的表述如下。
问题1。给定多维时间序列的训练集
D
=
{
X
i
}
i
=
1
∣
D
∣
D=\{X_i\}^{\lvert D\lvert}_{i=1}
D={Xi}i=1∣D∣,我们的目标是同时学习表示组成序列之间条件依赖关系的贝叶斯网络的邻接矩阵,以及相应的图增量标准流
F
:
(
X
,
A
)
→
Z
F:(X,A)\to Z
F:(X,A)→Z 用于估计实例
X
X
X的密度。这里,
Z
Z
Z是一个具有“简单”分布的随机变量,例如各向异性高斯分布。
Method
在这一节中,我们在问题陈述中介绍了如何具体化图增量标准流 F : ( X , A ) → Z F:(X,A)\to Z F:(X,A)→Z,并使用它计算多维时间序列的密度。其核心思想是因子分解:我们使用贝叶斯网络沿序列维度对 p ( x ) p(x) p(x)进行因子分解,然后使用条件规范化流沿时间维度进行因子分解。然后,我们使用一种新的基于图的依赖编码器来参数化由因子分解产生的条件概率。用于因子分解的DAG是一个离散对象,通常难以学习;然而,离散结构通过可微的图邻接矩阵反映在依赖编码器中。此外,A必须对应于DAG的要求可以表示为可微方程。因此,可以使用基于梯度的优化来联合优化A和流组件。学习到F以后,直接评估密度 p ( x ) p(x) p(x)以进行异常检测。图1显示了GANF框架的图示。
(2)Causal Discovery from Conditionally Stationary Time-series
条件平稳时间序列的因果发现
Abstract
因果发现,从对场景或系统的观察中推断潜在的因果关系,是人类认知中的一种固有机制,但已被证明是自动化的高度挑战。针对该任务的文献中的大多数方法考虑具有完全观察到的变量或来自平稳时间序列的数据的约束场景。
在这项工作中,我们的目标是在一类更一般的场景或系统中发现因果关系,这些场景和系统具有随时间变化的非平稳行为。出于我们的目的,我们在这里将场景视为一个合成对象,对象随着时间的推移相互作用。非平稳性被建模为以基本变量(一种状态)为条件的平稳性,该状态可以具有不同的维度,或多或少隐藏场景的给定观察值,也或多或少直接依赖于这些观察值。
我们提出了一种称为状态相关因果推理(SDCI)的概率深度学习方法,用于在这种条件平稳的时间序列数据中发现因果关系。在两种不同的合成场景中的结果表明,该方法即使在具有隐藏状态的情况下也能够精确地揭露潜在的因果依赖关系。
Contribution
文章提出了一种从系统的时间序列观测值中发现因果关系的方法,其中潜在因果图根据状态变量而变化,并对以下四类场景进行了分析研究:
1.状态量可观测,不依赖其他观察到的时间序列。
2. 状态量不可直接观测,而是直接依赖于观察到的变量,并从中不断推断出来的。
3. 状态依赖于早期时间,因此无法持续观察。
4. 场景是由潜在的状态变量控制的,这些状态变量不能从场景随时间变化的观察结果中完全推断出来。在这样的场景中,状态是观察到的时间序列的未知混杂因素。
状态相关因果推理SDCI
problem formulation
输入由一组时间序列组成,这些时间序列不仅服从可能随时间变化的某些动力学,而且在序列上经历不同的状态。这些状态对样本的动力学变化负责。我们观察整个帧的序列,并将样本x表示为:
其中,
{
s
i
1
:
T
}
i
=
1
N
\{ s_i^{1:T} \}_{i=1}^N
{si1:T}i=1N表示隐藏状态,
{
p
i
1
:
T
}
i
=
1
N
\{ p_i^{1:T} \}_{i=1}^N
{pi1:T}i=1N表示观察到的感兴趣的量。为了简单起见,我们在引用单个时间步中的所有元素(例如
x
t
,
p
t
,
s
t
x_t, p_t, s_t
xt,pt,st等)时删除下标。在因果图中,观测量由顶点表示,因果图的边表示顶点之间的交互类型。我们用
n
t
n_t
nt表示可能的交互类型的数量。
假设。在这项工作中,我们假设数据生成过程遵循结构因果模型(SCM)(Pearl,2009),G1:T,并且该模型满足一阶马尔可夫性质。此外,根据因果关系的定义(Granger,1969),我们假设因果图的边不能追溯到时间。第一个假设遵循与样本相关的工作,其中生成过程也遵循SCM(Löwe等人,2020;Li等人,2020)。虽然我们假设了一阶马尔可夫性质,但我们可以推广到更一般的情形p−th order Markov属性在更复杂的场景中。
依赖于状态的因果推理。基于这些假设,我们主要关注非平稳因果图,这意味着我们可以在不同的时间找到不同的边类型。对于两个顶点之间的边,两个顶点之间的边类型交互根据作为交互源的变量的状态而变化。我们方法的主要重点在于提取因果总结图G(Li et al.(2020)和Löwe et al.(2020)也这样表示)。以前针对这项任务的方法假设时间序列数据是平稳的,因此,因果总结图是常数。尽管如此,由于我们将样本的平稳性置于状态上,我们的因果汇总图是通过这个分类变量表示的。换句话说,我们的方法将提取汇总图,每个状态一个。然后,可以在每个时间步t中查询边缘交互类型:
z
i
j
t
=
G
i
j
(
s
i
t
)
z_{ij}^t = G_{ij}(s_i^t)
zijt=Gij(sit)其中
z
i
j
t
∈
{
0
,
⋯
,
n
t
−
1
}
z_{ij}^t\in\{0,\cdots,n_{t-1}\}
zijt∈{0,⋯,nt−1}表示从i到j时间步长t边缘类型交互。图1演示了此任务。一般来说,此因果概要图特定于输入样本,并隐藏在模型中。因此,我们不仅需要设计一个可参数化的函数来推断潜在的因果结构,而且还需要评估这种推断如何符合输入序列中观察到的实际动态。
提取潜在因果结构的第一步
G
(
s
)
=
f
ϕ
(
p
1
:
T
,
s
1
:
T
)
G(s) = f_{\phi}(p^{1:T},s^{1:T})
G(s)=fϕ(p1:T,s1:T)其中
f
ϕ
f_{\phi}
fϕ表示接收所有观测序列作为输入的可参数化函数。下一步是将提取的潜在结构拟合到我们假设的一阶马尔可夫动力学中。
(
p
~
t
+
1
,
s
~
t
+
1
)
=
f
ψ
(
x
t
,
G
(
s
t
)
)
(\tilde{p}^{t+1},\tilde{s}^{t+1}) = f_{\psi}(x^t,G(s^t))
(p~t+1,s~t+1)=fψ(xt,G(st))
其中,可参数化函数
f
ψ
f_{\psi}
fψ表示从时间步长t的观测值开始的动力学一步计算。在这个表达式中,我们定义了
f
ψ
f_{\psi}
fψ来预测下一时间步的状态值。然而,在我们的实验中,我们也将考虑在所有时间都观察到状态的设置,并且仅对量化类型
p
1
:
T
p^{1:T}
p1:T进行动态建模,以允许这种设置,只需要从监督中排除状态变量。我们将在下一节提供更多详细信息。
图1:SDCI旨在提取一个通用概要图,该图描述了每对边的边类型交互,该边类型交互取决于源变量相对于交互的状态
客观的通过最小化可参数化函数
f
ϕ
f_{\phi}
fϕ和
f
ψ
f_{\psi}
fψ的某些目标,可以优化因果推理和动力学建模模块。
其中,R(·)是提取的图形结构上的正则化算子,可用于强制实施首选交互类型。