当前位置:文档之家› 相似性挖掘在时间序列数据中的应用研究

相似性挖掘在时间序列数据中的应用研究

相似性挖掘在时间序列数据中的应用研究摘要:针对时间序列的数据挖掘首先需要将时间序列(Time Series)数据转换为离散的符号序列(Symbol Sequence)。

在前人的基础上,将界标模型和分段线性化进行了结合,以关键点作为分段依据,以最大似然函数和最小二乘法来拟合各分段线性拟合函数;此方法的优点在于符合人体生理实验结果,考虑了时间序列中的噪声。

关键词:时间序列;相似性挖掘;线性化分段;关键点0 引言时间序列是人们工作和生活中经常遇到的一类重要的数据形式.对时间序列进行分析,可以揭示事物运动变化和发展的内在规律,对于人们正确认识事物并据此作出科学的决策具有重要的现实意义。

数据挖掘(Data Mining)也称知识发现(Knowledge iscovery),是一种新兴的面向决策支持的数据处理手段。

针对时间序列的数据挖掘研究从大量时间序列历史数据中发掘有价值的规律性信息的算法及实现技术,也是一个新的、极具挑战性和有着重要应用前景的研究领域。

1 时间序列相似性的挖掘时间序列是指按时间变化的序列值或事件,时间序列数据库是指由随时间变化的序列值或事件组成的数据库。

这些值或事件通常是在等时间间隔测得的。

以股票每天的交易记录为例来说明上述定义,rj={600000,浦发银行,24.8,26.3,24.2,25.8,255105,62},其中600000是股票代码,浦发银行是股票名称,接下来的分别为当天的开盘价、最高价、最低价、收盘价、成交量以及第62个交易日。

前两个特性显然与时间无关,为静态特性,而其他特性值是与时间密切相关的,是动态特性。

很显然,对于静态特性研究的意义不大。

对于时间序列的相似性测量,不同的数据表达形式相似性测量的方法也不尽相同。

常用的测量方法主要有以下3种。

(1)欧几里德距离测量方法。

对于时间序列数据的相似性分析中,经常采用欧几里德距离作为相似计算的工具。

采用欧氏距离进行测量的优点是容易计算,易于理解,可以用于索引和聚类等数据挖掘。

它的缺点是对序列中的噪声很敏感,而且欧氏距离会随着序列长度的增加而增加。

而实际的时间序列数据往往会很长,含有较多的噪声,仅仅通过简单的欧几里德距离测量方法不能正确做出两个时间序列是否相似的判定,同时由于数据量很大,相似性的计算效率也很低;欧氏距离也不允许有不同的基线,如当两支股票分别在¥20和¥80进行波动时,尽管他们的波形很相似,但是其欧氏距离会很大。

(2)相关性测量。

另一个相似性测量方法不但能够将相似性作为位置的函数,而且不必对原始数据库的时间序列产生所有的长度为n 的子序列。

一个目标时间序列{xi}和时间序列数据库中的序列{yi}之间的线性相关定义如下:C-i=∑+n-j=1x-jy-i+j[]∑+n-j=1x+2-j∑+n-j=1y+2-j(1)其中i=1,……,N+n-l.这种相关性的计算对于{xi}比较长的时间序列的计算花费是很大的,在这种情况下,傅立叶变换的卷积定理提供了一个很好的解决办法。

首先在{xi}和{yi}的末尾补充0使得两个时间序列变为长度都为1=N+n-1的新序列{xi}和{yi},然后对{xi}和{yi}进行离散傅立叶变换生成{Xi}和{Yi},最后通过逐点相乘{Xi}和{Yi}就会得到相关系数,结果转化为如下形式:C-i=F+{-1}{X+*-jY-j}[]∑+n-{j=1}X+2-j∑+N-{j=1}Y+2-j(2)式(1)和(2)在Parseval's Theorem 1上是一致的。

如对{xi}和{yi}进行合适的规范化处理,则作为相似性测量参数的相关性因子ci,的值将在[-1, 1]的范围内,如为1则说明两个时间序列完全匹配。

当存在干扰信号时,相关因子的值一般小于1,而且序列值{ci}峰值的位置就是{xi}中与{yi}匹配的可能位置。

