专栏名称: 数学人生
欢迎关注数学人生。这里为大家提供江湖八卦,数学秘籍,科研经验,留学总结,转行咨询等各类信息。————读完博士之后,有人问我当年读博士期间一个人夜晚从办公室回宿舍的心情,我想起的不是孤单和路长,而是波澜壮阔的大海和天空闪耀的星光。
目录
相关文章推荐
超级数学建模  ·  男人的内裤,怎么这样了? ·  2 天前  
超级数学建模  ·  限时领 | ... ·  2 天前  
老顾谈几何  ·  浅谈黎曼因式分解理论 ·  昨天  
51好读  ›  专栏  ›  数学人生

时序数据与事件的关联分析

数学人生  · 公众号  · 数学  · 2017-12-07 19:22

正文

文章是:” Correlating Events with Time Series for Incident Diagnosis ” 是微软在2014年的工作,并且发表在KDD上。

本文提出了一种 无监督和统计判别 的算法,可以检测出事件(E)与时间序列(S)的关联关系,并且可以检测出时间序列(S)的单调性(上升或者下降)。在这篇文章中,选择的事件有CPU(Memory, Disk)Intensive Program,Query Alert;选择的时间序列有 CPU(Memory)Usage,Disk Transfer Rate。时间序列的特点是它们的值域范围都是[0,1]。

案例是:时间序列是CPU的Usage,事件是Disk Intensive task和CPU intensive task。

关联关系的挖掘分成三个部分:

(1)是否存在关联性( Existence of Dependency ):在事件(E)与时间序列(S)之间是否存在关联关系。

(2)关联关系的因果关系( Temporal Order of Dependency ):是事件(E)导致了时间序列(S)的变化还是时间序列(S)导致了事件(E)的发生。

(3)关联关系的单调性影响( Monotonic Effect of Dependency ):用于判断时间序列(S)是发生了突增或者是突降。

基本概念:

给定一个事件序列(E),事件发生的时间戳是 ,这里n表示有n个事件发生。时间序列(S)表示为 ,这里的m表示时间序列的长度。时间序列的时间戳可以选择一个等差序列,等差用 来表示,并且 ,and +

来表示某个事件, 表示序列S在事件 之后的长度为k的子序列, 表示序列S在事件 之前的长度为k的子序列。如果事件E与时间序列S之间存在关联关系,那么

应该是不一样的。

定义一: 如果事件序列E和时间序列S是相关的,并且 ,当且仅当 和随机选择的子序列分布不一致。

定义二: 如果事件序列E和时间序列S是相关的,并且 ,当且仅当 和随机选择的子序列分布不一致,并且 和随机选择的子序列分布一致。

定义三: 如果事件序列E和时间序列S是相关的,那么 或者

定义四: 如果 (or ),并且时间序列相比E之前是增加了,那么记为 (or )。如果 (or ),并且时间序列相比E之前是减少了,那么记为 (or )。

方法论:

第一步:最邻近算法(类似kNN)(Nearest Neighbor Method)

在计算时间序列之间距离的时候,使用 DTW算法 或者 DTW-D算法 会优于L1或者L2算法。

来做例子, 是随机选择的, ,可以标记为 ,其中 + when when + 。可以使用记号 ,其中 是随机选择的。

对于集合 而言, 表示 中距离x最近的第r个元素,对于两个不相交的集合 ,可以定义方程:

when ,

when otherwise.

该方程 表示x与x的第r个最近的邻居是否在同一个子集内。

定义

,

在这里 + 表示样本的总个数, 表示集合A的第i个元素。从直觉上讲,如果 小,则说明两类samples 混合得非常好,表示无异常情况;如果 大,则说明两类samples 有区分度,很多元素与它的邻居集中在某个子集里面,说明 这个集合与 有区分度。

根据文献里面的观点,当p足够大的时候, 遵循标准Gauss分布,其参数是 + , + ,

+ , +

根据传统的Gauss分布Test方法, 有显著的不同,当 ,在这里,参数可以按照以下标准设置:

for

for

如果 存在显著性偏差,那么说明 应该返回异常的标识。类似的,如果使用 并且它与 存在显著性偏差,那么说明 应该返回异常的标识。

第二步:关联顺序的挖掘(Mining Existence and Temporal Order)

如果前面的子序列 与随机选择的子序列 有显著偏差,那么说明时序的变化导致了事件的发生,

如果后面的子序列 与随机选择的子序列 有显著偏差,那么说明事件导致了时序的变化,

在Figure 3中,CPU Intensive Program 导致了 CPU Usage,并且 CPU Usage 导致了 SQL Query Alert。

第三步:单调性的影响类型(Mining Effect Type)

现在需要判断时间序列是突增还是突降了,需要引入 的概念。

对于 而言,其中n是E中的事件个数。 就可以定义为:

.

那么,如果 ,可以得到 或者 ;如果 ,可以得到 或者







请到「今天看啥」查看全文