Lecture8 - Temporal Pattern

You might also like

Download as pdf or txt
Download as pdf or txt
You are on page 1of 27

商业智能与数据挖掘

——时态模式挖掘
主要内容

 时态数据类型与模式

 时态关联规则挖掘

 序列相似性

 时态数据模式分析
时态模式

 数据代表的事实或对应的事件经常与时间相关

• e.g. 商品购买时间、疾病症状出现时间、银行交易时间、气候变化
时间、客户服务时间、销售时间趋势、经济运行时序、股票价格变
化、网页浏览日志……

 将包含以显性形式表达时间状态的数据称为时态数据

TID 购买商品 购买时间 TID 气象发生 开始时间 结束时间

T100 旅游鞋,浴巾,MP3 2008.10.2 001 大雾 01:00 22:30

T200 浴巾,跑步机 2008.10.9 002 中雨 10:15 15:20

… … … … … … …

 时态数据挖掘从大规模时态数据中发现具有时态特征的知识,具有时态特
征的知识称为时态知识,或时态模式
时态关联规则

 XY表示“事件X发生的情况下,事件Y同时发生”
T
 时态关联规则 X  Y 是具有显性时间元素的关联规则,T为延迟时间

 “事件X发生的情况下,事件Y在T时间单位后发生”

 “购买猪肉两天后购买白菜”

同一顾客购买记录 苹果 香蕉 猪肉 白菜
1 Y Y
2 Y
3 Y Y Y
4 Y
5 Y Y
6 Y
7 Y Y
8 Y Y
9 Y Y
时态关联规则

 数据项集合I = {I1, I2, …, Im},项集X,Y  I,称 X ∪Y


t

 延迟项集 X ∪Y 的支持度可以定义为
t

 表示含X的记录后第个t时间单位的记录包含Y的记录个数
时态关联规则

 延迟规则的支持度和置信度为

 表示前 个记录中包含X的记录个数

 延迟时态关联规则的挖掘,可以把各属性复制并去掉前t个记录,并入原数
据集,形成新的数据集,再直接利用Apriori方法进行挖掘。
时态关联规则
Day Stock A Stock B Stock C Stock A' Stock B' Stock C'
1 1 1 0 0 1 1
2 0 0 1 1 0 0
3 0 1 1 1 1 1
4 1 0 0 0 1 1
5 1 1 1 1 1 1
6 0 1 1
7 1 1 1
序列相似性

 序列相似性反映了数据序列之间的类似程度

 对于任意两个时间序列: 和 ,其序列
相似性作为时态模式,可记为

 子序列匹配:发现与要查询序列相似的数据序列
 根据滑动窗口在给定序列中查找相似的局部序列
 全序列匹配:发现彼此相似的序列
序列相似性

 序列匹配与传统数据库查询的不同之处在于:
 传统数据库查询要求查询条件与数据库数据之间精确匹配
 序列匹配采用近似匹配,即要发现那些与查询序列轻微不同的数据序列,较多
用于金融分析、医疗诊断、信息检索和文本挖掘等
序列相似性
 距离测度法
 对于两个时间序列 和
• 海明(Hamming)距离

• 欧氏(Euclidean)距离

• 闵可夫斯基(Minkowski)距离
序列相似性
 距离测度法
 对于两个时间序列 和
• 切比雪夫距离

• 兰氏距离(用于非负指标)
序列相似性
 距离测度法
 也可以直接定义序列之间的近似度
• 夹角余弦法

• Pearson相关系数法
基于近邻的协同过滤
 模式匹配法

 动态时间变形法(Dynamic Time Warping)寻求序列在不同时间点的动


态距离匹配,以获得最佳匹配效果 原始数据
A
 采用“自下而上”的动态规划思路,
B
利用一个滑动窗口对子序列分别进行 A
比较
 可根据需要对子序列的局部数值进行
DTW 转换
复制而调整序列长度,可得到调整后
的序列,最后计算得到其相似水平。
B

 语音识别领域广泛应用的经典方法之一。
A
转换后结果

B
DTW方法原理

 需要比较相似性的两段时间序列的长度可能并不相等
 例如语音序列,不同人的语速不同,不同发音的长度不同
 欧式距离无法有效计算
DTW方法原理

 DTW通过时间序列进行延伸和缩短,计算两个时间序列性之间的距离

 DTW使用所有相似点之间的距离的和,称之为归整路径距离(Warp
Path Distance)来衡量两个时间序列之间的相似性
 两个时间序列X和Y,长度分别为|X|和|Y|,其归整路径为:
W  w1, w2 ,..., wK , max(| X |,| Y |)  K | X |  | Y |
 wk是指第k步X和Y中两个坐标点之间的距离(i,j),其中i是X中的i坐标,
j表示的是Y中的j坐标
DTW方法原理

 DTW方法的思想是是把两个时间序列进行延伸和缩短,来得到两个时
