SlideShare a Scribd company logo
1 of 51
May 15, 2015
DMKD Sides By
MAO 1
第六章 序列和序列模式 掘时间 挖
内容提要
 序列及其 用时间 应
 序列 的常用方法时间 预测
 基于 ARMA 模型的序列匹配方法
 基于离散傅立叶 的 序列相似性 找变换 时间 查
 基于 范 的 找方法规 变换 查
 序列 掘及其基本方法挖
 AprioriAll 算法
 AprioriSome 算法
 GSP 算法
May 15, 2015
DMKD Sides By
MAO 2
序列及其 用时间 应
 序列(时间 Time Series ) 掘是数据 掘中的一挖 挖
个重要研究分支,有着广泛的 用价 。应 值
 近年来, 序列 掘在宏 的 、市时间 挖 观 经济预测 场
、客流量分析、太 黑子数、月降水量、河营销 阳
流流量、股票价格 等 多 域得到 用。事变动 众 领 应
上,社会、科学、 、技 等 域中广泛存实 经济 术 领
在着大量的 序列数据有待 一步的分析和时间 进 处
理。
 序列数据 掘通 研究信息的 特性,深时间 挖 过 时间
入洞悉事物 化的机制,是 得知 的有效途径进 获 识
。
May 15, 2015
DMKD Sides By
MAO 3
序列有 概念时间 关
 从 意 上来 ,所 序列就是将某一指 在不同统计 义 讲 谓时间 标
上的不同数 ,按照 先后 序排列而成的数列。时间 值 时间 顺
 序列 掘通 去 史行 的客 分析,揭示时间 挖 过对过 历 为 观记录
其内在 律, 而完成 未来行 等决策性工作。规 进 预测 为
 言之, 序列数据 掘就是要从大量的 序列数据简 时间 挖 时间
中提取人 事先不知道的、但又是潜在有用的与 属性们 时间
相 的信息和知 ,并用于短期、中期或 期 ,指关 识 长 预测 导
人 的社会、 、 事和生活等行 。们 经济 军 为
 从数学意 上来 ,如果我 某一 程中的某一 量义 讲 们对 过 变 进
行 X(t) 察 量,在一系列 刻观 测 时 t1 , t2 ,…, tn ( t 自为
量,且变 t1<t2<… , <tn )得到的离散有序数集合
Xt1 , Xt2 ,…, Xtn 称 离散数字 序列。为 时间 设 X(t) 是一个
随机 程,过 Xti (i=1 , 2 ,…, n) 称 一次 本 ,也为 样 实现
就是一个 序列。时间
May 15, 2015
DMKD Sides By
MAO 4
序列有 概念时间 关
序列的研究必 依据合适的理 和技时间 须 论 术进
行, 序列的多 性表明其研究必 合序列特时间 样 须结
点来找到合适的建模方法。
 一元时间序列:如某种商品的销售量数列等,可以通过单变量随
即过程的观察获得规律性信息。
 多元时间序列。如包含气温、气压、雨量等在内的天气数据,通
过多个变量描述变化规律。时间序列挖掘需要揭示各变量间相互
依存关系的动态规律性。
 离散型时间序列:如果某一序列中的每一个序列值所对应的时间
参数为间断点,则该序列就是一个离散时间序列。
 连续型时间序列:如果某一序列中的每个序列值所对应的时间参
数为连续函数,则该序列就是一个连续时间序列。
 序列的分布规律:序列的统计特征可以表现平稳或者有规律的震
荡,这样的序列是分析的基础点。此外如果序列按某类规律(如
高斯型)的分布,那么序列的分析就有了理论根据。
May 15, 2015
DMKD Sides By
MAO 5
第六章 序列和序列模式 掘时间 挖
内容提要
 序列及其 用时间 应
 序列 的常用方法时间 预测
 基于 ARMA 模型的序列匹配方法
 基于离散傅立叶 的 序列相似性 找变换 时间 查
 基于 范 的 找方法规 变换 查
 序列 掘及其基本方法挖
 AprioriAll 算法
 AprioriSome 算法
 GSP 算法
May 15, 2015
DMKD Sides By
MAO 6
序列 的常用方法时间 预测
序列分析的一个重要 用是 ,即根据已知时间 应 预测
序列中数据的 化特征和 , 未来属性 。时间 变 趋势 预测 值
了 序列 方法有一个比 全面的了解,我为 对时间 预测 较 们
首先 序列 的主要方法加以 。对时间 预测 归纳
 确定性时间序列预测方法
 随机时间序列预测方法
 其他方法
May 15, 2015
DMKD Sides By
MAO 7
序列 的常用方法时间 预测 ( 续 )
 定性 序列 方法确 时间 预测
 于平 化特征的 序列来 ,假 未来行 与 在的行 有对 稳变 时间 说 设 为 现 为
,利用属性 在的 将来的 是可行的。例如,要 下周某关 现 值预测 值 预测
商品的 售 ,可以用最近一段 的 售量来建立 模型种 销 额 时间 实际销 预测
。
 一 更科学的 价 序列 的方法是将 化在多 上加以 合种 评 时间 变动 变 维 综
考 ,把数据的 看成是 期 、季 和随机型 共同作虑 变动 长 趋势 节变动 变动
用的 果。结

长期趋势:随时间变化的、按照某种规则稳步增长、下降或保
持在某一水平上的规律。

季节变动:在一定时间内(如一年)的周期性变化规律(如冬
季羽绒服销售增加)。

随机型变动:不可控的偶然因素等。
 设 Tt 表示 期 ,长 趋势 St 表示季 ,节变动趋势项 Ct 表示循环变动趋
,势项 Rt 表示随机干 ,扰项 yt 是 目 的 。 常 的 定观测 标 观测记录 则 见 确
性 序列模型有以下几 类型:时间 种
 加法模型: yt = Tt + St + Ct + Rt 。
 乘法模型: yt = Tt·St·Ct·Rt 。
 混合模型: yt = Tt·St + Rt 或 yt = St + Tt·Ct·Rt 。
May 15, 2015
DMKD Sides By
MAO 8
序列 的常用方法时间 预测 ( 续 )
 随机 序列 方法时间 预测
 通过建立随机模型,对随机时间序列进行分析,可以
预测未来值。
 若时间序列是平稳的,可以用自回归 (Auto
Regressive ,简称 AR) 模型、移动回归模型 (Moving
Average ,简称 MA) 或自回归移动平均 (Auto
Regressive Moving Average ,简称 ARMA) 模型进行
分析预测。
 其他方法
 可用于时间序列预测的方法很多,其中比较成功的是
神经网络。由于大量的时间序列是非平稳的,因此特征
参数和数据分布随着时间的推移而变化。假如通过对某
段历史数据的训练,通过数学统计模型估计神经网络的
各层权重参数初值,就可能建立神经网络预测模型,用
于时间序列的预测。
May 15, 2015
DMKD Sides By
MAO 9
第六章 序列和序列模式 掘时间 挖
内容提要
 序列及其 用时间 应
 序列 的常用方法时间 预测
 基于 ARMA 模型的序列匹配方法
 基于离散傅立叶 的 序列相似性 找变换 时间 查
 基于 范 的 找方法规 变换 查
 序列 掘及其基本方法挖
 AprioriAll 算法
 AprioriSome 算法
 GSP 算法
May 15, 2015
DMKD Sides By
MAO 10
基于 ARMA 模型的序列匹配方法
 ARMA 模型(特 是其中的别 AR 模型)是 序方法中最基时
本的、 用最广的 序模型。早在实际应 时 1927 年, G. U.
Yule 就提出了 AR 模型,此后, AR 模型逐步 展发 为
ARMA 模型、多维 ARMA 模型。 ARMA 通常被广泛用于
。由于预测 ARMA 模型是一个信息的凝聚器,可将系 的统
特性与系 状 的所有信息凝聚在其中,因而它也可以用统 态
于 序列的匹配。时间
 1 . ARMA 模型