(3)动态时间弯曲法(DTW, Dynamic Time Warping)。

欧氏距离由于时间轴的微小变形都会被引起很大的变化,因此不再适用于时间轴有轻微变形的时间序列相似性的测量。

而动态时间弯曲距离可有效消除欧氏距离的缺陷,它允许序列在时间轴上的偏移,序列各点不要求一一对应,并且能够计算不同长度序列之间的距离。

欧氏距离和动态时间弯曲距离计算时序列两个时间序列的虽然形状相似,但是它们在时间轴上并不是完全对齐的,因此用欧氏距离计算相似性结果将会是距离很大,可能会导致产生不相似的结果。

2 分段线性化描述时间序列本文提出将界标模型和分段线性化方法相结合,用关键点(符合一定条件的一阶界标)作为直线段的端点,以关键点为边界划分成各子序列,各子序列考虑实际采样点的振幅值的分布,以最大似然函数和最小二乘法拟和线段求出各分段线性拟合函数y=a+bx。

同时以线性拟合函数式中b的值为形态相似比较的基本单元,提出了一种新的相似性测量公式,该公式对时间序列的多种变形都不敏感。

2.1 检索关键点假设一下分段函数模型能够拟合时间序列X:X=f-1(t,w-1)+e-1(t) 1≤t<a-1f-k(t,w-k)+e-k(t) a-{k-1}≤t<a-k=N(3)其中a=(a1,a2,…ak)是时间序列X的关键点的集合,关键点是时间序列趋势上升或下降的变化的分界点。

e1(t),e2(t),…,ek(t)是第i段的绝对误差项,ei(t)为满足均值为零的高斯白色噪声分布的函数。

f(t,w)为时间序列第i段的拟合多项式函数(1≤i≤k),wi 是系数向量,f(t,w)∈M,M为线性模型。

检索关键点的算法如下:输入:时间序列X:增幅比阙值§;输出:关键点集合cp0。

算法描述:(1)扫描时间序列数据库,找出时间序列库振幅最大值xmax,最小值xmin 。

(2)规范化预处理时间序列。

方法就是对各点的振幅xi,作如下变换:x-i=(x-i-x-{max}+x-{min}[]2)/(x-{max}-x-{min}[]2)(4)规范化处理的目的是以此将振幅xi的值限制在区间[-1,+l]之间,达到消除振幅平移和时间缩放对相似性计算所带来的影响。

(3)以时间为序计算的增幅比值并依次与给定的增幅比阂值§(§>0)进行比较,如大于等于增比阙值§,则在集合cp中记录时刻ti值和振幅值xi。

计算增幅比值的公式如下:(x-{i+1}-x-i)[]x-i(5)(4)检索出满足阙值§条件的关键点,根据实际研究需要,可适当调整§的值,重新查找时间列变化的关键点。

2.2 分段线性化描述时间序列以关键点集合cp中每一点为分界点,将时间序列分割为各段子序列,考虑时间序列实际复杂性,不能直接将各关键点的连接线代替各子序列,需要每段子序列作一元线性回归拟合,线性拟合方程如下:y-i=a+bx-i+ε-iε~N(0,δ+2)(6)式中,ε-i a,b的最大似然估计:(1)构建似然函数L=∏n[]i=1f(y-i)=∏n[]i=11[]2πδe-(y-i-1-bx-i)+2[]2δ+2=(2πδ+2)-n[]2e-∑n[]i=1(y-i-a-bx-i)+2[]2δ+2(7)(2)求a,b的最大似然估计。

令函数Q(a,b)=∑[DD(]n[]i=1[DD)](y-i-a-bx-i)+2),要使L为最大,根据函数的极值性质,Q(a,b)对a,b偏导,即可求出Q(a,b)的最小值,联立方程组:Q[]a=-2∑n[]i-1(y-1-a-bx-i)=0Q[]b=-2∑n[]i-1(y-i-a-bx-i)x-i=0(8)用最小二乘法求a,b的最大似然估计,解方程得到:=-=∑[DD(]n[]i=1[DD)](x-i-)(y-i-)[]∑[DD(]n[]i=1[DD)](x-i-)+2(9)式中[AKx-]=[SX(]∑[DD(]n[]i=1[DD)]x-i[]n[SX)],[AKy-]=[SX(]∑[DD(]n[]i=1[DD)]y-i[]n [SX)],样点振幅的平均值。