间序列性距离最短也就是最相似的那一个warping,这个最短的距离
也就是这两个时间序列的最后的距离度量。

 假设序列X为ABCDEF,序列Y为1234。XY之间所有归整路径的可能:

 归整路径的距离为:2+3+5+4+7+2+1+7+5=36
DTW方法原理

 归整路径需要满足如下几个约束:
 边界条件:
 w1=(1, 1)和wK=(|X|, |Y|)。所选的路径必定是从左下角出发,在右上角结束。

 连续性:
 如果wk-1= (i*, j*),那么对于路径的下一个点wk=(i,j)需要满足 (i-i*) <=1和 ( j-
j*) <=1。只能和自己相邻的点匹配。

 单调性:
 如果wk-1= (i*, j*),那么对于路径的下一个点wk=(i, j)需要满足0<=(i-i*)和
0<= ( j-j*)。W必须是随着时间单调进行的。以保证匹配不会相交。
DTW方法原理

 结合连续性和单调性约束,每一个格点的路径就只有三个方向了。例
如如果路径已经通过了格点(i, j),那么下一个通过的格点只可能是下
列三种情况之一:(i+1, j),(i, j+1)或者(i+1, j+1)。

 归整路径的距离可以表示为:

 (i, j )  d (i, j )  min{ (i 1, j 1),  (i 1, j),  (i, j 1)}


时态关系模式

 时态关系模式通过时态逻辑表达事件之间的联系

 时态逻辑有先后(before/after)、包含(contain/during)、同时
(equal)、重叠(overlap)等,表达了事件发生之间的时间限定关系。

A during B A after B A equal B

A A A

B B B
时态关系模式

 设 为状态集合,每条记录对应一个事件 ,可表达为一
个三元组(状态 ,起始时间 ,结束时间. ,

事件标号 状 态 起 始 时 间 st 结 束 时 间 et
e1 a1 1 10
e2 a2 2 8
e3 a3 5 8
e4 a1 12 15
e5 a1 19 25
e6 a2 19 20
e7 a3 22 24
时态关系模式

 如果两个事件的起始时间和结束时间满足 ,
且 ,则称 ,表示事件 的发
生时间包含事件 ,记做长度为2的包含事件序列

 对于 中的任意两个不同状态 和 ,状态关系 表示状态 的


发生时间包含 ,称为长度为2的包含时态序列,简记为

 对于事件 ,如果 的状态为 , 的状态为 ,且 ,则称


为序列 的一个实例,或称 支持
时态关系模式
 是 的一个实例
 和 和𝑎1 𝑎2的一个实例

事件标号 状 态 起始时间 结束时间


e1 a1 1 10
e2 a2 2 8
e3 a3 5 8
e4 a1 12 15
e5 a1 19 25
e6 a2 19 20
e7 a3 22 24

 进一步的,长度为 的DTS表示为 ,如果对于 中的任意


状态 都存在一个事件 ,且
事件序列 成立,则称
支持时态序列
时态关系模式
 对于时态序列 ,支持计数support为

 e.g.

 如果 的支持数不小于事先设定的最小支持阈值,则称 为一个频繁包含
时态序列
事件标号 状 态 起始时间 结束时间
e1 a1 1 10
e2 a2 2 8
e3 a3 5 8
e4 a1 12 15
e5 a1 19 25
e6 a2 19 20
e7 a3 22 24
时态关系模式
 给定两个包含时态序列 和 ,设 和 分
别表示两个序列中的状态集合, 且 ,则称 为包含时
态模式,表示时态序列发生期间时态序列也发生

 与关联规则类似,时态模式 的支持度和置信度为

 对于预先设定的最小支持数阈值ms和最小置信度阈值mc,若

 则称 为符合要求的包含时态模式
时态关系模式

事件标号 状 态 起始时间 结束时间


e1 a1 1 10
e2 a2 2 8
e3 a3 5 8
e4 a1 12 15
e5 a1 19 25
e6 a2 19 20
e7 a3 22 24
时态关系模式挖掘

 剪枝策略是否依然成立?

 首先根据时态数据库计算出所有的长度为2的包含时态序列,形成以任意
状态为根,包含状态为叶子节点的二层树状结构
 从一个状态开始深度优先搜索
 深度优先搜索 vs 广度优先搜索
 搜索过程中每新增一个状态均计算support,对于support小于阈值的分支提
前剪枝
时态关系模式挖掘

 如果从状态a4开始,处理和找到时态关系如下:
 a4a2, a4a2a5, a4a2a6, a4a2a6a5, a4a2a9, a4a2a10, a4a2a11
 a4a2a11a5, a4a2a11a6, a4a2a11a6a5, a4a2a11a7, a4a2a11a9, a4a2a11a12,
a4a2a11a13
 a4a2a12

 更加高效的方法相关文献参考如下:
 Zhang, L., Chen, G., Brijs, T., & Zhang, X. (2008). Discovering during-
temporal patterns (DTPs) in large temporal databases. Expert
Systems with Applications, 34(2), 1178-1189.

You might also like