于平 、正 、零均 的 序 ,对 稳 态 值 时
若 X 在 t 刻的取 不 与其前时 值 仅 n 步的各个值
有 ,而且 与前关 还 m 步的各个干 有扰 关
( n , m=1 , 2 ,…), 按多元 性回 的思想,可则 线 归
得到最一般的 ARMA ( n , m )模型:
其中 。
}1...210{ −== ntxX t ,,,,
nttt xxx −−− ...,,, 21
mttt −−− ααα ...,,, 21
tjtj
m
j
iti
n
i
t xx ααθϕ +−= −
=
−
=
∑∑ 11
),0(~ 2
at NID δα
May 15, 2015
DMKD Sides By
MAO 11
基于 ARMA 模型的序列匹配方法
( 续 )
2 . AR 模型
AR ( n )模型是 ARMA ( n , m )模型的一个特例。在
上面 ARMA ( n , m )模型表 中,当 ,有达 时
其中 。由于此 模型中没有滑 平均部分,所时 动
以称为 n 自回 模型,阶 归 记为 AR ( n )。
3 . MA 模型
MA ( m )模型是 ARMA ( n , m )模型的另一个特例。
在上面 ARMA ( n , m )模型表 中,当 ,有达 时
其中 。由于模型中没有自回 部分,所以称归 为 m
滑 平均(阶 动 Moving Average )模型,记为 MA ( m )
。
0=jθ
titi
n
i
t xx αϕ += −
=
∑1
),0(~ 2
at NID δα
0=iϕ
jtj
m
j
ttx −
=
∑−= αθα
1
),0(~ 2
at NID δα
May 15, 2015
DMKD Sides By
MAO 12
建立 AR 模型
建立 AR 模型的最常用方法是最小二乘法。具体方法如下:
于对 AR ( n )模型,有 ,其中 ,
即可以用以下 性方程 表示:线 组
,
,
…… ,
。
或者写成如下矩 形式:阵
,
其中
根据多元 性回 理 ,参数矩 的最小二乘估 : 。线 归 论 阵 计为
tntnttt xxxx αϕϕϕ ++++= −−− ...2211 ),0(~ 2
at NID δα
111211 ... +−+ ++++= nnnnn xxxx αϕϕϕ
,
222112 ... +++ ++++= nnnnn xxxx αϕϕϕ
NnNnNNN xxxx αϕϕϕ ++++= −−− ...2211
。
αϕ += xy
T
Nn xxxy ]...[ 2n1 ++=
,
T
n ]...[ 21 ϕϕϕϕ =
,
T
nn ]...[ N21 αααα ++=
,












=
−−−
+
−
nNNN
nn
nn
xxx
xxx
xxx
x
...
......
...
...
21
21
11
yxxx TT 1
)( −
=ϕ

ϕ
May 15, 2015
DMKD Sides By
MAO 13
造判 函数构 别
根据上面的模型,我 可以 得待 序列 的参数们 获 测
模型 ,同 我 也可以得到序列数据 中的其他序列样 们 库 Yi 的参数模型
。
和 都是 n 向量,故均可维 视为 n 空 上的点,从而序列的相维 间
似性 就问题 归结为 n 空维 间 Rn
中的距离 。因此,我 下面 介问题 们 简单 绍
几 基于距离的判 函数。种 别
1 . Euclide
2 .残差偏移距 判离 别
其中 是待 序列的 方差矩 ,检 协 阵 N 表示待 序列的 度。检 长
3 . Mahalanobis 距 判离 别
其中 是参考序列的 方差矩 。协 阵
4 . Mann 距 判离 别
其中, 待 序列的 方差矩 , 待 序的方差。为 检 协 阵 为 测时
,
。
,
,
}1...,,2,1,0{ −== ntxX t
Xϕ iYϕ
Xϕ Yϕ
)()(),(2
YX
T
YXYXED ϕϕϕϕϕϕ −−=
)()(),(2
YXX
T
YXYX rND ϕϕϕϕϕϕα −−=
)()(),( 2
2
YXY
T
YX
Y
YXMh r
N
D ϕϕϕϕ
δ
ϕϕ −−=
)()(),( 2
2
XYX
T
XY
X
XYMn r
N
D ϕϕϕϕ
δ
ϕϕ −−=
Xr
Yr
Xr 2
Xδ
May 15, 2015
DMKD Sides By
MAO 14
第六章 序列和序列模式 掘时间 挖
内容提要
 序列及其 用时间 应
 序列 的常用方法时间 预测
 基于 ARMA 模型的序列匹配方法
 基于离散傅立叶 的 序列相似性 找变换 时间 查
 基于 范 的 找方法规 变换 查
 序列 掘及其基本方法挖
 AprioriAll 算法
 AprioriSome 算法
 GSP 算法
May 15, 2015
DMKD Sides By
MAO 15
基于离散傅立叶 的 序列相似性 找变换 时间 查
了方便 ,我 首先 出一些符号来表示序列及序列的为 讨论 们 给
相似性:
 表示一个序列;
 Len ( X )表示序列 X 的长度;
 First ( X )表示序列 X 的第一个元素;
 Last ( X )表示序列 X 的最后一个元素;
 表示 X 在 i 时刻的取值, ;
 序列上元素之间的“ <” 关系,在序列 X 上,如果 i<j ,那
么 X[i]<X[j] ;
 本文用 表示 X 的子序列,如果序列 X 有 k 个子序列,则
把这些子序列分别表示为 。
 子序列间的 < 关系, 为 X 的子序列,如果
,则称 。
 子序列重叠( Overlap ),假定 X S1 , XS2 为 X 的两个
子序列,如果 或
成立,则 XS1 与 XS2 重叠。
}1...,,2,1,0{ −== ntxX t
][iX ixiX =][
SX
SkSS XXX ,,..., 21
SjSi XX , )First(X)First(X SjSi <
SjSi XX <
)Last(X)First(X)First(X S1S2S1 ≤≤ )Last(X)First(X)First(X S2S1S2 ≤≤
May 15, 2015
DMKD Sides By
MAO 16
基于离散傅立叶 的 序列相似性 找变换 时间 查
 一般地,相似性匹配可分 类:为两
 完全匹配( Whole Matching )。 定给 N 个序列
和一个 序列查询 X , 些序列有相这
同的 度,如果存在 ,那么我 称长 们
完全匹配。
 子序列匹配( Subsequence Matching )。 定给
N 个具有任意 度的序列 和一个长 查询
序列 X 以及参数。子序列匹配就是在
上找到某个子序列,使 个子序列与这 X 之 的距间
离小于等于。
nYYY ...,,, 21
ε≤),( iYXD iYX 与
nYYY ...,,, 21
)1( NiYi ≤≤
May 15, 2015
DMKD Sides By
MAO 17
完全匹配
所 完全匹配必 保 被 找的序列与 出的序谓 须 证 查 给
列有相同的 度。因此,与子序列匹配相比,工长
作就相 一些。对简单
1 .特征提取
 定一个 序列 ,给 时间 对 X 行离进
散傅立叶 ,得到变换 ,
里,这 X 与 xt 代表 域信息,而 与 代表 域时 频
信息, , 傅立叶系数。为
2 .首次筛选
 根据 Parseval 的理 , 域能量 函数与 域能论 时 谱 频
量 函数相同,得到谱
}1...,,2,1,0{ −== ntxX t
)/2exp(/1
1
0
nftixnX
n
t
tf π−= ∑
−
=
1,...,1,0 −= nf
X

fX
}1,...,2,1,0{ −== nfXX f

fX
22
YXYX

−≡−
May 15, 2015
DMKD Sides By
MAO 18
完全匹配 ( 续 )
按照 Parseval 的理 ,如下式子也 成立:论 应该
 大多数序列来 ,能量集中在傅立叶 后的前几个系数对 说 变换
,也就是 一个信号的高 部分相 来 并不重要。因此我说 频 对 说 们
只取前面 个系数,即
因此,
就 掉一大批与 定序列的距离大于这样 滤 给 的序列。
3 .最终筛选
算每个首次被 中的序列与 定序列在 域空 的欧氏距离计 选 给 时 间
,如果 个序列的欧氏距离小于或等于两 , 接受 序列。则 该
ε≤∑∑ −≤−
−
=
−
=
22
1
0
2
1
0
f
n
f
ff
f
f
f YXYX
c
ε
2
1
0
≤−∑
−
=
f
f
f
f YX
c
ε≤∑ −=−
−
=
22
1
0
2
f
n
f
f YXYX

cf
May 15, 2015
DMKD Sides By
MAO 19
第六章 序列和序列模式 掘时间 挖
内容提要
 序列及其 用时间 应
 序列 的常用方法时间 预测
 基于 ARMA 模型的序列匹配方法
 基于离散傅立叶 的 序列相似性 找变换 时间 查
 基于 范 的 找方法规 变换 查
 序列 掘及其基本方法挖
 AprioriAll 算法
 AprioriSome 算法
 GSP 算法
May 15, 2015
DMKD Sides By
MAO 20
基于 范 的 找方法规 变换 查
图 6-3 序列 X 与 Y 图 6-4 去掉 Gap 后的序列 X
与 Y
图 6-5 偏移变换后的序列 X 与 Y 图 6-6 幅度缩放后的序列
X 与 Y
May 15, 2015
DMKD Sides By
MAO 21
基本概念
定义 6-1 如果序列 所包含的不相互重 的子序列和叠
与 Y 所包含的不相互重 的子序列 足如下叠 满 3 个条件,
可以认为
与 是 -similar :
( 1 ) 任意的 都成立;对
( 2 )存在一些比例因子和一些偏移使得下式成立:
其中“”表示 个子序列相似,表示 子序列以两 对  比例因子 行为 进 缩
放,按照 行偏移 。进 变换
( 3 ) 定给 ,下式成立
个定 意味着如果序列这 义 X 与 Y 匹配的 度之和与 个序列的长 这两 长
度之和的比 不小于值 , 序列则认为 X 与 Y 是 -similar 。 事先这样
定的给 阈值,就找到一个序列相似的 价函数。评
当被比 的序列较 X 与 Y 的 度非常 殊,我 可以用如下函数来长 悬 们 评
价相似度:
X SmSS XXX ,, ...21
X Y
Ym,ji1 SjSiSjSi YXX <<≤<≤ 与
SiSi
m
i YX ≈∀ = ))((1 λθ
ξ≥
+
+∑∑ ==
)()(
)()( 11
YLenXLen
YLenXLen
m
i Si
m
i Si
ξ≥
×
+∑∑ ==
))(),(min(2
)()( 11
YLenXLen
YLenXLen
m
i Si
m
i Si
SmS YY ,,...1
May 15, 2015
DMKD Sides By
MAO 22
基于 范 的 找方法规 变换 查
Agrawal 把 X 与 Y 的相似性比 分 三个子 :较问题 为 问题
原子序列匹配;窗口 合;子序列排序。缝
1 .原子序列匹配
 与基于离散傅立叶 的 序列 找方法相同,原子序变换 时间 查
列匹配( Atomic Matching )也采用了滑 窗口技 。根动 术
据用 事先 定的一个户 给 (通常为 5~20 ),将序列映射
若干 度为 长 为的窗口,然后 些窗口 行幅度 放与对这 进 缩
偏移 。变换
 我 首先 窗口中点的 准化 。通 下面的 ,们 讨论 标 问题 过 转换
可以将窗口内不 范的点 成 准点:规 转换 标
其中 表示窗口中第 i 个点的 , 、 分 表示窗口内值 别
所有点的最大 与最小 。通 上面的公式使得窗口内的值 值 过
每个点的 落在(值 -1 , +1 )之 。把 准化后的窗间 这种标
口称 原子。为
2
2
][
][
~
minmax
maxmin
WW
WW
iW
iW
−
+
−
=
maxW minW][iW
May 15, 2015
DMKD Sides By
MAO 23
基于 范 的 找方法规 变换 查 ( 续 )
2 .窗口 合缝
窗口 合(缝 Window Stitching )即子序列匹配,其主要任务
是将相似的原子 接起来形成比 的彼此相似的子序列。连 较长
分别为 X 与 Y 上 m 个 准化后的原子,标 缝
合
使它 形成一 相似的子序列的条件如下们 对
:
( 1 ) 于任意的对 i 都有 相似;
( 2 ) 于任何对 j>i , ;
( 3 ) 任何对 i>1 ,如果 不与 重 ,且 与 之叠 间
的 Gap 小于等于,同时 Y 也 足 个条件;如果 与 重满 这
,重 度叠 叠长 为 d , 与 也重 且重 度也叠 叠长 为 d 。
( 4 ) X 上的每个窗口 行 准化 所用的比例因子大致进 标 时
相同, Y 上的每个窗口 行 准化 所用的比例因子也大致进 标 时
相同。
mm YYXX
~
...
~~
...
~
11 ,,和,,
mm YYXX
~
...
~~
...
~
11 ,,和,, ,
ii YX
~~
与
)()(),()( wjwiwjwi YFirstYFirstXFirstXFirst ≤≤
iX
~
1
~
−iX iX
~
1
~
−iX
iX
~
1
~
−iX
iY
~
1
~
−iY
May 15, 2015
DMKD Sides By
MAO 24
基于 范 的 找方法规 变换 查 ( 续 )
3 .子序列排序
通 窗口 合得到一些相似的子序列,再 些子序列排过对 缝 对这
序( Subsequence Ordering ), 可以找到 个彼此匹配则 两
的序列。
子序列排序的主要任 是从没有重 的子序列匹配中找出匹务 叠
配得最 的那些序列。长
如果把所有的相似的原子 看作 中的 点, 个窗口的对 图论 顶 两
合看作 个 点之 的 的 ,那么从起点到 点有多条缝 两 顶 间 边 话 终
路 ,子序列排序就是 找最 路径。经 寻 长
May 15, 2015
DMKD Sides By
MAO 25
第六章 序列和序列模式 掘时间 挖
内容提要
 序列及其 用时间 应
 序列 的常用方法时间 预测
 基于 ARMA 模型的序列匹配方法
 基于离散傅立叶 的 序列相似性 找变换 时间 查
 基于 范 的 找方法规 变换 查
 序列 掘及其基本方法挖
 AprioriAll 算法
 AprioriSome 算法
 GSP 算法
May 15, 2015
DMKD Sides By
MAO 26
序列 掘挖
 序列 掘或称序列模式 掘,是指从序列数据 中挖 挖 库 发现蕴
涵的序列模式。 序列分析和序列模式 掘有 多相似时间 挖 许
之 ,在 用范畴、技 方法等方面也有很大的重合度。处 应 术
但是,序列 掘一般是指相 或者其他 序出 的序挖 对时间 顺 现
列的高 率子序列的 ,典型的 用 是限于离散型的频 发现 应 还
序列。
 序列模式 掘最早是由挖 Agrawal 等人提出的,它的最初动
机是 有交易 属性的交易数据 中 繁 目针对带 时间 库 发现频 项
序列以 某一 段内客 的 活 律。发现 时间 户 购买 动规
 近年来序列模式 掘已 成 数据 掘的一个重要方面,挖 经 为 挖
其 用范 也不局限于交易数据 ,在应 围 库 DNA 分析等尖端
科学研究 域、领 Web 等新型 用数据源等 多方面访问 应 众
得到 性研究。针对
May 15, 2015
DMKD Sides By
MAO 27
序列 掘—基本概念挖
 定义 6-3 一个序列( Sequence )是 集的有序表项 , 记为
α=α1→α2→ →⋯ αn ,其中每个 αi 是一个 集项
( Itemset )。一个序列的 度(长 Length )是它所包含
的 集。具有项 k 度的序列称长 为 k- 序列。
 定义 6-4 序列设 α=α1→α2→ →⋯ αn ,序列
β=β1→β2→ →⋯ βm 。若存在整数 i1<i2<⋯<in ,使得
,
称序列则 α 是序列 β 的子序列,或序列 β 包含序列
α 。在一 序列中组 , 如果某序列 α 不包含其他任何序列中
, 称则 α 是 中最 序列该组 长 (Maximal sequence) 。
 定义 6-5 定序列给 S ,序列数据库 DT, 序列 S 的支持度
( Support )是指 S 在 DT 中相 于整个数据 元 而言对 库 组
所包含 S 的元 出 的百分比。支持度大于最小支持度组 现
(min-sup) 的 k- 序列 , 称为 DT 上的 繁频 k- 序列。
ninii βαβαβα <<< ...,,, 21 21
May 15, 2015
DMKD Sides By
MAO 28
序列 掘—数据源的形式挖
表 6-1 带交易时间的交易数据源示例
客户号
( Cust_id )
交易时间
( Tran_time )
物品( Item )
1
1
June 25’99
June 30’99
30
90
2
2
2
June 10’99
June 15’99
June 20’99
10 , 20
30
40 , 60 , 70
3 June 25’99 30 , 50 , 70
4
4
4
June 25’99
June 30’99
July 25’99
30
40 , 70
90
5 June 12’99 90
表 6-2 顾客序列表示例
客户号
( Cust_id )
顾客序列( Customer Sequence )
1 < ( 30 )( 90 ) >
2 < ( 10 , 20 )( 30 )( 40 , 60 , 70 ) >
3 < ( 30 , 50 , 70 ) >
4 < ( 30 )( 40 , 70 )( (90) >
5 < ( 90 ) >
带交易时间的交易数据库的
典型形式是包含客户号
( Customer-id )、交易时间
( Transaction-Time )以及
在交易中购买的项( Item )
等的交易记录表。表 6-1 给出
了一个这样数据表的示例。
这样的数据源需要进行形式
化的整理,其中一个理想的
预处理方法就是转换成顾客
序列,即将一个顾客的交易
按交易时间排序成项目序列。
例如表 6-2 给出了表 6-1 对应
的所有顾客序列表。
May 15, 2015
DMKD Sides By
MAO 29
序列 掘—数据源的形式挖 ( 续 )
表 6-2 顾客序列表示例
操作系统及其系统进程调用是评价系统安全性的一个重要方面。通过对正常调用序列的学习可以预
测随后发生的系统调用序列、发现异常的调用。因此序列挖掘是从系统调用等操作系统审计数据中发
现有用模式的一个理想的技术。表 6-3 给出了一个系统调用数据表示意,它是利用数据挖掘技术进行
操作系统安全性审计的常用数据源。
表 6-3 系统进程调用数据示例
进程号
( Pro_id )
调用时间
( Call_time )
调用号( Call_id )
744
744
1069
9
1069
744
1069
9
-1
04 : 01 : 10 : 30
04 : 01 : 10 : 31
04 : 01 : 10 : 32
04 : 01 : 10 : 34
04 : 01 : 10 : 35
04 : 01 : 10 : 38
04 : 01 : 10 : 39
04 : 01 : 10 : 40
23
14
4
24
5
81
62
16
表 6-4 系统调用序列数据表示例
进程号( Pro_id ) 调用序列( Call_sequence )
744
1069
9
< ( 23 , 14 , 81 ) >
< ( 14 , 24 , 16 ) >
< ( 4 , 5 , 62 ) >
May 15, 2015
DMKD Sides By
MAO 30
序列模式 掘的一般挖 步骤
我 分五个具体 段来介 基于上面概念 序列模式的方法。 些步们 阶 绍 发现 这 骤
分 是排序 段、大 集 段、 段、序列 段以及 最大 段。别 阶 项 阶 转换阶 阶 选 阶
1. 排序 段阶
 数据 行排序(对 库进 Sort ),排序的 果将原始的数据 成序列数结 库转换
据 (比 可能需要其他的 理手段来 助 行)。例如,上面介库 较实际 预处 辅 进
的交易数据 ,如果以客 号(绍 库 户 Cust_id )和交易 (时间 trans-time )
行排序,那么在通 同一客 的事 行合并就可以得到 的序列进 过对 户 务进 对应
数据 。库
2. 大 集 段项 阶
 个 段要找出所有 繁的 集(即大 集) 成的集合这 阶 频 项 项 组 L 。 上,也实际
同步得到所有大 1- 序列 成的集合,即组 {<l> | l ∈L} 。
在上面表 6-2 出的 客序列数据 中,假 支持数给 顾 库 设 为 2 , 大 集分则 项 别
是( 30 ),( 40 ),( 70 ),( 40 , 70 )和( 90 )。 操作中实际
, 常将大 集被映射成 的整数。例如,上面得到的大 集映射成表经 项 连续 项
6-6 的整数。当然, 的映射 粹是 了 理的方便和高效。对应 这样 纯 为 处
Large Itemsets Mapped To
( 30 )
( 40 )
( 70 )
( 40 , 70 )
( 90 )
1
2
3
4
5
May 15, 2015
DMKD Sides By
MAO 31
序列模式 掘的一般挖 步骤 ( 续 )
3. 段转换阶
 在 找序列模式的 程中,我 要不断地 行 一个寻 过 们 进 检测 给
定的大序列集合是否包含于一个客 序列中。户
表 6-7 出了表给 6-2 数据 后的数据 。比如,库经过转换 库
在对 ID 号为 2 的客 序列 行 的 候,交易(户 进 转换 时 10 ,
20 )被剔除了,因 它并没有包含任何大 集;交易为 项
( 40 , 60 , 70 ) 被大 集的集合则 项 { ( 40 ),
( 70 ),( 40 , 70 ) } 代替。
4. 序列 段阶
 利用 后的数据 找 繁的序列,即大序列(转换 库寻 频 Large
Sequence )。
5. 最大 段选 阶
 在大序列集中找出最 序列(长 Maximal Sequences )。
Large Itemsets Mapped To
( 30 )
( 40 )
( 70 )
( 40 , 70 )
( 90 )
1
2
3
4
5
May 15, 2015
DMKD Sides By
MAO 32
第六章 序列和序列模式 掘时间 挖
内容提要
 序列及其 用时间 应
 序列 的常用方法时间 预测
 基于 ARMA 模型的序列匹配方法
 基于离散傅立叶 的 序列相似性 找变换 时间 查
 基于 范 的 找方法规 变换 查
 序列 掘及其基本方法挖
 AprioriAll 算法
 AprioriSome 算法
 GSP 算法
May 15, 2015
DMKD Sides By
MAO 33
AprioriAll 算法
 AprioriAll 算法源于 繁集算法频 Apriori ,它把 Apriori
的基本思想 展到序列 掘中,也是一个多遍 描数据扩 挖 扫
的算法。库
 在每一遍 描中都利用前一遍的大序列来 生候 序列扫 产 选
,然后在完成遍 整个数据 后 它 的支持度。历 库 测试 们
 在第一遍 描中,利用大 目集 段的 出来初始化大扫 项 阶 输
1- 序列的集合。
 在每次遍 中,从一个由大序列 成的 子集 始,利历 组 种 开
用 个 子集,可以 生新的潜在的大序列。这 种 产
 在第一次遍 前,所有在大 集 段得到的大历 项 阶 1- 序列组
成了 子集。种
May 15, 2015
DMKD Sides By
MAO 34
AprioriAll 算法
表 6-2 顾客序列表示例
1. AprioriAll 算法描述
算法 6-1 AprioriAll 算法
输入:大项集阶段转换后的序列数据库 DT
输出:所有最长序列
( 1 ) L1={large 1-sequences} ; // 大项集阶段得到的结果
( 2 ) FOR ( k=2 ; Lk-1 ≠ ∅ ; k++ ) DO BEGIN
( 3 ) Ck=aprioriALL_generate(Lk-1) ; // Ck 是从 Lk-1 中产生的新的候选者
( 4 ) FOR each customer-sequence c in DT DO
// 对于在数据库中的每一个顾客序列 c
( 5 ) Sum the count of all candidates in Ck that are contained in c ;
// 被包含于 c 中 Ck 内的所有候选者计数
( 6 ) Lk = Candidates in Ck with minimum support
// Lk = Ck 中满足最小支持度的候选者
( 7 ) END ;
( 8 ) Answer = Maximal Sequences in ∪kLk ;
由于我们在关联规则一章对 Apriori 算法进行了详尽地介绍,因此上面给出的算
法流程很容易理解。它的关键仍然是侯选集的产生,具体候选者的产生如下:
May 15, 2015
DMKD Sides By
MAO 35
AprioriAll 算法 例举
例子 6-1 对于如下所示的长度为 3 的序列集合。若将其作为函数
aprioriALL_generate 的输入参数,在连接之后将如图 6-10 (b) 所示。再修剪
掉子序列不在 L3 中的序列后,得到的序列如图 6-10 (c) 所示。在修剪的过程
中,对于 <1 , 2 , 4 , 3> ,因为 <2 , 4 , 3> 不在 L3 大 3 序列中,所以
<1 , 2 , 4 , 3> 将被修剪掉。同理其他序列的修剪也是如此。此外,需要说
明的是在产生候选 4 序列时不会产生长度大于 4 的序列,比如 <1 , 2 , 4>
和 <1 , 3 , 5> 连接时,程序在 WHERE 条件语句将终止此操作。
<1,2,3,4>
<1,2,4,3>
<1,3,4,5>
<1,3,5,4>
(b) 候选 4 序列(连接运算后)
3-Sequences Support
<1,2,3> 2
<1,2,4> 2
<1,3,4> 3
<1,3,5> 2
<2,3,4> 2
(a)大 3 序列
<1,2,3,4>
(c) 候选 4 序列(修剪后)
May 15, 2015
DMKD Sides By
MAO 36
AprioriAll 算法 例举
例子 6-2 给出一个客户序列组成的数据库如图 6-11 ( a )所示,在这里我们
没有给出源数据库的形式,即客户序列已经以转换的形式出现。假如最小支持
度为 40% (也就是至少两个客户序列)那么在大项集阶段可以得到大 1- 序列
,之后应用 AprioriAll 算法可以逐步演变成最终的大序列集。图 6-11 给出了整
个过程。
<(1,5)(2)(3)(4)>
<(1)(3)(4)(3,5)>
<(1)(2)(3)(4)>
<(1)(3)(5)>
<(4)(5)>
(a) 客户序列数据库
(b) L1
1-Sequences Support
<1> 4
<2> 2
<3> 4
<4> 4
<5> 4
算法(1)步
依 apriori_generate 算法
L1 与 L1 连接得
<1,2> <2,1> <3,1> <4,1> <5,1>
<1,3> <2,3> <3,2> <4,2> <5,2>
<1,4> <2,4> <3,4> <4,3> <5,3>
<1,5> <2,5> <3,5> <4,5> <5,4>
支持度检测
(c) C2
May 15, 2015
DMKD Sides By
MAO 37
AprioriAll 算法 例举
(d) L2
依 apriori_generate 算法
L2 与 L2 连接得
<1,2,3> <1,3,2> <1,4,2> <1,5,2>
<2,3,4> <2,4,3> <3,4,5> <3,5,4>
<1,2,4> <1,3,4> <1,4,3> <1,5,3>
<1,2,5> <1,3,5> <1,4,5> <1,5,4>
(e) C3(未修剪)
C3 修剪 支持度检测
(g) L3
3-Sequences Support
<1,2,3> 2
<1,2,4> 2
<1,3,4> 3
<1,3,5> 2
<2,3,4> 2
<1,2,3> <1,3,4>
<1,4,5> <2,3,4>
<3,4,5> <1,2,4> <1,3,5>
(f) C3
May 15, 2015
DMKD Sides By
MAO 38
AprioriAll 算法 例举
至此, AprioriAll 算法找到了所有的大 -k 序列集,即 L1 、 L2 、 L3 、 L4 ,对于大 -k 序
列集进行 Maximal Sequences in ∪kLk 运算,最终得到最大的大序列。上例结果如下表
所示:
AprioriAll 利用了 Apriori 算法的思想,但是在候选产生和生成频繁序列方面需要考虑序
列元素有序的特点进行相应地处理。表 6-8 只给出了最终的频繁序列,实际上在候选产
生过程中有大量序列产生。例如图 6-11 中,在由 L2 产生 C3 过程中,诸如
〈 2 , 3 , 4 〉和〈 2 , 4 , 3 〉都作为候选被测试,只不过因为〈 2 , 4 , 3 〉不满
足支持度要求而在演化 L3 过程中被裁减掉。
依 apriori_generate 算法
L3 与 L3 连接得
(j) L4
4-Sequences Support
<1,2,3,4> 2
<1,2,3,4>
<1,2,4,3>
<1,3,4,5>
<1,3,5,4>
(h) C4 未修剪
修剪
<1,2,3,4>
(i) C4
支持度检测
Sequences Support
<1 , 2 , 3 , 4> 2
<1 , 3 , 5> 2
<4 , 5> 2
May 15, 2015
DMKD Sides By
MAO 39
第六章 序列和序列模式 掘时间 挖
内容提要
 序列及其 用时间 应
 序列 的常用方法时间 预测
 基于 ARMA 模型的序列匹配方法
 基于离散傅立叶 的 序列相似性 找变换 时间 查
 基于 范 的 找方法规 变换 查
 序列 掘及其基本方法挖
 AprioriAll 算法
 AprioriSome 算法
 GSP 算法
May 15, 2015
DMKD Sides By
MAO 40
AprioriSome 算法
AprioriSome 算法可以看作是 AprioriAll 算法的改 ,具体 程分进 过 为两
个 段:阶
前推 段:阶 此 段用于找出指定 度的所有大序列。阶 长
回溯 段:阶 此 段用于 找其他 度的所有大序列。阶 查 长
算法 6-3 AprioriSome 算法
输入:大项集阶段转换后的序列数据库 DT
输出:所有最长序列
// Forward Phase — 前推阶段;
( 1 ) L1 = {large 1-sequences} ; // 大项目集阶段的结果;
( 2 ) C1 = L1 ;
( 3 ) last = 1 ; // 最后计数的 Clast
( 4 ) FOR ( k =2 ; Ck-1 ≠ ∅ and Llast ≠∅ ; k++ ) DO BEGIN
( 5 ) IF ( Lk-1 know ) THEN Ck = New candidates generated from Lk-1 ;
//Ck =产生于 Lk-1 新的候选集
( 6 ) ELSE Ck = New candidates generated from Ck-1 ; // Ck =产生于 Ck-1 新的候选集
( 7 ) IF ( k =next ( last )) THEN BEGIN
( 9 ) FOR each customer-sequence c in the database DO // 对于在数据库中的每一个客户序
列 c
( 10 ) Sum the count of all candidates in Ck that are contained in c ;
// 求包含在 c 中的 Ck 的候选者的数目之和
( 11 ) Lk = Candidates in Ck with minimum support ; // Lk =在 Ck 中满足最小支持度的候选
者
( 12 ) last = k ;
( 13 ) END ;
May 15, 2015
DMKD Sides By
MAO 41
AprioriSome 算法 ( 续 )
表 6-2 顾客序列表示例
// Backward Phase — 回溯阶段;
( 15 ) FOR ( k - - ; k > = 1 ; k - - ) DO
( 16 ) IF ( Lk not found in forward phase ) THEN BEGIN // Lk 在前推阶段没有确定的情况
( 17 ) Delete all sequences in Ck contained in Some Li , i > k ;
// 删除所有在 Ck 中包含在 Lk 中的序列, i>k
( 18 ) FOR each customer-sequence c in DT DO // 对于在 DT 中的每一个客户序列 c
( 19 ) Sum the count of all candidates in Ck that are contained in c ;
// 对在 Ck 中包含在 c 中的所有的候选这的计数
( 20 ) Lk = Candidates in Ck with minimum support // Lk = 在 Ck 中满足最小支持度的候选者
( 21 ) END ;
( 22 ) ELSE Delete all sequences in Lk contained in Some Li , i > k ; // Lk 已知
( 23 ) Answer = ∪k Lk ; // 从 k 到 m 求 Lk 的并集
在前推阶段( forward phase )中,我们只对特定长度的序列进行计数。比如,前推阶段我们对长度
为 1 、 2 、 4 和 6 的序列计数(计算支持度),而长度为 3 和 5 的序列则在回溯阶段中计数。 next
函数以上次遍历的序列长度作为输入,返回下次遍历中需要计数的序列长度。
算法 6-4 next ( k: integer )
IF ( hitk < 0.666 ) THEN return k + 1 ;
ELSEIF ( hit k < 0.75 ) THEN return k + 2 ;
ELSEIF ( hit k < 0.80 ) THEN return k + 3 ;
ELSEIF ( hit k < 0.85 ) THEN return k + 4 ;
ELSE THEN return k + 5 ;
hitk 被定义为大 k- 序列( large k-sequence )和候选 k- 序列( candidate k-sequence )
的比率,即 |Lk|/|Ck| 。这个函数的功能是确定对哪些序列进行计数,在对非最大序列计数
时间的浪费和计算扩展小候选序列之间作出权衡。
May 15, 2015
DMKD Sides By
MAO 42
AprioriSome 算法
例子 6-3 我们仍然采用 AprioriAll 算法用过的图 6-11 ( a )数据库例子来说明 AprioriSome 算法。
在大项集阶段可以找出 L1 (和图 6-9 ( b )的 L1 相同)。假设 next ( k ) =2k ,则通过计算 C2 可
以得到 L2 (和图 6-11 ( d )中的 L2 相同)。第三次遍历后, apriori_generate 函数以 L2 作为输入
参数来产生 C3 。图 6-12 ( e )给出了 C3 中的候选序列。我们不计算 C3 ,因此也不产生 L3 。下一
步 apriori_generate 函数以 C3 来产生 C4 ,在经过剪枝后,得到的结果和图 6-9 ( i )所示的 C4 相同。
在以 C4 计算 L4 (图 6-12 ( i ))之后,我们试图产生 C5 ,这时的结果为空。前推阶段的具体运行
见下图 6-12 所示。<(1,5)(2)(3)(4)>
<(1)(3)(4)(3,5)>
<(1)(2)(3)(4)>
<(1)(3)(5)>
<(4)(5)>
(a) 原序列库 (b) L1,、C1
last=1
1-Sequences Support
<1> 4
<2> 2
<3> 4
<4> 4
<5> 4
算法(1)步
k=2, Lk-1 已 知 , C2 由
apriori_generate算法 L1与 L1 连接得
(d) L2
<1,2> <2,1> <3,1> <4,1> <5,1>
<1,3> <2,3> <3,2> <4,2> <5,2>
<1,4> <2,4> <3,4> <4,3> <5,3>
<1,5> <2,5> <3,5> <4,5> <5,4>
(c) C2
k=2,k==next(last)成立,
执行计数等操作,求出 Lk ,
last=k=2
May 15, 2015
DMKD Sides By
MAO 43
AprioriSome 算法
(e) C3
k=3 ,Lk-1=L2 是已知的,所以 Ck 由
Lk-1 即 C3 由 L2 产生,同样调用
apriori_generate 算法
<1,2,3> <2,3,4>
<1,2,4> <3,4,5>
<1,3,4>
<1,4,5>
<1,3,5>
k=3, next(2)=4,
k==next(last)成立
(f)
k=4,Ck-1=C3 不空,
Llast=L2 不空,继续执
行
k=4,Lk-1=L3 是未知的,所以 Ck 由
Ck-1 即 C4 由 C3 产生,同样调用
apriori-generate 算法
<1,2,3,4>
<1,2,4,3>
<1,3,4,5>
<1,3,5,4>
修剪
<1,2,3,4>
(h) C4
(g)
(i) L4
4-Sequences Support
<1,2,3,4> 2
(j)
k=4,k==next(2)成立,执
行计数等操作,求出 Lk ,
last=k=4
k=5,Ck-1=C4 不空,Llast=L4 不
空,继续执行,其后 C5 产生为空。
k=5,next(4)=8,此时不满足
条件,前半部分到此结束
May 15, 2015
DMKD Sides By
MAO 44
AprioriSome 算法
(a) L4
4-Sequences Support
<1,2,3,4> 2
k=4,L4 在前半部分确定,删
除所有在 L4 中包含在某些 Li
中的序列,i>k
k=3, L3 在前半部分没有
确定,删除 C3 中某些
Li 中的序列,i>k
<1,3,5>
<1,4,5>
<3,4,5>
(b) 删除大 4 序列的子序列之
后的候选 C3 序列
(c) L3
3-Sequences Support
<1,3,5> 2
2-Sequences Support
<4,5> 2
(d) L2
对新的 C3 计数
求出 L3
k=2,L2 在前半部分确定,
删除所有在 L2 中包含在某
些 Li 中的序列,i>k
(f) 最大的大序列
Sequences Support
<1,2,3,4> 2
<1,3,5> 2
<4,5> 2
(e)
k=1,L1 在前半部分确定,
删除所有在 L1 中包含在某
些 Li 中的序列,i>k
C5 为空,至此后半部
分算法执行结束
Answer = ∪ k Lk
回溯阶段的具体运行见下图 6-13 所示。
May 15, 2015
DMKD Sides By
MAO 45
AprioriAll 和 AprioriSome 比较
AprioriAll 和 AprioriSome 比较
 AprioriAll 用 Lk-1 去算出所有的候选 Ck ,而
AprioriSome 会直接用 Ck-1 去算出所有的候选 Ck. ,因
为 Ck-1 包含 Lk-1 ,所以 AprioriSome 会 生比 多的候产 较
。选
 虽然 AprioriSome 跳 式 算候 ,但因 它所 生的候跃 计 选 为 产
比 多,可能在回溯 段前就占 内存。选 较 阶 满
 如果内存 了,满 AprioriSome 就会被强迫去 算最后一计 组
的候 ,(即使原本是要跳 此 )。 ,会影响并选 过 项 这样 减
少已算好的 个候 的跳 距离,而使得两 选间 跃 AprioriSome
会 的跟变 AprioriAll 一 。样
 于 低的支持度, 有 的大序列, 也因此有 多的对 较 较长 较
非最大序列, 所以 AprioriSome 比 好。较
May 15, 2015
DMKD Sides By
MAO 46
第六章 序列和序列模式 掘时间 挖
内容提要
 序列及其 用时间 应
 序列 的常用方法时间 预测
 基于 ARMA 模型的序列匹配方法
 基于离散傅立叶 的 序列相似性 找变换 时间 查
 基于 范 的 找方法规 变换 查
 序列 掘及其基本方法挖
 AprioriAll 算法
 AprioriSome 算法
 GSP 算法
May 15, 2015
DMKD Sides By
MAO 47
GSP 算法
GSP 算法主要包括三个步 :骤
 ① 扫描序列数据库,得到长度为 1 的序列模式 L1 ,作为初始的种子集;
 ② 根据长度为 i 的种子集 Li 通过连接操作和剪切操作生成长度为 i+1 的
候选序列模式 Ci+1 ;然后扫描序列数据库,计算每个候选序列模式的支持
数,产生长度为 i+1 的序列模式 Li+1 ,并将 Li+1 作为新的种子集;
 ③ 重复第二步,直到没有新的序列模式或新的候选序列模式产生为止。
其中, 生候 序列模式主要分 步:产 选 两
 连接阶段:如果去掉序列模式 S1 的第一个项目与去掉序列模式 S2 的最
后一个项目所得到的序列相同,则可以将 S1 于 S2 进行连接,即将 S2 的
最后一个项目添加到 S1 中。
 剪切阶段:若某候选序列模式的某个子序列不是序列模式,则此候选序
列模式不可能是序列模式,将它从候选序列模式中删除。
候 序列模式的支持度 算按照如下方法 行:选 计 进
 对于给定的候选序列模式集合 C ,扫描序列数据库 DT ,对于其中的每一
条序列 d ,找出集合 C 中被 d 所包含的所有候选序列模式,并增加其支
持度计数。
May 15, 2015
DMKD Sides By
MAO 48
GSP 算法
算法 6-5 GSP 算法
输入:大项集阶段转换后的序列数据库 DT 。
输出:最大序列
( 1 ) L1 = {large 1-sequences} ; // 大项集阶段得到的结果
( 2 ) FOR ( k = 2 ; Lk-1 ≠ ∅ ; k++ ) DO BEGIN
( 3 ) Ck = GSPgenerate(Lk-1) ;
( 4 ) FOR each customer-sequence c in the database DT DO
( 5 ) Increment the count of all candidates in Ck that are
contained in c ;
( 6 ) Lk = Candidates in Ck with minimum support ;
( 7 ) END ;
( 8 ) Answer = Maximal Sequences in ∪kLk ;
May 15, 2015
DMKD Sides By
MAO 49
GSP 算法 例举
例子 6-5 表 6-9 演示了从长度为 3 的序列模式产生长度为 4 的候选序列模式的过程。
在连接阶段,序列 < ( 1 , 2 ), 3> 可以与 <2 ,( 3 , 4 ) > 连接,因为
< ( * , 2 ), 3> 与 <2 ,( 3 , * ) > 是相同的,两序列连接后为 < ( 1 , 2 ),
( 3 , 4 ) > ; < ( 1 , 2 ), 3> 与 <2 , 3 , 5> 连接,得到
< ( 1 , 2 ), 3 , 5> 。剩下的序列是不能和任何长度为 3 的序列连接的,比如
< ( 1 , 2 ), 4> 不能与任何长度为 3 的序列连接,这是因为其他序列没有 < ( 2 ),
( 4 , * ) > 或者 < ( 2 ),( 4 )( * ) > 的形式。
表 6-9 GSP 算法举例
在修剪阶段 < ( 1 , 2 ), 3 , 5> 将被剪掉,这是因为 <1 , 3 , 5> 并不在 L3 中,而
< ( 1 , 2 ),( 3 , 4 ) > 的长度为 3 的子序列都在 L3 因而被保留下来。
Sequential patterns
With Length 3
Candidate4-Sequences
After Join After Pruning
< ( 1 , 2 ), 3>
< ( 1 , 2 ), 4
>
<1 ,( 3 , 4 )
>
< ( 1 , 3 ), 5
>
<2 ,( 3 , 4 )
>
<2 , 3 , 5>
< ( 1 , 2 ),
( 3 , 4 ) >
< ( 1 , 2 ), 3
, 5>
< ( 1 , 2 ),
( 3 , 4 ) >
May 15, 2015
DMKD Sides By
MAO 50
第六章 序列和序列模式 掘时间 挖
内容提要
 序列及其 用时间 应
 序列 的常用方法时间 预测
 基于 ARMA 模型的序列匹配方法
 基于离散傅立叶 的 序列相似性 找变换 时间 查
 基于 范 的 找方法规 变换 查
 序列 掘及其基本方法挖
 AprioriAll 算法
 AprioriSome 算法
 GSP 算法
May 15, 2015
DMKD Sides By
MAO 51
Thank you !!!Thank you !!!

More Related Content

Featured

How Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental HealthHow Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental Health
ThinkNow
 
Social Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsSocial Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie Insights
Kurio // The Social Media Age(ncy)
 

Featured (20)

2024 State of Marketing Report – by Hubspot
2024 State of Marketing Report – by Hubspot2024 State of Marketing Report – by Hubspot
2024 State of Marketing Report – by Hubspot
 
Everything You Need To Know About ChatGPT
Everything You Need To Know About ChatGPTEverything You Need To Know About ChatGPT
Everything You Need To Know About ChatGPT
 
Product Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage EngineeringsProduct Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage Engineerings
 
How Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental HealthHow Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental Health
 
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdfAI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
 
Skeleton Culture Code
Skeleton Culture CodeSkeleton Culture Code
Skeleton Culture Code
 
PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024
 
Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)
 
How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024
 
Social Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsSocial Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie Insights
 
Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024
 
5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary
 
ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd
 
Getting into the tech field. what next
Getting into the tech field. what next Getting into the tech field. what next
Getting into the tech field. what next
 
Google's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentGoogle's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search Intent
 
How to have difficult conversations
How to have difficult conversations How to have difficult conversations
How to have difficult conversations
 
Introduction to Data Science
Introduction to Data ScienceIntroduction to Data Science
Introduction to Data Science
 
Time Management & Productivity - Best Practices
Time Management & Productivity -  Best PracticesTime Management & Productivity -  Best Practices
Time Management & Productivity - Best Practices
 
The six step guide to practical project management
The six step guide to practical project managementThe six step guide to practical project management
The six step guide to practical project management
 
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
 

序列模式和时间序列模式

  • 1. May 15, 2015 DMKD Sides By MAO 1 第六章 序列和序列模式 掘时间 挖 内容提要  序列及其 用时间 应  序列 的常用方法时间 预测  基于 ARMA 模型的序列匹配方法  基于离散傅立叶 的 序列相似性 找变换 时间 查  基于 范 的 找方法规 变换 查  序列 掘及其基本方法挖  AprioriAll 算法  AprioriSome 算法  GSP 算法
  • 2. May 15, 2015 DMKD Sides By MAO 2 序列及其 用时间 应  序列(时间 Time Series ) 掘是数据 掘中的一挖 挖 个重要研究分支,有着广泛的 用价 。应 值  近年来, 序列 掘在宏 的 、市时间 挖 观 经济预测 场 、客流量分析、太 黑子数、月降水量、河营销 阳 流流量、股票价格 等 多 域得到 用。事变动 众 领 应 上,社会、科学、 、技 等 域中广泛存实 经济 术 领 在着大量的 序列数据有待 一步的分析和时间 进 处 理。  序列数据 掘通 研究信息的 特性,深时间 挖 过 时间 入洞悉事物 化的机制,是 得知 的有效途径进 获 识 。
  • 3. May 15, 2015 DMKD Sides By MAO 3 序列有 概念时间 关  从 意 上来 ,所 序列就是将某一指 在不同统计 义 讲 谓时间 标 上的不同数 ,按照 先后 序排列而成的数列。时间 值 时间 顺  序列 掘通 去 史行 的客 分析,揭示时间 挖 过对过 历 为 观记录 其内在 律, 而完成 未来行 等决策性工作。规 进 预测 为  言之, 序列数据 掘就是要从大量的 序列数据简 时间 挖 时间 中提取人 事先不知道的、但又是潜在有用的与 属性们 时间 相 的信息和知 ,并用于短期、中期或 期 ,指关 识 长 预测 导 人 的社会、 、 事和生活等行 。们 经济 军 为  从数学意 上来 ,如果我 某一 程中的某一 量义 讲 们对 过 变 进 行 X(t) 察 量,在一系列 刻观 测 时 t1 , t2 ,…, tn ( t 自为 量,且变 t1<t2<… , <tn )得到的离散有序数集合 Xt1 , Xt2 ,…, Xtn 称 离散数字 序列。为 时间 设 X(t) 是一个 随机 程,过 Xti (i=1 , 2 ,…, n) 称 一次 本 ,也为 样 实现 就是一个 序列。时间
  • 4. May 15, 2015 DMKD Sides By MAO 4 序列有 概念时间 关 序列的研究必 依据合适的理 和技时间 须 论 术进 行, 序列的多 性表明其研究必 合序列特时间 样 须结 点来找到合适的建模方法。  一元时间序列:如某种商品的销售量数列等,可以通过单变量随 即过程的观察获得规律性信息。  多元时间序列。如包含气温、气压、雨量等在内的天气数据,通 过多个变量描述变化规律。时间序列挖掘需要揭示各变量间相互 依存关系的动态规律性。  离散型时间序列:如果某一序列中的每一个序列值所对应的时间 参数为间断点,则该序列就是一个离散时间序列。  连续型时间序列:如果某一序列中的每个序列值所对应的时间参 数为连续函数,则该序列就是一个连续时间序列。  序列的分布规律:序列的统计特征可以表现平稳或者有规律的震 荡,这样的序列是分析的基础点。此外如果序列按某类规律(如 高斯型)的分布,那么序列的分析就有了理论根据。
  • 5. May 15, 2015 DMKD Sides By MAO 5 第六章 序列和序列模式 掘时间 挖 内容提要  序列及其 用时间 应  序列 的常用方法时间 预测  基于 ARMA 模型的序列匹配方法  基于离散傅立叶 的 序列相似性 找变换 时间 查  基于 范 的 找方法规 变换 查  序列 掘及其基本方法挖  AprioriAll 算法  AprioriSome 算法  GSP 算法
  • 6. May 15, 2015 DMKD Sides By MAO 6 序列 的常用方法时间 预测 序列分析的一个重要 用是 ,即根据已知时间 应 预测 序列中数据的 化特征和 , 未来属性 。时间 变 趋势 预测 值 了 序列 方法有一个比 全面的了解,我为 对时间 预测 较 们 首先 序列 的主要方法加以 。对时间 预测 归纳  确定性时间序列预测方法  随机时间序列预测方法  其他方法
  • 7. May 15, 2015 DMKD Sides By MAO 7 序列 的常用方法时间 预测 ( 续 )  定性 序列 方法确 时间 预测  于平 化特征的 序列来 ,假 未来行 与 在的行 有对 稳变 时间 说 设 为 现 为 ,利用属性 在的 将来的 是可行的。例如,要 下周某关 现 值预测 值 预测 商品的 售 ,可以用最近一段 的 售量来建立 模型种 销 额 时间 实际销 预测 。  一 更科学的 价 序列 的方法是将 化在多 上加以 合种 评 时间 变动 变 维 综 考 ,把数据的 看成是 期 、季 和随机型 共同作虑 变动 长 趋势 节变动 变动 用的 果。结  长期趋势:随时间变化的、按照某种规则稳步增长、下降或保 持在某一水平上的规律。  季节变动:在一定时间内(如一年)的周期性变化规律(如冬 季羽绒服销售增加)。  随机型变动:不可控的偶然因素等。  设 Tt 表示 期 ,长 趋势 St 表示季 ,节变动趋势项 Ct 表示循环变动趋 ,势项 Rt 表示随机干 ,扰项 yt 是 目 的 。 常 的 定观测 标 观测记录 则 见 确 性 序列模型有以下几 类型:时间 种  加法模型: yt = Tt + St + Ct + Rt 。  乘法模型: yt = Tt·St·Ct·Rt 。  混合模型: yt = Tt·St + Rt 或 yt = St + Tt·Ct·Rt 。
  • 8. May 15, 2015 DMKD Sides By MAO 8 序列 的常用方法时间 预测 ( 续 )  随机 序列 方法时间 预测  通过建立随机模型,对随机时间序列进行分析,可以 预测未来值。  若时间序列是平稳的,可以用自回归 (Auto Regressive ,简称 AR) 模型、移动回归模型 (Moving Average ,简称 MA) 或自回归移动平均 (Auto Regressive Moving Average ,简称 ARMA) 模型进行 分析预测。  其他方法  可用于时间序列预测的方法很多,其中比较成功的是 神经网络。由于大量的时间序列是非平稳的,因此特征 参数和数据分布随着时间的推移而变化。假如通过对某 段历史数据的训练,通过数学统计模型估计神经网络的 各层权重参数初值,就可能建立神经网络预测模型,用 于时间序列的预测。
  • 9. May 15, 2015 DMKD Sides By MAO 9 第六章 序列和序列模式 掘时间 挖 内容提要  序列及其 用时间 应  序列 的常用方法时间 预测  基于 ARMA 模型的序列匹配方法  基于离散傅立叶 的 序列相似性 找变换 时间 查  基于 范 的 找方法规 变换 查  序列 掘及其基本方法挖  AprioriAll 算法  AprioriSome 算法  GSP 算法
  • 10. May 15, 2015 DMKD Sides By MAO 10 基于 ARMA 模型的序列匹配方法  ARMA 模型(特 是其中的别 AR 模型)是 序方法中最基时 本的、 用最广的 序模型。早在实际应 时 1927 年, G. U. Yule 就提出了 AR 模型,此后, AR 模型逐步 展发 为 ARMA 模型、多维 ARMA 模型。 ARMA 通常被广泛用于 。由于预测 ARMA 模型是一个信息的凝聚器,可将系 的统 特性与系 状 的所有信息凝聚在其中,因而它也可以用统 态 于 序列的匹配。时间  1 . ARMA 模型 于平 、正 、零均 的 序 ,对 稳 态 值 时 若 X 在 t 刻的取 不 与其前时 值 仅 n 步的各个值 有 ,而且 与前关 还 m 步的各个干 有扰 关 ( n , m=1 , 2 ,…), 按多元 性回 的思想,可则 线 归 得到最一般的 ARMA ( n , m )模型: 其中 。 }1...210{ −== ntxX t ,,,, nttt xxx −−− ...,,, 21 mttt −−− ααα ...,,, 21 tjtj m j iti n i t xx ααθϕ +−= − = − = ∑∑ 11 ),0(~ 2 at NID δα
  • 11. May 15, 2015 DMKD Sides By MAO 11 基于 ARMA 模型的序列匹配方法 ( 续 ) 2 . AR 模型 AR ( n )模型是 ARMA ( n , m )模型的一个特例。在 上面 ARMA ( n , m )模型表 中,当 ,有达 时 其中 。由于此 模型中没有滑 平均部分,所时 动 以称为 n 自回 模型,阶 归 记为 AR ( n )。 3 . MA 模型 MA ( m )模型是 ARMA ( n , m )模型的另一个特例。 在上面 ARMA ( n , m )模型表 中,当 ,有达 时 其中 。由于模型中没有自回 部分,所以称归 为 m 滑 平均(阶 动 Moving Average )模型,记为 MA ( m ) 。 0=jθ titi n i t xx αϕ += − = ∑1 ),0(~ 2 at NID δα 0=iϕ jtj m j ttx − = ∑−= αθα 1 ),0(~ 2 at NID δα
  • 12. May 15, 2015 DMKD Sides By MAO 12 建立 AR 模型 建立 AR 模型的最常用方法是最小二乘法。具体方法如下: 于对 AR ( n )模型,有 ,其中 , 即可以用以下 性方程 表示:线 组 , , …… , 。 或者写成如下矩 形式:阵 , 其中 根据多元 性回 理 ,参数矩 的最小二乘估 : 。线 归 论 阵 计为 tntnttt xxxx αϕϕϕ ++++= −−− ...2211 ),0(~ 2 at NID δα 111211 ... +−+ ++++= nnnnn xxxx αϕϕϕ , 222112 ... +++ ++++= nnnnn xxxx αϕϕϕ NnNnNNN xxxx αϕϕϕ ++++= −−− ...2211 。 αϕ += xy T Nn xxxy ]...[ 2n1 ++= , T n ]...[ 21 ϕϕϕϕ = , T nn ]...[ N21 αααα ++= ,             = −−− + − nNNN nn nn xxx xxx xxx x ... ...... ... ... 21 21 11 yxxx TT 1 )( − =ϕ  ϕ
  • 13. May 15, 2015 DMKD Sides By MAO 13 造判 函数构 别 根据上面的模型,我 可以 得待 序列 的参数们 获 测 模型 ,同 我 也可以得到序列数据 中的其他序列样 们 库 Yi 的参数模型 。 和 都是 n 向量,故均可维 视为 n 空 上的点,从而序列的相维 间 似性 就问题 归结为 n 空维 间 Rn 中的距离 。因此,我 下面 介问题 们 简单 绍 几 基于距离的判 函数。种 别 1 . Euclide 2 .残差偏移距 判离 别 其中 是待 序列的 方差矩 ,检 协 阵 N 表示待 序列的 度。检 长 3 . Mahalanobis 距 判离 别 其中 是参考序列的 方差矩 。协 阵 4 . Mann 距 判离 别 其中, 待 序列的 方差矩 , 待 序的方差。为 检 协 阵 为 测时 , 。 , , }1...,,2,1,0{ −== ntxX t Xϕ iYϕ Xϕ Yϕ )()(),(2 YX T YXYXED ϕϕϕϕϕϕ −−= )()(),(2 YXX T YXYX rND ϕϕϕϕϕϕα −−= )()(),( 2 2 YXY T YX Y YXMh r N D ϕϕϕϕ δ ϕϕ −−= )()(),( 2 2 XYX T XY X XYMn r N D ϕϕϕϕ δ ϕϕ −−= Xr Yr Xr 2 Xδ
  • 14. May 15, 2015 DMKD Sides By MAO 14 第六章 序列和序列模式 掘时间 挖 内容提要  序列及其 用时间 应  序列 的常用方法时间 预测  基于 ARMA 模型的序列匹配方法  基于离散傅立叶 的 序列相似性 找变换 时间 查  基于 范 的 找方法规 变换 查  序列 掘及其基本方法挖  AprioriAll 算法  AprioriSome 算法  GSP 算法
  • 15. May 15, 2015 DMKD Sides By MAO 15 基于离散傅立叶 的 序列相似性 找变换 时间 查 了方便 ,我 首先 出一些符号来表示序列及序列的为 讨论 们 给 相似性:  表示一个序列;  Len ( X )表示序列 X 的长度;  First ( X )表示序列 X 的第一个元素;  Last ( X )表示序列 X 的最后一个元素;  表示 X 在 i 时刻的取值, ;  序列上元素之间的“ <” 关系,在序列 X 上,如果 i<j ,那 么 X[i]<X[j] ;  本文用 表示 X 的子序列,如果序列 X 有 k 个子序列,则 把这些子序列分别表示为 。  子序列间的 < 关系, 为 X 的子序列,如果 ,则称 。  子序列重叠( Overlap ),假定 X S1 , XS2 为 X 的两个 子序列,如果 或 成立,则 XS1 与 XS2 重叠。 }1...,,2,1,0{ −== ntxX t ][iX ixiX =][ SX SkSS XXX ,,..., 21 SjSi XX , )First(X)First(X SjSi < SjSi XX < )Last(X)First(X)First(X S1S2S1 ≤≤ )Last(X)First(X)First(X S2S1S2 ≤≤
  • 16. May 15, 2015 DMKD Sides By MAO 16 基于离散傅立叶 的 序列相似性 找变换 时间 查  一般地,相似性匹配可分 类:为两  完全匹配( Whole Matching )。 定给 N 个序列 和一个 序列查询 X , 些序列有相这 同的 度,如果存在 ,那么我 称长 们 完全匹配。  子序列匹配( Subsequence Matching )。 定给 N 个具有任意 度的序列 和一个长 查询 序列 X 以及参数。子序列匹配就是在 上找到某个子序列,使 个子序列与这 X 之 的距间 离小于等于。 nYYY ...,,, 21 ε≤),( iYXD iYX 与 nYYY ...,,, 21 )1( NiYi ≤≤
  • 17. May 15, 2015 DMKD Sides By MAO 17 完全匹配 所 完全匹配必 保 被 找的序列与 出的序谓 须 证 查 给 列有相同的 度。因此,与子序列匹配相比,工长 作就相 一些。对简单 1 .特征提取  定一个 序列 ,给 时间 对 X 行离进 散傅立叶 ,得到变换 , 里,这 X 与 xt 代表 域信息,而 与 代表 域时 频 信息, , 傅立叶系数。为 2 .首次筛选  根据 Parseval 的理 , 域能量 函数与 域能论 时 谱 频 量 函数相同,得到谱 }1...,,2,1,0{ −== ntxX t )/2exp(/1 1 0 nftixnX n t tf π−= ∑ − = 1,...,1,0 −= nf X  fX }1,...,2,1,0{ −== nfXX f  fX 22 YXYX  −≡−
  • 18. May 15, 2015 DMKD Sides By MAO 18 完全匹配 ( 续 ) 按照 Parseval 的理 ,如下式子也 成立:论 应该  大多数序列来 ,能量集中在傅立叶 后的前几个系数对 说 变换 ,也就是 一个信号的高 部分相 来 并不重要。因此我说 频 对 说 们 只取前面 个系数,即 因此, 就 掉一大批与 定序列的距离大于这样 滤 给 的序列。 3 .最终筛选 算每个首次被 中的序列与 定序列在 域空 的欧氏距离计 选 给 时 间 ,如果 个序列的欧氏距离小于或等于两 , 接受 序列。则 该 ε≤∑∑ −≤− − = − = 22 1 0 2 1 0 f n f ff f f f YXYX c ε 2 1 0 ≤−∑ − = f f f f YX c ε≤∑ −=− − = 22 1 0 2 f n f f YXYX  cf
  • 19. May 15, 2015 DMKD Sides By MAO 19 第六章 序列和序列模式 掘时间 挖 内容提要  序列及其 用时间 应  序列 的常用方法时间 预测  基于 ARMA 模型的序列匹配方法  基于离散傅立叶 的 序列相似性 找变换 时间 查  基于 范 的 找方法规 变换 查  序列 掘及其基本方法挖  AprioriAll 算法  AprioriSome 算法  GSP 算法
  • 20. May 15, 2015 DMKD Sides By MAO 20 基于 范 的 找方法规 变换 查 图 6-3 序列 X 与 Y 图 6-4 去掉 Gap 后的序列 X 与 Y 图 6-5 偏移变换后的序列 X 与 Y 图 6-6 幅度缩放后的序列 X 与 Y
  • 21. May 15, 2015 DMKD Sides By MAO 21 基本概念 定义 6-1 如果序列 所包含的不相互重 的子序列和叠 与 Y 所包含的不相互重 的子序列 足如下叠 满 3 个条件, 可以认为 与 是 -similar : ( 1 ) 任意的 都成立;对 ( 2 )存在一些比例因子和一些偏移使得下式成立: 其中“”表示 个子序列相似,表示 子序列以两 对  比例因子 行为 进 缩 放,按照 行偏移 。进 变换 ( 3 ) 定给 ,下式成立 个定 意味着如果序列这 义 X 与 Y 匹配的 度之和与 个序列的长 这两 长 度之和的比 不小于值 , 序列则认为 X 与 Y 是 -similar 。 事先这样 定的给 阈值,就找到一个序列相似的 价函数。评 当被比 的序列较 X 与 Y 的 度非常 殊,我 可以用如下函数来长 悬 们 评 价相似度: X SmSS XXX ,, ...21 X Y Ym,ji1 SjSiSjSi YXX <<≤<≤ 与 SiSi m i YX ≈∀ = ))((1 λθ ξ≥ + +∑∑ == )()( )()( 11 YLenXLen YLenXLen m i Si m i Si ξ≥ × +∑∑ == ))(),(min(2 )()( 11 YLenXLen YLenXLen m i Si m i Si SmS YY ,,...1
  • 22. May 15, 2015 DMKD Sides By MAO 22 基于 范 的 找方法规 变换 查 Agrawal 把 X 与 Y 的相似性比 分 三个子 :较问题 为 问题 原子序列匹配;窗口 合;子序列排序。缝 1 .原子序列匹配  与基于离散傅立叶 的 序列 找方法相同,原子序变换 时间 查 列匹配( Atomic Matching )也采用了滑 窗口技 。根动 术 据用 事先 定的一个户 给 (通常为 5~20 ),将序列映射 若干 度为 长 为的窗口,然后 些窗口 行幅度 放与对这 进 缩 偏移 。变换  我 首先 窗口中点的 准化 。通 下面的 ,们 讨论 标 问题 过 转换 可以将窗口内不 范的点 成 准点:规 转换 标 其中 表示窗口中第 i 个点的 , 、 分 表示窗口内值 别 所有点的最大 与最小 。通 上面的公式使得窗口内的值 值 过 每个点的 落在(值 -1 , +1 )之 。把 准化后的窗间 这种标 口称 原子。为 2 2 ][ ][ ~ minmax maxmin WW WW iW iW − + − = maxW minW][iW
  • 23. May 15, 2015 DMKD Sides By MAO 23 基于 范 的 找方法规 变换 查 ( 续 ) 2 .窗口 合缝 窗口 合(缝 Window Stitching )即子序列匹配,其主要任务 是将相似的原子 接起来形成比 的彼此相似的子序列。连 较长 分别为 X 与 Y 上 m 个 准化后的原子,标 缝 合 使它 形成一 相似的子序列的条件如下们 对 : ( 1 ) 于任意的对 i 都有 相似; ( 2 ) 于任何对 j>i , ; ( 3 ) 任何对 i>1 ,如果 不与 重 ,且 与 之叠 间 的 Gap 小于等于,同时 Y 也 足 个条件;如果 与 重满 这 ,重 度叠 叠长 为 d , 与 也重 且重 度也叠 叠长 为 d 。 ( 4 ) X 上的每个窗口 行 准化 所用的比例因子大致进 标 时 相同, Y 上的每个窗口 行 准化 所用的比例因子也大致进 标 时 相同。 mm YYXX ~ ... ~~ ... ~ 11 ,,和,, mm YYXX ~ ... ~~ ... ~ 11 ,,和,, , ii YX ~~ 与 )()(),()( wjwiwjwi YFirstYFirstXFirstXFirst ≤≤ iX ~ 1 ~ −iX iX ~ 1 ~ −iX iX ~ 1 ~ −iX iY ~ 1 ~ −iY
  • 24. May 15, 2015 DMKD Sides By MAO 24 基于 范 的 找方法规 变换 查 ( 续 ) 3 .子序列排序 通 窗口 合得到一些相似的子序列,再 些子序列排过对 缝 对这 序( Subsequence Ordering ), 可以找到 个彼此匹配则 两 的序列。 子序列排序的主要任 是从没有重 的子序列匹配中找出匹务 叠 配得最 的那些序列。长 如果把所有的相似的原子 看作 中的 点, 个窗口的对 图论 顶 两 合看作 个 点之 的 的 ,那么从起点到 点有多条缝 两 顶 间 边 话 终 路 ,子序列排序就是 找最 路径。经 寻 长
  • 25. May 15, 2015 DMKD Sides By MAO 25 第六章 序列和序列模式 掘时间 挖 内容提要  序列及其 用时间 应  序列 的常用方法时间 预测  基于 ARMA 模型的序列匹配方法  基于离散傅立叶 的 序列相似性 找变换 时间 查  基于 范 的 找方法规 变换 查  序列 掘及其基本方法挖  AprioriAll 算法  AprioriSome 算法  GSP 算法
  • 26. May 15, 2015 DMKD Sides By MAO 26 序列 掘挖  序列 掘或称序列模式 掘,是指从序列数据 中挖 挖 库 发现蕴 涵的序列模式。 序列分析和序列模式 掘有 多相似时间 挖 许 之 ,在 用范畴、技 方法等方面也有很大的重合度。处 应 术 但是,序列 掘一般是指相 或者其他 序出 的序挖 对时间 顺 现 列的高 率子序列的 ,典型的 用 是限于离散型的频 发现 应 还 序列。  序列模式 掘最早是由挖 Agrawal 等人提出的,它的最初动 机是 有交易 属性的交易数据 中 繁 目针对带 时间 库 发现频 项 序列以 某一 段内客 的 活 律。发现 时间 户 购买 动规  近年来序列模式 掘已 成 数据 掘的一个重要方面,挖 经 为 挖 其 用范 也不局限于交易数据 ,在应 围 库 DNA 分析等尖端 科学研究 域、领 Web 等新型 用数据源等 多方面访问 应 众 得到 性研究。针对
  • 27. May 15, 2015 DMKD Sides By MAO 27 序列 掘—基本概念挖  定义 6-3 一个序列( Sequence )是 集的有序表项 , 记为 α=α1→α2→ →⋯ αn ,其中每个 αi 是一个 集项 ( Itemset )。一个序列的 度(长 Length )是它所包含 的 集。具有项 k 度的序列称长 为 k- 序列。  定义 6-4 序列设 α=α1→α2→ →⋯ αn ,序列 β=β1→β2→ →⋯ βm 。若存在整数 i1<i2<⋯<in ,使得 , 称序列则 α 是序列 β 的子序列,或序列 β 包含序列 α 。在一 序列中组 , 如果某序列 α 不包含其他任何序列中 , 称则 α 是 中最 序列该组 长 (Maximal sequence) 。  定义 6-5 定序列给 S ,序列数据库 DT, 序列 S 的支持度 ( Support )是指 S 在 DT 中相 于整个数据 元 而言对 库 组 所包含 S 的元 出 的百分比。支持度大于最小支持度组 现 (min-sup) 的 k- 序列 , 称为 DT 上的 繁频 k- 序列。 ninii βαβαβα <<< ...,,, 21 21
  • 28. May 15, 2015 DMKD Sides By MAO 28 序列 掘—数据源的形式挖 表 6-1 带交易时间的交易数据源示例 客户号 ( Cust_id ) 交易时间 ( Tran_time ) 物品( Item ) 1 1 June 25’99 June 30’99 30 90 2 2 2 June 10’99 June 15’99 June 20’99 10 , 20 30 40 , 60 , 70 3 June 25’99 30 , 50 , 70 4 4 4 June 25’99 June 30’99 July 25’99 30 40 , 70 90 5 June 12’99 90 表 6-2 顾客序列表示例 客户号 ( Cust_id ) 顾客序列( Customer Sequence ) 1 < ( 30 )( 90 ) > 2 < ( 10 , 20 )( 30 )( 40 , 60 , 70 ) > 3 < ( 30 , 50 , 70 ) > 4 < ( 30 )( 40 , 70 )( (90) > 5 < ( 90 ) > 带交易时间的交易数据库的 典型形式是包含客户号 ( Customer-id )、交易时间 ( Transaction-Time )以及 在交易中购买的项( Item ) 等的交易记录表。表 6-1 给出 了一个这样数据表的示例。 这样的数据源需要进行形式 化的整理,其中一个理想的 预处理方法就是转换成顾客 序列,即将一个顾客的交易 按交易时间排序成项目序列。 例如表 6-2 给出了表 6-1 对应 的所有顾客序列表。
  • 29. May 15, 2015 DMKD Sides By MAO 29 序列 掘—数据源的形式挖 ( 续 ) 表 6-2 顾客序列表示例 操作系统及其系统进程调用是评价系统安全性的一个重要方面。通过对正常调用序列的学习可以预 测随后发生的系统调用序列、发现异常的调用。因此序列挖掘是从系统调用等操作系统审计数据中发 现有用模式的一个理想的技术。表 6-3 给出了一个系统调用数据表示意,它是利用数据挖掘技术进行 操作系统安全性审计的常用数据源。 表 6-3 系统进程调用数据示例 进程号 ( Pro_id ) 调用时间 ( Call_time ) 调用号( Call_id ) 744 744 1069 9 1069 744 1069 9 -1 04 : 01 : 10 : 30 04 : 01 : 10 : 31 04 : 01 : 10 : 32 04 : 01 : 10 : 34 04 : 01 : 10 : 35 04 : 01 : 10 : 38 04 : 01 : 10 : 39 04 : 01 : 10 : 40 23 14 4 24 5 81 62 16 表 6-4 系统调用序列数据表示例 进程号( Pro_id ) 调用序列( Call_sequence ) 744 1069 9 < ( 23 , 14 , 81 ) > < ( 14 , 24 , 16 ) > < ( 4 , 5 , 62 ) >
  • 30. May 15, 2015 DMKD Sides By MAO 30 序列模式 掘的一般挖 步骤 我 分五个具体 段来介 基于上面概念 序列模式的方法。 些步们 阶 绍 发现 这 骤 分 是排序 段、大 集 段、 段、序列 段以及 最大 段。别 阶 项 阶 转换阶 阶 选 阶 1. 排序 段阶  数据 行排序(对 库进 Sort ),排序的 果将原始的数据 成序列数结 库转换 据 (比 可能需要其他的 理手段来 助 行)。例如,上面介库 较实际 预处 辅 进 的交易数据 ,如果以客 号(绍 库 户 Cust_id )和交易 (时间 trans-time ) 行排序,那么在通 同一客 的事 行合并就可以得到 的序列进 过对 户 务进 对应 数据 。库 2. 大 集 段项 阶  个 段要找出所有 繁的 集(即大 集) 成的集合这 阶 频 项 项 组 L 。 上,也实际 同步得到所有大 1- 序列 成的集合,即组 {<l> | l ∈L} 。 在上面表 6-2 出的 客序列数据 中,假 支持数给 顾 库 设 为 2 , 大 集分则 项 别 是( 30 ),( 40 ),( 70 ),( 40 , 70 )和( 90 )。 操作中实际 , 常将大 集被映射成 的整数。例如,上面得到的大 集映射成表经 项 连续 项 6-6 的整数。当然, 的映射 粹是 了 理的方便和高效。对应 这样 纯 为 处 Large Itemsets Mapped To ( 30 ) ( 40 ) ( 70 ) ( 40 , 70 ) ( 90 ) 1 2 3 4 5
  • 31. May 15, 2015 DMKD Sides By MAO 31 序列模式 掘的一般挖 步骤 ( 续 ) 3. 段转换阶  在 找序列模式的 程中,我 要不断地 行 一个寻 过 们 进 检测 给 定的大序列集合是否包含于一个客 序列中。户 表 6-7 出了表给 6-2 数据 后的数据 。比如,库经过转换 库 在对 ID 号为 2 的客 序列 行 的 候,交易(户 进 转换 时 10 , 20 )被剔除了,因 它并没有包含任何大 集;交易为 项 ( 40 , 60 , 70 ) 被大 集的集合则 项 { ( 40 ), ( 70 ),( 40 , 70 ) } 代替。 4. 序列 段阶  利用 后的数据 找 繁的序列,即大序列(转换 库寻 频 Large Sequence )。 5. 最大 段选 阶  在大序列集中找出最 序列(长 Maximal Sequences )。 Large Itemsets Mapped To ( 30 ) ( 40 ) ( 70 ) ( 40 , 70 ) ( 90 ) 1 2 3 4 5
  • 32. May 15, 2015 DMKD Sides By MAO 32 第六章 序列和序列模式 掘时间 挖 内容提要  序列及其 用时间 应  序列 的常用方法时间 预测  基于 ARMA 模型的序列匹配方法  基于离散傅立叶 的 序列相似性 找变换 时间 查  基于 范 的 找方法规 变换 查  序列 掘及其基本方法挖  AprioriAll 算法  AprioriSome 算法  GSP 算法
  • 33. May 15, 2015 DMKD Sides By MAO 33 AprioriAll 算法  AprioriAll 算法源于 繁集算法频 Apriori ,它把 Apriori 的基本思想 展到序列 掘中,也是一个多遍 描数据扩 挖 扫 的算法。库  在每一遍 描中都利用前一遍的大序列来 生候 序列扫 产 选 ,然后在完成遍 整个数据 后 它 的支持度。历 库 测试 们  在第一遍 描中,利用大 目集 段的 出来初始化大扫 项 阶 输 1- 序列的集合。  在每次遍 中,从一个由大序列 成的 子集 始,利历 组 种 开 用 个 子集,可以 生新的潜在的大序列。这 种 产  在第一次遍 前,所有在大 集 段得到的大历 项 阶 1- 序列组 成了 子集。种
  • 34. May 15, 2015 DMKD Sides By MAO 34 AprioriAll 算法 表 6-2 顾客序列表示例 1. AprioriAll 算法描述 算法 6-1 AprioriAll 算法 输入:大项集阶段转换后的序列数据库 DT 输出:所有最长序列 ( 1 ) L1={large 1-sequences} ; // 大项集阶段得到的结果 ( 2 ) FOR ( k=2 ; Lk-1 ≠ ∅ ; k++ ) DO BEGIN ( 3 ) Ck=aprioriALL_generate(Lk-1) ; // Ck 是从 Lk-1 中产生的新的候选者 ( 4 ) FOR each customer-sequence c in DT DO // 对于在数据库中的每一个顾客序列 c ( 5 ) Sum the count of all candidates in Ck that are contained in c ; // 被包含于 c 中 Ck 内的所有候选者计数 ( 6 ) Lk = Candidates in Ck with minimum support // Lk = Ck 中满足最小支持度的候选者 ( 7 ) END ; ( 8 ) Answer = Maximal Sequences in ∪kLk ; 由于我们在关联规则一章对 Apriori 算法进行了详尽地介绍,因此上面给出的算 法流程很容易理解。它的关键仍然是侯选集的产生,具体候选者的产生如下:
  • 35. May 15, 2015 DMKD Sides By MAO 35 AprioriAll 算法 例举 例子 6-1 对于如下所示的长度为 3 的序列集合。若将其作为函数 aprioriALL_generate 的输入参数,在连接之后将如图 6-10 (b) 所示。再修剪 掉子序列不在 L3 中的序列后,得到的序列如图 6-10 (c) 所示。在修剪的过程 中,对于 <1 , 2 , 4 , 3> ,因为 <2 , 4 , 3> 不在 L3 大 3 序列中,所以 <1 , 2 , 4 , 3> 将被修剪掉。同理其他序列的修剪也是如此。此外,需要说 明的是在产生候选 4 序列时不会产生长度大于 4 的序列,比如 <1 , 2 , 4> 和 <1 , 3 , 5> 连接时,程序在 WHERE 条件语句将终止此操作。 <1,2,3,4> <1,2,4,3> <1,3,4,5> <1,3,5,4> (b) 候选 4 序列(连接运算后) 3-Sequences Support <1,2,3> 2 <1,2,4> 2 <1,3,4> 3 <1,3,5> 2 <2,3,4> 2 (a)大 3 序列 <1,2,3,4> (c) 候选 4 序列(修剪后)
  • 36. May 15, 2015 DMKD Sides By MAO 36 AprioriAll 算法 例举 例子 6-2 给出一个客户序列组成的数据库如图 6-11 ( a )所示,在这里我们 没有给出源数据库的形式,即客户序列已经以转换的形式出现。假如最小支持 度为 40% (也就是至少两个客户序列)那么在大项集阶段可以得到大 1- 序列 ,之后应用 AprioriAll 算法可以逐步演变成最终的大序列集。图 6-11 给出了整 个过程。 <(1,5)(2)(3)(4)> <(1)(3)(4)(3,5)> <(1)(2)(3)(4)> <(1)(3)(5)> <(4)(5)> (a) 客户序列数据库 (b) L1 1-Sequences Support <1> 4 <2> 2 <3> 4 <4> 4 <5> 4 算法(1)步 依 apriori_generate 算法 L1 与 L1 连接得 <1,2> <2,1> <3,1> <4,1> <5,1> <1,3> <2,3> <3,2> <4,2> <5,2> <1,4> <2,4> <3,4> <4,3> <5,3> <1,5> <2,5> <3,5> <4,5> <5,4> 支持度检测 (c) C2
  • 37. May 15, 2015 DMKD Sides By MAO 37 AprioriAll 算法 例举 (d) L2 依 apriori_generate 算法 L2 与 L2 连接得 <1,2,3> <1,3,2> <1,4,2> <1,5,2> <2,3,4> <2,4,3> <3,4,5> <3,5,4> <1,2,4> <1,3,4> <1,4,3> <1,5,3> <1,2,5> <1,3,5> <1,4,5> <1,5,4> (e) C3(未修剪) C3 修剪 支持度检测 (g) L3 3-Sequences Support <1,2,3> 2 <1,2,4> 2 <1,3,4> 3 <1,3,5> 2 <2,3,4> 2 <1,2,3> <1,3,4> <1,4,5> <2,3,4> <3,4,5> <1,2,4> <1,3,5> (f) C3
  • 38. May 15, 2015 DMKD Sides By MAO 38 AprioriAll 算法 例举 至此, AprioriAll 算法找到了所有的大 -k 序列集,即 L1 、 L2 、 L3 、 L4 ,对于大 -k 序 列集进行 Maximal Sequences in ∪kLk 运算,最终得到最大的大序列。上例结果如下表 所示: AprioriAll 利用了 Apriori 算法的思想,但是在候选产生和生成频繁序列方面需要考虑序 列元素有序的特点进行相应地处理。表 6-8 只给出了最终的频繁序列,实际上在候选产 生过程中有大量序列产生。例如图 6-11 中,在由 L2 产生 C3 过程中,诸如 〈 2 , 3 , 4 〉和〈 2 , 4 , 3 〉都作为候选被测试,只不过因为〈 2 , 4 , 3 〉不满 足支持度要求而在演化 L3 过程中被裁减掉。 依 apriori_generate 算法 L3 与 L3 连接得 (j) L4 4-Sequences Support <1,2,3,4> 2 <1,2,3,4> <1,2,4,3> <1,3,4,5> <1,3,5,4> (h) C4 未修剪 修剪 <1,2,3,4> (i) C4 支持度检测 Sequences Support <1 , 2 , 3 , 4> 2 <1 , 3 , 5> 2 <4 , 5> 2
  • 39. May 15, 2015 DMKD Sides By MAO 39 第六章 序列和序列模式 掘时间 挖 内容提要  序列及其 用时间 应  序列 的常用方法时间 预测  基于 ARMA 模型的序列匹配方法  基于离散傅立叶 的 序列相似性 找变换 时间 查  基于 范 的 找方法规 变换 查  序列 掘及其基本方法挖  AprioriAll 算法  AprioriSome 算法  GSP 算法
  • 40. May 15, 2015 DMKD Sides By MAO 40 AprioriSome 算法 AprioriSome 算法可以看作是 AprioriAll 算法的改 ,具体 程分进 过 为两 个 段:阶 前推 段:阶 此 段用于找出指定 度的所有大序列。阶 长 回溯 段:阶 此 段用于 找其他 度的所有大序列。阶 查 长 算法 6-3 AprioriSome 算法 输入:大项集阶段转换后的序列数据库 DT 输出:所有最长序列 // Forward Phase — 前推阶段; ( 1 ) L1 = {large 1-sequences} ; // 大项目集阶段的结果; ( 2 ) C1 = L1 ; ( 3 ) last = 1 ; // 最后计数的 Clast ( 4 ) FOR ( k =2 ; Ck-1 ≠ ∅ and Llast ≠∅ ; k++ ) DO BEGIN ( 5 ) IF ( Lk-1 know ) THEN Ck = New candidates generated from Lk-1 ; //Ck =产生于 Lk-1 新的候选集 ( 6 ) ELSE Ck = New candidates generated from Ck-1 ; // Ck =产生于 Ck-1 新的候选集 ( 7 ) IF ( k =next ( last )) THEN BEGIN ( 9 ) FOR each customer-sequence c in the database DO // 对于在数据库中的每一个客户序 列 c ( 10 ) Sum the count of all candidates in Ck that are contained in c ; // 求包含在 c 中的 Ck 的候选者的数目之和 ( 11 ) Lk = Candidates in Ck with minimum support ; // Lk =在 Ck 中满足最小支持度的候选 者 ( 12 ) last = k ; ( 13 ) END ;
  • 41. May 15, 2015 DMKD Sides By MAO 41 AprioriSome 算法 ( 续 ) 表 6-2 顾客序列表示例 // Backward Phase — 回溯阶段; ( 15 ) FOR ( k - - ; k > = 1 ; k - - ) DO ( 16 ) IF ( Lk not found in forward phase ) THEN BEGIN // Lk 在前推阶段没有确定的情况 ( 17 ) Delete all sequences in Ck contained in Some Li , i > k ; // 删除所有在 Ck 中包含在 Lk 中的序列, i>k ( 18 ) FOR each customer-sequence c in DT DO // 对于在 DT 中的每一个客户序列 c ( 19 ) Sum the count of all candidates in Ck that are contained in c ; // 对在 Ck 中包含在 c 中的所有的候选这的计数 ( 20 ) Lk = Candidates in Ck with minimum support // Lk = 在 Ck 中满足最小支持度的候选者 ( 21 ) END ; ( 22 ) ELSE Delete all sequences in Lk contained in Some Li , i > k ; // Lk 已知 ( 23 ) Answer = ∪k Lk ; // 从 k 到 m 求 Lk 的并集 在前推阶段( forward phase )中,我们只对特定长度的序列进行计数。比如,前推阶段我们对长度 为 1 、 2 、 4 和 6 的序列计数(计算支持度),而长度为 3 和 5 的序列则在回溯阶段中计数。 next 函数以上次遍历的序列长度作为输入,返回下次遍历中需要计数的序列长度。 算法 6-4 next ( k: integer ) IF ( hitk < 0.666 ) THEN return k + 1 ; ELSEIF ( hit k < 0.75 ) THEN return k + 2 ; ELSEIF ( hit k < 0.80 ) THEN return k + 3 ; ELSEIF ( hit k < 0.85 ) THEN return k + 4 ; ELSE THEN return k + 5 ; hitk 被定义为大 k- 序列( large k-sequence )和候选 k- 序列( candidate k-sequence ) 的比率,即 |Lk|/|Ck| 。这个函数的功能是确定对哪些序列进行计数,在对非最大序列计数 时间的浪费和计算扩展小候选序列之间作出权衡。
  • 42. May 15, 2015 DMKD Sides By MAO 42 AprioriSome 算法 例子 6-3 我们仍然采用 AprioriAll 算法用过的图 6-11 ( a )数据库例子来说明 AprioriSome 算法。 在大项集阶段可以找出 L1 (和图 6-9 ( b )的 L1 相同)。假设 next ( k ) =2k ,则通过计算 C2 可 以得到 L2 (和图 6-11 ( d )中的 L2 相同)。第三次遍历后, apriori_generate 函数以 L2 作为输入 参数来产生 C3 。图 6-12 ( e )给出了 C3 中的候选序列。我们不计算 C3 ,因此也不产生 L3 。下一 步 apriori_generate 函数以 C3 来产生 C4 ,在经过剪枝后,得到的结果和图 6-9 ( i )所示的 C4 相同。 在以 C4 计算 L4 (图 6-12 ( i ))之后,我们试图产生 C5 ,这时的结果为空。前推阶段的具体运行 见下图 6-12 所示。<(1,5)(2)(3)(4)> <(1)(3)(4)(3,5)> <(1)(2)(3)(4)> <(1)(3)(5)> <(4)(5)> (a) 原序列库 (b) L1,、C1 last=1 1-Sequences Support <1> 4 <2> 2 <3> 4 <4> 4 <5> 4 算法(1)步 k=2, Lk-1 已 知 , C2 由 apriori_generate算法 L1与 L1 连接得 (d) L2 <1,2> <2,1> <3,1> <4,1> <5,1> <1,3> <2,3> <3,2> <4,2> <5,2> <1,4> <2,4> <3,4> <4,3> <5,3> <1,5> <2,5> <3,5> <4,5> <5,4> (c) C2 k=2,k==next(last)成立, 执行计数等操作,求出 Lk , last=k=2
  • 43. May 15, 2015 DMKD Sides By MAO 43 AprioriSome 算法 (e) C3 k=3 ,Lk-1=L2 是已知的,所以 Ck 由 Lk-1 即 C3 由 L2 产生,同样调用 apriori_generate 算法 <1,2,3> <2,3,4> <1,2,4> <3,4,5> <1,3,4> <1,4,5> <1,3,5> k=3, next(2)=4, k==next(last)成立 (f) k=4,Ck-1=C3 不空, Llast=L2 不空,继续执 行 k=4,Lk-1=L3 是未知的,所以 Ck 由 Ck-1 即 C4 由 C3 产生,同样调用 apriori-generate 算法 <1,2,3,4> <1,2,4,3> <1,3,4,5> <1,3,5,4> 修剪 <1,2,3,4> (h) C4 (g) (i) L4 4-Sequences Support <1,2,3,4> 2 (j) k=4,k==next(2)成立,执 行计数等操作,求出 Lk , last=k=4 k=5,Ck-1=C4 不空,Llast=L4 不 空,继续执行,其后 C5 产生为空。 k=5,next(4)=8,此时不满足 条件,前半部分到此结束
  • 44. May 15, 2015 DMKD Sides By MAO 44 AprioriSome 算法 (a) L4 4-Sequences Support <1,2,3,4> 2 k=4,L4 在前半部分确定,删 除所有在 L4 中包含在某些 Li 中的序列,i>k k=3, L3 在前半部分没有 确定,删除 C3 中某些 Li 中的序列,i>k <1,3,5> <1,4,5> <3,4,5> (b) 删除大 4 序列的子序列之 后的候选 C3 序列 (c) L3 3-Sequences Support <1,3,5> 2 2-Sequences Support <4,5> 2 (d) L2 对新的 C3 计数 求出 L3 k=2,L2 在前半部分确定, 删除所有在 L2 中包含在某 些 Li 中的序列,i>k (f) 最大的大序列 Sequences Support <1,2,3,4> 2 <1,3,5> 2 <4,5> 2 (e) k=1,L1 在前半部分确定, 删除所有在 L1 中包含在某 些 Li 中的序列,i>k C5 为空,至此后半部 分算法执行结束 Answer = ∪ k Lk 回溯阶段的具体运行见下图 6-13 所示。
  • 45. May 15, 2015 DMKD Sides By MAO 45 AprioriAll 和 AprioriSome 比较 AprioriAll 和 AprioriSome 比较  AprioriAll 用 Lk-1 去算出所有的候选 Ck ,而 AprioriSome 会直接用 Ck-1 去算出所有的候选 Ck. ,因 为 Ck-1 包含 Lk-1 ,所以 AprioriSome 会 生比 多的候产 较 。选  虽然 AprioriSome 跳 式 算候 ,但因 它所 生的候跃 计 选 为 产 比 多,可能在回溯 段前就占 内存。选 较 阶 满  如果内存 了,满 AprioriSome 就会被强迫去 算最后一计 组 的候 ,(即使原本是要跳 此 )。 ,会影响并选 过 项 这样 减 少已算好的 个候 的跳 距离,而使得两 选间 跃 AprioriSome 会 的跟变 AprioriAll 一 。样  于 低的支持度, 有 的大序列, 也因此有 多的对 较 较长 较 非最大序列, 所以 AprioriSome 比 好。较
  • 46. May 15, 2015 DMKD Sides By MAO 46 第六章 序列和序列模式 掘时间 挖 内容提要  序列及其 用时间 应  序列 的常用方法时间 预测  基于 ARMA 模型的序列匹配方法  基于离散傅立叶 的 序列相似性 找变换 时间 查  基于 范 的 找方法规 变换 查  序列 掘及其基本方法挖  AprioriAll 算法  AprioriSome 算法  GSP 算法
  • 47. May 15, 2015 DMKD Sides By MAO 47 GSP 算法 GSP 算法主要包括三个步 :骤  ① 扫描序列数据库,得到长度为 1 的序列模式 L1 ,作为初始的种子集;  ② 根据长度为 i 的种子集 Li 通过连接操作和剪切操作生成长度为 i+1 的 候选序列模式 Ci+1 ;然后扫描序列数据库,计算每个候选序列模式的支持 数,产生长度为 i+1 的序列模式 Li+1 ,并将 Li+1 作为新的种子集;  ③ 重复第二步,直到没有新的序列模式或新的候选序列模式产生为止。 其中, 生候 序列模式主要分 步:产 选 两  连接阶段:如果去掉序列模式 S1 的第一个项目与去掉序列模式 S2 的最 后一个项目所得到的序列相同,则可以将 S1 于 S2 进行连接,即将 S2 的 最后一个项目添加到 S1 中。  剪切阶段:若某候选序列模式的某个子序列不是序列模式,则此候选序 列模式不可能是序列模式,将它从候选序列模式中删除。 候 序列模式的支持度 算按照如下方法 行:选 计 进  对于给定的候选序列模式集合 C ,扫描序列数据库 DT ,对于其中的每一 条序列 d ,找出集合 C 中被 d 所包含的所有候选序列模式,并增加其支 持度计数。
  • 48. May 15, 2015 DMKD Sides By MAO 48 GSP 算法 算法 6-5 GSP 算法 输入:大项集阶段转换后的序列数据库 DT 。 输出:最大序列 ( 1 ) L1 = {large 1-sequences} ; // 大项集阶段得到的结果 ( 2 ) FOR ( k = 2 ; Lk-1 ≠ ∅ ; k++ ) DO BEGIN ( 3 ) Ck = GSPgenerate(Lk-1) ; ( 4 ) FOR each customer-sequence c in the database DT DO ( 5 ) Increment the count of all candidates in Ck that are contained in c ; ( 6 ) Lk = Candidates in Ck with minimum support ; ( 7 ) END ; ( 8 ) Answer = Maximal Sequences in ∪kLk ;
  • 49. May 15, 2015 DMKD Sides By MAO 49 GSP 算法 例举 例子 6-5 表 6-9 演示了从长度为 3 的序列模式产生长度为 4 的候选序列模式的过程。 在连接阶段,序列 < ( 1 , 2 ), 3> 可以与 <2 ,( 3 , 4 ) > 连接,因为 < ( * , 2 ), 3> 与 <2 ,( 3 , * ) > 是相同的,两序列连接后为 < ( 1 , 2 ), ( 3 , 4 ) > ; < ( 1 , 2 ), 3> 与 <2 , 3 , 5> 连接,得到 < ( 1 , 2 ), 3 , 5> 。剩下的序列是不能和任何长度为 3 的序列连接的,比如 < ( 1 , 2 ), 4> 不能与任何长度为 3 的序列连接,这是因为其他序列没有 < ( 2 ), ( 4 , * ) > 或者 < ( 2 ),( 4 )( * ) > 的形式。 表 6-9 GSP 算法举例 在修剪阶段 < ( 1 , 2 ), 3 , 5> 将被剪掉,这是因为 <1 , 3 , 5> 并不在 L3 中,而 < ( 1 , 2 ),( 3 , 4 ) > 的长度为 3 的子序列都在 L3 因而被保留下来。 Sequential patterns With Length 3 Candidate4-Sequences After Join After Pruning < ( 1 , 2 ), 3> < ( 1 , 2 ), 4 > <1 ,( 3 , 4 ) > < ( 1 , 3 ), 5 > <2 ,( 3 , 4 ) > <2 , 3 , 5> < ( 1 , 2 ), ( 3 , 4 ) > < ( 1 , 2 ), 3 , 5> < ( 1 , 2 ), ( 3 , 4 ) >
  • 50. May 15, 2015 DMKD Sides By MAO 50 第六章 序列和序列模式 掘时间 挖 内容提要  序列及其 用时间 应  序列 的常用方法时间 预测  基于 ARMA 模型的序列匹配方法  基于离散傅立叶 的 序列相似性 找变换 时间 查  基于 范 的 找方法规 变换 查  序列 掘及其基本方法挖  AprioriAll 算法  AprioriSome 算法  GSP 算法
  • 51. May 15, 2015 DMKD Sides By MAO 51 Thank you !!!Thank you !!!