将求解出的a,b代入线性拟和方程,得近似回归方程式y=a+bx。

依据上述方法可依次计算出各分段的拟和方程中的b。

2.3 相似性算法的实现本部分的软件环境是数据分析软件SAS系统。

实验任务描述如下:给定查询序列S,Q是比S长得多的序列,需要在Q上找到和S 的距离最近的子序列并返回该子序列的位置。

这里采用顺序扫描和滑动窗口技术进行子序列匹配,但是不像通常那样每次窗口只滑动一个点,由于从序列中提取了那些对序列形状影响最大的特征点,可以认为窗口只有在经过一个特征点时,匹配的子序列才会发生明显的变化,所以每次让窗口滑动到下一个特征点,以加快顺序扫描的速度。

子序列匹配的算法如下:输入:待查询时间序列数据集Q,时间序列数据集S,增幅比阈值§;输出:在Q中找到和S的距离最近的子序列并返回该子序列的位置。

算法描述:(1)规范化预处理时间序列Q, S。

对各点的振幅x,按公式(4)进行变换。

(2)检索Q, S各自的关键点,关键点集合分别为关键点数据集mp,cp,记录Q,S关键点的个数。

以时间为序计算增幅比值且依次与给定的增幅比阈值§(§>0),如大于等于增幅比阈值8,则在关键点数据集mp,cp中记录时刻t值和振幅值x.(3)将Q, S各目分段并拟合成线性方程,求出各自分段线性拟和方程中斜率b、b’的集合。

分段依据是(2)中所得到的由关键点xi与xj构成的关键点数据集mp,cp,将分段子序列数据放入临时数据集temp中。

对每一个分段子序列计算斜率直接通过最大似然估计和最小二乘法推导得到的公式(9)来获得。

(4)利用顺序扫描和滑动窗口技术进行子序列匹配,依次计算Q 与S中子序列的相似性距离,相似性距离集合为D_qs。

窗口大小为Q关键点的个数Num_q,每次滑动到下一个特征点。

(5)从相似性距离集合D_qs中找到最短距离并返回该子序列的位置。

3 结束语本文主要完成了相似性搜索算法设计的3部分内容,包括相似性的定义、相似性度量模型的建立和算法的实现。

并在此基础上进一步研究:首先将分段线性化和界标模型技术相结合,提出一种基于关键点的时间序列分段线性表示方法;然后在前面的分段线性化表示方法的基础上提出一种相似性的计算方法;最后将相关算法在SAS系统环境中实现。

本文的研究处于一个十分基础又十分重要的地位,在此基础上进行的子序列匹配、整体序列匹配就可满足实际中一部分的需求,进一步的可在此基础上结合分类、聚类、关联规则等数据挖掘技术,这将是一个与实际应用更接近的研究领域。

参考文献:[1] 李等等,邵培基,黄亦潇.数据挖掘在中国的现状和发展研究[J].管理工程学报,2004(3).[2] 刘世元,江皓.面向相似性搜索的时间序列表示方法述评[J].计算机工程与应用,2004(27).[3] F.A TTNEA VE.Some information aspects of visual perception[J].Psychology Review,1954(3).[4] LAST,M,KLEIN,Y.Knowledge Discovery in series Databases.IEEE Trans[M].on System,Man,and Cybernetics-part b,2001(1).[5] 段立娟,高文,王伟强.时序数据库中相似序列的挖掘[J].计算机科学,2000(5).[6] 张军,陈汉武,马志民.一种时间序列相似性的快速搜索算法[J].南京师范大学学报(工程技术版),2005(3).[7] 肖辉,胡运发.基于分段时间弯曲距离的时间序列挖掘[J].计算机研究与发展,2005(1).[8] 武红江,赵军平,彭勤科,等.基于波动特征的时间序列数据挖掘[J].控制与决策,2007(2).[9] 蒋嵘,李德毅,程辉.基于形态表示的时间序列相似性搜索[J].计算机研究与发展,2000(5).[10] 郑斌祥,杜秀华,席裕庚.时序数据相似性挖掘算法研究[J].信息与控制,2002(3).。

相关主题