排行
数据库百科
核心案例
行业报告
月度解读
大事记
产业图谱
中国数据库
向量数据库
时序数据库
实时数据库
搜索引擎
空间数据库
图数据库
数据仓库
大调查
2021年报告
2022年报告
年度数据库
2020年openGauss
2021年TiDB
2022年PolarDB
2023年OceanBase
首页
资讯
活动
大会
学习
课程中心
推荐优质内容、热门课程
学习路径
预设学习计划、达成学习目标
知识图谱
综合了解技术体系知识点
课程库
快速筛选、搜索相关课程
视频学习
专业视频分享技术知识
电子文档
快速搜索阅览技术文档
文档
问答
服务
智能助手小墨
关于数据库相关的问题,您都可以问我
数据库巡检平台
脚本采集百余项,在线智能分析总结
SQLRUN
在线数据库即时SQL运行平台
数据库实训平台
实操环境、开箱即用、一键连接
数据库管理服务
汇聚顶级数据库专家,具备多数据库运维能力
数据库百科
核心案例
行业报告
月度解读
大事记
产业图谱
我的订单
登录后可立即获得以下权益
免费培训课程
收藏优质文章
疑难问题解答
下载专业文档
签到免费抽奖
提升成长等级
立即登录
登录
注册
登录
注册
首页
资讯
活动
大会
课程
文档
排行
问答
我的订单
首页
专家团队
智能助手
在线工具
SQLRUN
在线数据库即时SQL运行平台
数据库在线实训平台
实操环境、开箱即用、一键连接
AWR分析
上传AWR报告,查看分析结果
SQL格式化
快速格式化绝大多数SQL语句
SQL审核
审核编写规范,提升执行效率
PLSQL解密
解密超4000字符的PL/SQL语句
OraC函数
查询Oracle C 函数的详细描述
智能助手小墨
关于数据库相关的问题,您都可以问我
精选案例
新闻资讯
云市场
登录后可立即获得以下权益
免费培训课程
收藏优质文章
疑难问题解答
下载专业文档
签到免费抽奖
提升成长等级
立即登录
登录
注册
登录
注册
首页
专家团队
智能助手
精选案例
新闻资讯
云市场
微信扫码
复制链接
新浪微博
分享数说
采集到收藏夹
分享到数说
举报
首页
/
VLDB2022 | NLC:在长时间序列上搜索相关窗口对
VLDB2022 | NLC:在长时间序列上搜索相关窗口对
时空实验室
2023-02-27
421
物联网和工业互联网等许多应用不断从传感器收集数据,形成长时间序列。查找时间序列之间的相关性是许多时间序列挖掘问题的基本任务。然而,现有的大多数研究要么仅限于检测关系的类型,例如仅检测线性相关性;要么不处理复杂的时间关系,例如不考虑未对齐的时间窗口或可变窗口长度。本次为大家带来数据库领域顶级会议
VLDB2022
的论文:《
NLC: Search Correlated Window Pairs on Long Time Series
》。
一.背景
由于传感器数据收集频率的增加和分布式存储系统的快速发展,许多最新的应用程序产生了大量的长时间序列。在分析时间序列数据时,一项基本任务是评估时间序列之间的相关性;在对时间序列进行搜索、分类以及聚类时,相关性可以直观且方便地进行相似性度量。然而,在分析长时间序列时,测量时间序列之间的相关性变得困难。这是因为通常情况下两个时间序列可能在某些时间间隔上相关,但在很长一段时间内始终相关的几率非常小;基于此,广泛使用的全局度量(例如皮尔逊系数)在分析长时间序列时是无效的。虽然目前也存在着一些局部的相关性挖掘工作,但其都旨在从长时间序列对中挖掘局部线性相关性。事实上,在许多应用中,由于复杂的物理或化学机制,时间序列具有很强的非线性关系。
因此,本论文采用互信息(
MI
)进行相关性度量,它是信息论中两个随机变量之间相互依赖关系的度量方法,广泛用于变量域,可以发现各种类型的相关关系,包括线性和非线性,单调和非单调,泛函和非泛函。
但是,如何有效地搜索具有高互信息值的窗口对的相关工作很少,其主要难点有:首先,计算
MI
它需要估计每个点的密度函数,因此比传统的测量(如皮尔逊相关性)成本高得多;其次,相关性发生在可变时延的变长窗口中,这大大增加了搜索空间;第三,它不是单调的,阻碍了我们使用传统的修剪策略。
基于此,本论文提出了一种两阶段方法,即非线性相关搜索(简称
NLC
)。在第一个阶段,生成一组
候选
的
相关窗口对,利用窗口收缩和窗口扩展两种策略。其中,窗口收缩适用于稀疏分布的相关性,可以快速修剪不符合的时间间隔;窗口扩展略慢,但当相关窗口分布更密集时,可以找到更多符合的窗口对。在第二阶段,利用嵌套的一维搜索策略对相关的窗口对候选进行优化。
二.定义
时间序列
X
:
X
={
x
1
,
x
2
,…,
x
n
}
是按时间顺序排列的数据序列。
时间窗口
W
=(
s
,
l
)
:
s
是时间窗口的起点,
l
是时间窗口的长度。
时间窗口对
(
X
(
s
,
l
),
Y
(
s’
,
l
))
或
<
s
,
l
,
τ
>
:两个时间窗口
X
(
s
,
l
)
和
Y
(
s’
,
l
)
的窗口长度
l
一样,但窗口的起点可能不一样。令时间延迟
τ
=
s’
-
s
,则时间窗口对可以表示为
<
s
,
l
,
τ
>
。
三.方法介绍
3.1
总体框架
图
1
为论文提出的
NLC
算法概述。
阶段一:生成窗口对候选集
。每一个候选的窗口对需要确定大致起点位置
s
和窗口长度
l
以及确切的延迟
τ
。生成候选集采用两种策略,窗口收缩和窗口扩展。
阶段二:窗口优化。利用一维搜索算法对候选集
进行优化。
图
1
算法概述
3.2
阶段一:候选集生成
阶段一采用两种策略,窗口收缩和窗口扩展。窗口收缩,首先找到可能包含相关对的大窗口,再通过修剪不相关的部分来缩小窗口。窗口扩展,首先对小窗口进行定位,再将其扩展到适当的长度。
窗口收缩
我们的目标查找大小在
[
L
min
,
L
max
]
范围内的所有相关窗口对。我们不是直接计算每对的户互信息
MI
,而是利用一个比
L
max
更大的窗口来过滤不合格对象,该窗口被称为信封窗口,其大小为
w
e
。形式上,我们将
X
拆分为一系列长度为
w
e
的不相交的信封窗口
(
X
1
,
X
2
,…,
X
n/
w
e
)
。假设在每个窗口
X
i
中最多存在一个比
Y
更小的相关窗口。
然后,我们逐一访问信封窗口
(
X
1
,
X
2
,…,
X
n/
w
e
)
,以确定是否包含候选窗口对。计算窗口
X
i
(
sp
i
,
,
w
e
)
和所有延迟的窗口
Y
(
sp
i
+
τ
,
,
w
e
)
的互信息
MI
,其中
τ
min
≤ τ ≤
τ
max
。若所有的
MI
值均小于阈值
θ
0
,则确定无相关对并移至下一个信封窗口
X
i+
1
;否则,选取具有最大
MI
值的窗口
Y
(
sp
i
+
τ
’
,
,
w
e
)
作为候选窗口,这意味着有可能在
X
中存在一个窗口,与
Y
(
sp
i
+
τ
’
,
,
w
e
)
中具有
延迟
τ
’
的窗口相关。
图2 窗口收缩
通过图二(
a
)举例说明,其中
θ
0
=0.3
,
w
e
=2000
。对于窗口
X
2
(2001,2000),
Y
(2001,2000)
和
Y
(2051,2000)
会被修剪排除,因为其
MI
值小于阈值
θ
0
=0.3
。由于
Y
(1951,2000)
具有最大
MI
值,故生成候选窗口
<2001,2000,-50>
。同样地,对于窗口
X
5
(8001,2000)
,
Y
(8001,2000)
和
Y
(8051,2000)
的
MI
值大于
0.3
,最终候选窗口为
<8001,2000,0>
。
显然,候选窗口可能包含不相关的部分,因为它具有较大的窗口长度和较小的阈值。因此,我们需要进行进一步的修剪。具体地说,我们将信封窗口拆分为一系列较小的不相交窗口,并修剪两端的不相关窗口。形式上,我们首先将信封窗口划分为长度为
miniL
的窗口,称为迷你窗口。然后,从左端修剪迷你窗口。我们计算
X
(
s
,
miniL
)
和
Y
(
s
+
τ
,
miniL
)
的
MI
值。如果
MI
值小于阈值,我们丢弃它并移动到第二个迷你窗口。这个过程一直持续到我们遇到
MI
值大于阈值的窗口。然后我们以类似的方式从右端修剪迷你窗口。两端调整后,我们再次计算剩余部分的
MI
值,如果
MI
值超过阈值,则将其添加至候选集中。
通过图二(
b
)举例说明,信封窗口为
<8001,2000,0>
且
miniL=2000
。在左侧,我们修剪迷你窗口直到
(8051,100)
;在右侧,我们修剪迷你窗口直到
(9301,100)
。其余部分是
(8501,800)
。我们重新计算该部分的
MI
值为
0.7
,大于阈值,故将
<8501,800,0>
加入候选集中。
窗口扩展
当相关对密集分布时,如果我们仍然使用大窗口,可能会出现两个不同的相关对出现在一个信封窗口中,这将导致某些相关对被忽略,因为我们只在一个信封窗口中保留一对。因此,窗口扩展策略是使用小窗口来查找候选窗口。
我们考虑用长度为
L
min
的窗口来遍历
X
。假设当前窗口为
X
(
sp
,
L
min
)
,我们计算与所有窗口
Y
(
s
+
τ
,
L
min
)
的
MI
值,其中
τ
min
≤ τ ≤
τ
max
。如果所有
MI
值均小于阈值,则确定此窗口无相关对,并移动下一个窗口
X
(
sp+ L
min
,
L
min
)
;否则,我们选择产生最大
MI
值的
τ
组成窗口对
<
sp
,
L
min
,
τ
>
。
与窗口收缩不同,由于窗口较小,我们在这找到的相关对可能只是整个对的一小部分。因此,我们需要在两边进行扩展来找到完整的窗口对。对于窗口对
X
(
sp
,
L
min
)
和
Y
(
sp
+τ,
L
min
)
,我们产生两个对窗口对
CP
1
=<
sp
,
L
min
+
L
max
,
τ
>
和
CP
2
=<
sp
-
L
max
,
L
min
+
L
max
,
τ
>
。然后,我们对
CP
1
和
CP
2
利用长度为
miniL
的迷你窗口进行修剪操作,并获得两个较短的对;再比较其对应的
MI
值,将
MI
值较大的窗口对加入到候选集
中。
图
3
窗口扩展
通过图
3
举例说明,其中
θ
0
=0.3
,长度范围为
[300,600]
,所以我们使用长度为
300
的串口进行修剪。在
τ
=0
时,即窗口为
(8501,300)
,
MI
值最大(从橙色线),故选该窗口进行扩展。扩展后,获得两个候选窗口
CP
1
=<8501,900,0>
和
CP
2
=<7901,900,0>
(分别为紫色线和蓝色线)。在利用
miniL
长度的迷你窗口进行修剪后,
CP
1
的
MI
值(从蓝色线看出
MI
为
0.8
)更大,故将其添加到候选集。
3.3
阶段二:候选集优化
对每个候选对
CP
=<
s
,
l
,
τ
>
,我们想要找到窗口对
<
s*
,
l*
,
τ
>
满足
(
s*
,
l*
)
⊂
(
s
,
l
)
且
MI
值最大,则
s*
和
l*
是最佳起点和最佳长度。最基本的做法是遍历所有的
s
和
l
,以找到最佳的
s*
和
l*
,但这会花费大量计算。因此,本文采用了
DIRECT
策略来加速搜索过程。
DIRECT
可以通过迭代有效地确定全局最优值,其基本思想是将搜索空间划分为区间,并通过采样和评估每个区间的中心点来选择要搜索的矩形。
对于候选对
CP
=<
s
,
l
,
τ
>,
搜索空间是一个矩形:起点
s
的搜索范围为
[
s
,
s
+
l
-
L
min
]
,长度的搜索范围为
[
L
min
,
L
max
]
。由于起点
s
和长度
l
是高度相关,不适用于
DIRECT
依次划分维度,故本文提出了一种嵌套的一维
DIRECT
搜索策略。基本思想是:在每一轮中,我们将当前矩形分成三个大小相等的矩形,左、中、右。然后我们在左边和右边矩形中选取最不可能包含点
(
s*
,
l*
)
的那个矩形进行删除,以此来缩小矩形。其中,包含点
(
s*
,
l*
)
的可能性由中心点的
MI
值进行评估。先上述方法寻找最佳起点
s*
,直至矩形缩小到比阈值小;再用同样的方法寻找最佳长度
l*(s)
。最后,再验证优化的窗口对是否有效,即
<
s*
,
l*
,
τ
>
的
MI
值是否大于阈值。若是,则将其添加到最终集合
中。
图
4
搜索过程
通过图
4
举例说明。在左图中,蓝色曲线是
[1001,1900]
范围内不同起点的
MI
值。我们的目标是在此范围内找到具有最高
MI
值的最佳起点。在第一轮中,我们将其分为三个等长范围
S
1
=[1001,1300],
S
2
=[1301,1600]
,
S
3
=[1601,1900]
,并获取中心点
s
1
,
s
2
,
s
3
。然后,我们找到
s
1
,
s
3
的
l*
(这将在后面阐述)。然后,再比较
(
s
1
,
l*
(
s
1
))
和
(
s
3
,
l*
(
s
3
))
的
MI
值。因为
(
s
1
,
l*
(
s
1
))
的
MI
值较小,故我们删除矩形
S
1
并生成一个较小的范围
[1301,1900]
。在第一轮中,我们再次将范围
[1301,1900]
分为三个范围
S
4
,
S
5
,
S
6
。可以看出,经过三轮,
s
5
处的
MI
值非常接近最高。
图
4
的右侧显示了在第一轮中搜索
l*
(
s
2
)
。我们将范围
[300,600](
L
min
=300,
L
max
=600)
拆分为三个范围
L
1
,
L
2
,
L
3
,其中点分别为
l
1
=500,
l
2
=450,
l
3
=350
。我们直接计算
MI(
s
2
,550)
和
MI(
s
2
,350)
,然后删除
L
1
,因为
MI(
s
2
,550)
更小。然后,一直迭代搜索范围
[300,500]
直至找到小于阈值的最佳长度
l*
(
s
2
)
。
四.实验
4.1
数据集
我们使用五个数据集进行实验,包括两个合成数据集和三个真实数据集。两个合成数据集分别具有线性和非线性相关,其长度为
100000
,其中值是从标准正态分布中随机选取的;三个真实数据集分别为
TE dataset
,
Stock market dataset
和
Electrical dataset
,其参数如
表
1
所示:
表
1
真实数据集参数设置
4.2
比较方法
在本文中,
NLC
与三种基线方法进行了比较:
TYCOS
,
MASS
和
Jocor
。
TYCOS
从长时间序列对中提取非线性相关窗口对,将延迟接受爬山[1]与窗口方法相结合,以执行自下而上的相关窗口对搜索。
MASS
可以有效地找到与长时间序列中的查询最相似的子序列。由于
MASS
的初衷与我们的问题不同,因此需要进行一些调整。
Jocor
寻找长度超过最小长度阈值的相关性最高的窗口对,并使用
PCC
作为度量。
4.3
评价标准
算法通过精度、召回率和
F1
值来衡量。
4.4
合成数据集上,各种算法的比较
NLC
E
和
NLC
S
分别表示带有窗口扩展策略的
NLC
算法和带有窗口收缩策略的
NLC
算法
图
5
算法比较(左图为线性数据集,右图为非线性数据集)
如图
5
左图所示,在线性数据集上,
NLC
E
实现了最高的精度、召回率和
F1
值;
NLC
S
的精度是第二高的,但它比
NLC
E
更高效,即运行时间短。
MASS
的
F1
值排名第二,但精度略低;这是因为
MASS
倾向于寻找更多可能包含噪音的窗口。
Jocor
的精度非常高,而由于搜索空间减少,召回率低于
MASS
。由于预处理步骤,除了
TYCOS
之外,运行时间要大得多。
TYCOS
在这里表现不佳主要是因为它只尝试了延迟参数的几个可能值。
如图
5
右图所示,在非线性数据集上,
NLC
E
的三个指标上都达到最佳,
NLC
S
排在第二位。与线性数据集的结果不同,
MASS
和
Jocor
虽然更有效,但在处理非线性相关性时效果不佳,这证明了基于
MI
的方法的优势。与
NLC
E
相比,
NLC
S
的优点是效率更高,并且在相关对密度较低时也可以达到较高的
F1
值,从表
2
中可以看出。
表
2
NLC
E
与
NLC
S
的比较
五.总结
该论文研究了两个长时间序列中的非线性相关搜索问题,提出一个两阶段的方法。在第一阶段,提出了两种策略来产生候选窗口对:窗口收缩策略适用于稀疏分布的相关性,而窗口扩展策略稍慢,但当相关性密集分布时,可以找到更多的对。在第二阶段,我们提出了一种嵌套搜索策略来删除候选窗口对。实验结果验证了
NLC
的有效性和高效性。
参考文献
[1]
Edmund K Burke and Yuri Bykov. 2017. The late acceptance hill-climbing heuristic.
European Journal of Operational Research
258, 1 (2017), 70–78.
-End-
本文作者
吴怡
重庆大学计算机科学与技术(卓越)专业在读大三学生,重庆大学
START
团队成员,主要研究方向:时空数据管理与挖掘。
时空艺术团队
(
START,Spatio-Temporal Art
)来自重庆大学时空实验室,旨在发挥企业和高校的优势,深入探索时空数据收集、存储、管理、挖掘、可视化相关技术,并积极推进学术成果在产业界的落地!年度有2~3名研究生名额,欢迎
计算机、GIS
等相关专业的学生报考!
时间序列
相关性分析
阈值
文章转载自
时空实验室
,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。
评论
领墨值
有奖问卷
意见反馈
客服小墨