首页 理论教育 演变分析原理及应用

演变分析原理及应用

时间:2023-06-24 理论教育 版权反馈
【摘要】:由回归分析求出的关系式称为回归模型。在运用回归模型进行预测时,正确判断变量之间的相互关系,选择对预测目标起主要影响的因素作为模型的自变量是至关重要的。表8-1一元线性回归分析原始数据及拟合结果例8.1:取十五组数据,自变量x与因变量y的值如表8-1中第二、三列所示。图8-2直线拟合图求得参数a和b的具体值后,就可以用得到的回归模型进行预测。

演变分析原理及应用

这一节介绍演变分析各种技术的基本原理。

1)回归分析

回归分析研究某一个变量因变量)与其他一个或多个变量(自变量)之间的关系。应用回归分析可以从一个或多个自变量的值,去预测因变量将取得的值。由回归分析求出的关系式称为回归模型。在运用回归模型进行预测时,正确判断变量之间的相互关系,选择对预测目标起主要影响的因素作为模型的自变量是至关重要的。

按照不同的标准,回归模型可以有多种分类方法:

①根据自变量个数的多少。根据模型中自变量的个数,回归模型可以分为一元回归模型和多元回归模型。一元回归模型中只有一个自变量,因变量由这个自变量唯一决定;多元回归模型中含有多个自变量,因变量由这些自变量的某种组合所决定。

②根据回归模型是否线性。根据模型是否线性,回归模型可以分为线性回归模型和非线性回归模型。线性回归模型是指因变量和自变量之间是线性函数关系;非线性回归模型也被称为多项式回归模型,在这类模型中,因变量和自变量之间是多项式的函数关系。

③根据模型是否带有虚拟变量。根据模型是否带有虚拟变量,回归模型可以分为普通回归模型和虚拟变量回归模型。普通回归模型的自变量都是数值型变量,而虚拟变量回归模型的自变量既有数值型变量也有类别型变量,如经济分析中,常遇到的因变量取值为“买与卖”、“盈与亏”等,这些情况需要给予一个虚拟变量并赋以数值代表。

小节结合①、②两种分类法,主要讨论三种回归分析方法:一元线性回归、多元线性回归和一元多项式回归。

线性回归分析是通过建立变量间的拟合线性相关模型来研究变量与变量之间的线性相关关系。

(1)一元线性回归分析。一元线性回归分析研究的是一个因变量与一个自变量之间的线性数量关系,是最简单的线性回归分析,其模型具有如下形式:

其中,y称为因变量;x为自变量,表示对因变量的主要影响因素,属于可控变量;ε代表各种随机因素对因变量的影响总和,即随机误差项,在实际应用中,通常假定ε服从正态分布N(0,σ2); a和b称为模型的参数,a称为回归截距,b称为回归系数

从式8-1可以得出以下结论:

由于ε~N(0,σ2 ),所以y~N(a+bxi,σ2),也就是说y服从以a + bx为均值,以σ2方差的正态分布,如图8-1所示。

图8-1 Y的分布

在用一元线性回归模型进行预测时,首先必须对参数a和b进行估计。估计参数a和b的方法有多种,一般采用最小二乘法,这也是使用最广泛的一种估计方法。假定(x1,y1 ), (x2, y2), …, (xn, yn)是一组已知的样本数据,采用最小二乘法估计参数a和b的结果如下(具体过程略去):

例8.1:取十五组数据(表8-1),自变量x与因变量y的值如表8-1中第二、三列所示。采用上述方法,求得a=—1.473, b = 0.062,可以得到回归模型:y = 0.062x—1.473。

表8-1 一元线性回归分析原始数据及拟合结果

(续表)

表8-1还给出了采用该模型得到的y的拟合值(记为=a+bx)以及拟合值与实际数值之间的误差。在图8-2中,描绘了拟合这些数据点的直线。

图8-2 直线拟合图

求得参数a和b的具体值后,就可以用得到的回归模型进行预测。例如,现在已知一个数据点的x值为280,而y值未知,利用上述求得的模型可以预测出y的值为15.887。

为了判断求得的模型是否真实客观地反映了自变量x与因变量y之间的关系,需要对模型进行检验。一般地,检验主要从两个方面考虑,一是检验样本拟合值对观察值的拟合程度,能反映模型拟合程度的好坏;二是检验自变量x与因变量y之间究竟能否用线性关系来描述。

考察线性回归模型拟合程度的好坏,一个简单的方法是衡量因变量y的拟合值与样本观察值y之间的差异,差异越大则拟合程度越不好,反之则表明拟合程度优良。

由于y~N(a+bx, σ2),可知

所以,当标准化后的误差落在(一2,2)之内时,有95.44%的把握认为回归模型的拟合程度良好。

为了检验自变量x与因变量y之间究竟能否用线性关系来描述,可采用判定系数作为衡量指标。

作如下定义:

其中SSR称为回归平方和,SSE称为剩余平方和。

定义8.1(判定系数):是衡量因变量与自变量关系密切程度的指标,其值介于0与1之间,并取决于回归模型所解释的y方差的百分比,记为R2。计算公式如下:

判定系数R2的值越大表示线性回归直线反映样本中变量的关系越好。当R2 = 0时,表明变量x与y之间没有线性关系,此时不适合使用线性回归模型;当R2=1时,表明所有的样本点全部落在回归直线上,变量完全满足线性关系。

(2)多元线性回归分析。一元线性回归模型预测法研究的是一个因变量和一个自变量之间的线性关系问题,然而客观世界现象之间的联系是复杂的,许多现象的变动都涉及多个变量,这种研究一个因变量和多个自变量之间线性数量关系的理论和方法就称为多元线性回归分析。

多元线性回归模型的形式如下:

其中xi为自变量,y为因变量,βi为回归参数,ε代表各种随机因素对因变量的影响总和,即随机误差项,仍然假定ε服从正态分布N(0,σ2);

从式8-10可以得出以下结论:

E(y) = E(β0lx12x2 + …+βkxk +ε) = 01x12x2 +…+βkxk

D(y) = D(β01x12x2 +… +βkxk +ε) =σ2

由于ε~N(0,σ2 ),所以y~N(β01x1 + …+βkxk,σ2 ),也就是说y服从以β01 x1+β2x2 + … + βkxk为均值,以σ2为方差的正态分布。

为了使用该模型,要对所有的回归参数βi进行估计,为此进行n次独立的实验或观察,取得n次样本观测值,这些观测值如下:

(y i , xi1 , xi2, …, xik) i = 1,2, …, n

于是有

为了方便起见,采用矩阵方法来表示上述模型,记

则模型(8-11)可以表示为

其中随机向量ε服从正态分布N(0,σ2 In),这里0为n×1向量,In为n阶单位矩阵。由式8-12可得

E(Y) = E(X β+ε ) = Xβ

D(Y) = D(Xβ +ε) = σ2In

要运用模型(8-4)进行多元线性回归分析就必须要求出向量β, SS假设数据矩阵x列满秩,综合运用线性代数和微积分的知识可以得到如下结论(具体计算过程略去):

这样就得到了多元回归模型的所有回归参数,从而可以利用该模型进行预测与估计。

下面来看一个求解多元线性回归模型的例子。

例8.2:为了简单起见,只取两个自变量,原始数据见表8-2。

表8-2 一元线性回归分析原始数据

从表8-2可得数据矩阵X与Y:

因此,回归模型为y = 2.589—0.378x1+ 0.875x2

多元线性回归模型同样需要进行检验,但多元线性回归模型的检验要比一元的情况复杂得多,既要检验自变量整体与因变量之间的相关程度,也要检验单个自变量与因变量之间的相关程度,还要检验模型本身是否存在自相关。通过检验后,就可以利用模型进行各种估计和预测,方法与一元线性回归模型基本上相同。

以上讨论了变量之间呈线性关系的预测方法,然而在实际应用中,这些因素之间的关系并不是呈线性关系的。下面介绍一种非线性回归分析方法。

(3)一元多项式回归分析。多项式回归模型是一种非线性回归模型,它在回归分析中占有重要的地位,并且在得到了广泛的应用。多项式回归分析基于如下一个事实:任何一个函数在某一范围内都可以用一个多项式函数任意逼近。因此在实际问题中,无论自变量与因变量的关系有多么复杂,总可以用多项式回归模型进行分析。

本节讨论的是一元多项式回归模型,该模型用于解决如下问题:只有一个自变量与因变量相关,但是它们之间并不是简单的线性关系。该模型的数学表达式如下所示

其中为x自变量,y为因变量,β0、β1、β2、…、βk为回归参数,分别叫做截距、一次、二次、…、k次回归参数。ε代表各种随机因素对因变量的影响总和,即随机误差项,仍然假定ε服从正态分布N(0,σ2 )。

从式8-14可知:

E(y) = E(β01x+β2x2+…+βkxk+ε)=β01x+β2 x2+…+βkxk

为了利用模型(8-14)进行回归分析,需要确定参数β0 、β1 、 β2 、…、βk,仍然使用最小二乘法,假定(x1, y1) 、 (x2, y2) 、…、 (xn,yn)是一组已知的样本数据,可以得到如下结论(具体计算过程略去):

在这里

下面来看一个求解一元多项式回归模型的例子。

例8.3:取模型中的k=2,即要求从表8-3中的原始数据拟合一条二次曲线y = β01x+β2x2

表8-3 一元多项式回归分析原始数据

首先求出将原始数据对应的矩阵,按照上述方法,可以求得回归参数向量的解为β=

(β0 ,β1,β2T=(15.2812,—0.6718,0.0076) T,因此所得的回归模型为

y = 15.2812—0.671 8x + 0.007 6x2

图8-3是经过拟合之后的结果图,图中的折线为原始数据的连线,曲线则是由原始数据拟合而来的二次曲线。从图中可以发现,这些数据基本上沿着拟合曲线的形状发生变动。

图8-3 拟合曲线

关于多项式回归分析还有一些更复杂的情形,例如变量数更多、幂次更高等,但是基本的方法和原理都与一元多项式回归分析类似。

回归分析方法考虑了变量之间的因果关系,但无论是使用线性或非线性的回归分析法,都存在一个问题,那就是分析者必须要能发现影响预测目标(即因变量)的主要因素(即自变量)。在实际中,分析问题的复杂性往往使得我们难以找到这些影响预测目标的主要因素。在另外一些情况下,即使找到了这些主要因素,也可能存在无法收集到这些因素相关数据的问题。这时,回归分析预测法就不能使用。

2)时间序列分析

目前,在许多行业数据库中都存储着大量时间序列数据,例如产品销售记录数据、股票价格数据、地区降雨量数据等,时间序列分析已成为演变分析技术中的主要方法之一。与回归分析相比,时间序列分析着眼于数据时间前后的相关性,而回归分析则着眼于自变量与因变量间的相关性。

一般有以下四种主要的变化用于处理时间序列数据:

①趋势变化(trend movement):用于反映一般变化方向,表明在较长一段时间间隔内的数据变化,表现为“趋势线”或“趋势曲线”。例如,图8-4中的趋势曲线由图中的虚线表示。确定趋势曲线或趋势线的典型方法包括加权移动平均方法和最小二乘法。

②循环变化(cyclic variation):趋势线或趋势曲线在长期时间内呈摆动迹象,可以是也可以不是周期性的,这个循环并不遵循基于相等时间的规律,即在等时间间隔之内,循环不需要沿着同样的模式演进。

③季节性波动(seasonal variation):反映每年、每月或每日都重复出现的事件,即指同一或近似同一的模式,在连续几年中的有关月份期间重复出现。例如在新年过后,商品房的销售量突然增大。

④非规则随机变化:反映由于一些突发偶然事件产生的不规则的零星时序变化,如企业内发生人事变动等。

针对以上处理,出现了大量的时间序列分析方法,在这里仅介绍几种较为简单的分析方法,包括时间序列预测法、相似搜索和周期分析方法等。

定义8.2( 时间序列,time series):指按时间顺序排列的观测值集合。在特定应用领域中,时间序列数据取值可以是整型、实型等。

用yt表示时间序列,ψt-1为用于预测时刻t的时刻t—1的信息集。由此时间序列的一般模型为:

其中,ut是均值为零、方差为随机变量序列。不难发现,ut是yt在时刻t的一步滞后预测误差,即在时刻t对时间序列的一次修正。

例8.4:变量y表示房产市场某一楼盘的每月价,可以看作是时间t的函数,记为yt =f( ψt-1) + ut,该函数可以用一个时间序列图(图8-4)表示。

图8-4 时间序列数据:某房产公司房产价格随时间的变动

(1)时间序列预测方法。时间序列预测方法是一种考虑变量随时间发展变化规律,并用该变量以往的统计资料建立数学模型,进行类推或延伸,借以预测下一段时间的趋势的方法。该方法所需要的只是序列本身的历史数据,具体方法有博克斯-詹金斯法、移动平均法、指数平滑法、趋势外推法、自适应过滤法等。

ARMA模型(博克斯-詹金斯)法[1]是一种最通用的时间序列预测方法。它主要试图解决以下两个问题:

(1)分析时间序列的随机性、平稳性和季节性;

(2)在对时间序列分析的基础上,选择适当的模型进行预测。

其模型可分为:自回归模型(简称AR模型);滑动平均模型(简称MA模型);自回归滑动平均混合模型(简称ARMA模型)。

ARMA模型法依据的基本思想是:将预测对象随时间推移而形成的数据序列视为一个随机序列,即除去个别因偶然原因引起的观测值外,时间序列是一组依赖于时间t的随机变量。这组随机变量所具有的依存关系或自相关性表征了预测对象发展的延续性,而这种自相关性一旦被相应的数学模型描述出来,就可以从时间序列的过去值及现在值预测其未来的值。

自回归模型的公式为:(www.xing528.com)

其中,p为回归模型的阶数;Yt是时间序列在时间t的观测值;et是误差或偏差,即不能用模型说明的随机因素。

滑动平均模型的公式为:

其中,Yt是预测所用的时间序列在时间t的观测值;q是滑动平均模型的阶数;et时间序列模型在时间t的误差或偏差。

自回归模型与滑动平均模型的有效组合,构成了自回归滑动平均混合模型,即:

博克斯-詹金斯预测方法把预测问题分为三个阶段:

①模型识别阶段:这个阶段是预测法中的关键步骤。利用自相关分析和偏自相关分析等方法,分析时间序列的随机性、平稳性及季节性,并选定一个特定的模型拟合所分析的时间序列。

②模型中参数的估计和模型的检验阶段:用时间序列的数据,估计模型的参数,并进行检验,以判断该模型是否恰当。如果不恰当,则返回第一阶段,重新选定模型。选定一个恰当的模型后,进入第三个阶段。

③预测应用阶段:获得一个合适的ARMA模型后,对将来的某个时期的数值作出预测。

博克斯-詹金斯法进行预测时,不仅考察预测变量的过去值与当前值,同时对模型同过去值拟合产生的误差也作为重要因素进入模型,有利于提高模型的精确度

(2)时间序列平滑预测法。时间序列平滑预测法将预测目标的历史数据按照时间顺序排成序列,然后分析它随着时间的变化趋势,外推预测目标的未来值。

①简单平均法。简单平均法是一种最简单的时间序列分析方法,该方法以历史数据的算术平均数、加权算术平均数或几何平均数等直接作为预测值。这种预测方法虽然简单,但是准确程度较低,特别是当数据序列呈现某种上升、下降或周期性变化的时候,预测结果就很不可靠。

简单算术平均法假设事物在历史上各个时期的状况对未来的影响程度都是相同的,因此在进行预测时,将反映事物在历史上各个时期状况的数据看成是同等重要的,以历史数据的简单算术平均数作为预测值的预测法。该方法计算预测值的公式如下:

其中,n为历史资料数据的数目,n值越小则反映速度越快、敏感性越高;n值越大则反映速度越慢、敏感性越低。

简单算术平均法主要适用于水平变动状态的预测,对上升(或下降)趋势的预测可以先测算平均增长量,然后计算预测值。

加权算术平均法根据不同历史时期的数据对事物未来发展的不同影响程度,对参加平均的历史数据给予不同的权数,并以加权算术平均数作为预测值的方法。该方法计算预测值的公式如下:

当收集的历史数据呈现出以下两个特点时候,需要使用几何平均法。第一,当一组数据中任何两个相邻数据之比接近于常数,即数据按一定比例关系变化时;第二,当一组数据中存在极端数据,分布呈现偏态时,此时算术平均数不能很好地反映数据的典型情况。几何平均法的计算公式如下:

使用几何平均数能消除数据起伏变动,反映事物发展的总体水平。

算术平均数只能说明数据的一般情况,既看不出数据中的高点和低点,也不能反映发展的过程和趋势,采用移动分段平均法能够部分克服这些缺点。

②移动平均法。实际应用中的很多数据由于受到多种因素的影响,经常发生不规则的波动,但总体趋势仍然较为明显,可能是上升,也可能是下降。针对这种序列,如果采用全部历史数据的平均值进行预测,势必造成较大的系统误差。例如,已知数列Xt的观察值依序为自然数列{1,2,4,3,5 7,7,8},如果以前七个数据的均值来预测序列的第八个观察值时,则预测值是平均数4.1,与x8 = 8相差很大,显然这不是最佳预测。若不用全部历史数据,而采用离预测期最近的n个观察值的均值做预测值,预测精度就会提高。例如,当n=3时,x8的预测值为(7+7+8)/3=7.3。

移动平均法假设较远的历史数据对未来基本没有什么影响,有影响的只是近期的数据,该方法能够较好修匀历史数据,消除随机波动的影响,从而使长期趋势显现出来,以便进行长期预测,这在股票分析中经常被使用。

一般来说,已知序列值为x1, x2,…, xt,欲预测xt+1的值,则其预测值为:

例8.5:某市2002年1~6月份实际税收收入数见表8-4,试对4~7月份税收收入进行预测。

表8-4 某市1~6月份税收收入   (万元)

取n = 3,将表中8-4中的数据代入公式计算如下:

4月份税收收入预测数=3600+3400+3800/3=3600(万元)

5月份税收收入预测数=3400+3800+3700/3≈3633(万元)

6月份税收收入预测数=3800+3700+4000/3≈3833(万元)

7月份税收收入预测数=3700+4000+4200/3≈3967(万元)

上面用到的方法称为简单移动平均法,在简单移动平均法的计算公式中,每期数据在平均数中的作用是相同的。但是实际上每期数据所包含的信息量并不一样,近期数据包含更多未来情况的信息,对未来的影响和价值更为重要,因此应考虑各期数据的重要性,对近期数据给予较大的权重,这就是加权移动平均法的基本思想。

加权移动平均法的计算公式如下,式中,wi为时间i的数据权重。

在运用加权平均法时,权重的选择是一个应该注意的问题。经验法和试算法是选择权重最简单的方法。一般而言,最近期的数据最能预示未来的情况,因而权重应该大些。例如,根据前一个月的利润和生产能力比起根据前几个月的数据能更好地估测下个月的利润和生产能力。但是如果数据是季节性的(如空调机),则权重也应是季节性的。

使用移动平均法进行预测能平滑数据的突然波动对预测结果的影响,但移动平均法运用时也存在着如下问题:

a.加大移动平均法的期数(即加大n值)会使平滑数据波动的效果更好,但同时会使得预测值对数据的实际变动更不敏感;

b.移动平均值并不能总是很好地反映出趋势。由于是平均值,预测值总是停留在过去的水平上而无法预计会导致将来更高或更低的波动。

二次移动平均法是对一次移动的平均值再进行移动平均,并根据实际值、一次移动平均值和二次移动平均值之间的滞后关系,建立数学模型进行预测的方法。这种方法可以解决一次移动平均法对于趋势型(即斜坡型)发展的历史数据不适应的局限性。

③指数平滑法。所有预测方法中,指数平滑几乎是用得最多的一种。简单平均法是对时间数列过去数据一个不漏地全部加以同等利用(或者给予一定的权重),移动平均法则不考虑较远期的数据,并在加权移动平均法中给予近期数据更大的权重。而指数平滑法则兼容了简单平均法和移动平均法的长处,该方法并不舍弃较远的历史数据,但是给予它们逐渐减弱的影响程度,即随着数据的远离,赋予逐渐收敛为零的权数。限于篇幅,这里仅仅介绍一次指数平滑法,二次指数平滑是对一次指数平滑的再平滑,它适用于具有线性趋势的时间数列,三次指数平滑则是在二次平滑的基础上再次平滑。

一次指数平滑法的基本模型如下:

模型中的St为时间t的加权平均值,St—1为时间t—1的加权平均值,yt为时间t的实际值,a称为平滑系数。模型采用递归计算的方法,用St来预测y t+1。下面来看两个一次指数平滑法的实例。

例8.6:某工厂2003年1月至7月的VCD产量见表8-5,现用一次指数平滑法预测8月份的产量。

表8-5 某厂的VCD月产量   (万台)

现在我们已知一月份到七月份的实际产量y1, y2 , … , y7,需要用S7预测y8。取S0 =y1,令平滑系数a=0.4,计算过程如下所示:

S1 =ay1+(1—a) S0 = 6.000 S2=ay2+(1—a) S1 = 6.000

S3 =ay3+(1—a) S2 = 6.400 S4 = ay1 + (1—a) S3 = 6.640

S5 =ay5+(1—a)S4 = 7.184 S6 = ay6 + (1—a)S5 = 7.910

S7 = ay7 + (1—a)S6 = 8.346

根据上述计算结果,可以预测该厂在八月份的产量将会是8.346万台左右。应用指数平滑法要解决好两个问题,第一是平滑系数a的取值,第二是初始值S0的确定。平滑系数a的取值越大,近期数据对预测值的影响就越大;反之,则历史数据对预测值的影响越大。一般来说,如果数据序列比较平稳,则a的取值为0.05~0.2;如果数据呈现明显的上升或下降趋势,则a的取值应该稍大一些,如0.3~0.5。

由于指数平滑法是利用时间t的实际值和时间t—1的加权平均值来计算时间t+1的预测值,因此总会要计算初始值S0。如果能够找到y1以前的历史资料,那么初始值S0的确定是不成问题的。当数据较少时可用全期平均、移动平均法等;当数据较多时,可用最小二乘法。但是不能使用指数平滑法本身来确定初始值。如果仅有从y1开始的数据,那么初始值S0既可以取数据序列中的第一项,也可以令S0为前几项的平均值,如S0 = (y1 + y2 +y3)/3等。

任何一种预测方法都是建立在一定的假设条件之上的,在预测方法选择上,必须考虑方法的适用条件。

3)相似搜索

时间序列数据的相似搜索是演变分析应用中经常要使用的操作,例如可以通过测量时间序列数据之间的相似度,从历史库中寻找相似的历史时间序列数据,从而对系统的走势做出预测和控制。该技术常用于金融市场的分析(如股票数据分析)、医疗诊断分析(如心电图分析)和科学与工程数据库分析(如能量消耗分析)等。例如对股票走势预测,可以通过衡量当前一段时间股票走势的数据和历史走势的相似度,找出相似的若干个时序历史数据,根据这些历史时序数据的走势判断当前股票的走势。

需要注意的是,通常数据库查询是要找出符合查询的精确数据,而时间序列的相似搜索与之不同,它是找出与给定查询序列最接近的数据序列。关于时间序列相似搜索中的相似匹配可分为两类:

①整体序列匹配(whole sequence matching):找出彼此间相似的序列。

②子序列匹配(subsequence matching):找出与给定序列相似的所有数据序列。

时间序列相似性搜索算法的研究中,较早采用的是ARMA模型和基于离散傅立叶变换(DFT)的相似性比较方法。后者通过DFT将时间序列从时域空间映射到频域空间,保留前k个傅立叶系数,将序列变为k-维空间中的点,用R-树作为索引结构。这些方法在判断序列相似时均采用了欧几里得距离作为序列间的相似性评价函数。即两序列间欧氏距离小于给定阈值时,就认为序列相似。但实际中,由于序列长度不等或取样率不同等问题,使得欧氏距离难以直接应用。

例8.7:设序列S1 = [20, 20, 21, 21, 20, 20, 23, 23]和S2 = [20, 21, 20, 23],两序列无法直接比较,但如果将S2沿时间轴拉伸两倍后得到的序列与S1是完全匹配的。这种操作称为时间弯曲(time warping)。

例8.8:图8-5a、图8-5b所示序列分别是两支股票连续15天的收盘价,两序列并不明显相似,二者的欧氏距离为11.19。但是如果计算两序列的三天移动平均值,如图8-5c、图8-5d所示,那么可以发现二者是非常相似的。移动平均值的作用是平滑短期波动和发现隐藏趋势。

图8-5 例8.8示意图

可见,由于序列本身情况的复杂性和应用领域的差异,导致了相似性定义的复杂性和多样性。在最近的相似性研究中,针对各种序列变换、相似性定义等问题的研究途径有许多。

因此为提高相似搜索算法的适应性,允许对被比较序列进行适当的变换(如时间弯曲)。下面介绍基于序列变换的相似性搜索的一些方法:

(1)基于规范变换相似性搜索方法[2]。前面已经提到关于序列相似性搜索方法中的基于距离比较方法和基于离散傅里叶变换方法存在一些不足,如离散傅里叶没有考虑序列取值问题,可能存在取值相差很大,而变化趋势却相似,例如,两种股票历史序列数据,一个价格在$10附近波动,另一种在$55附近波动,为比较两个序列是否相似,之前应该适当做一些偏移变换和幅度调整。针对这种情形,提出了一种新的基于规范变换的快速相似性搜索模型。该模型中被比较序列允许适当的幅度调整变换和平移变换(称为规范变换),还允许忽略不匹配的足够小的噪声区域(称为gap)。

例8.9:如图8-6a所示序列S和序列T,在序列S上如果将g1去掉(图8-6b),再做相应的平移变换(图8-6c)和幅度调整(图8-6d)后,则序列S和T是相似的。

该模型中相似搜索的基本思想是:如果两个时间序列具有足够长的非重叠的相似子序列,则认为此两时间序列是相似的;判断子序列相似时又可以将子序列看作是由若干相似的原子序列拼接而成的。

用S = [sl , s2 ,… ,sn]表示一个长为n的序列,length(S)为序列长度函数。

定义8.3(序列相似):如果序列S和T满足下面三个条件:

图8-6 例8.9示意图

①S和T分别由若干遵循一定排列顺序的非重叠子序列Ss1 ,…, Ssm和Tsl,…, Tsn组成,且对任意1≤i≤j≤m, Ssi <Ssj与Tsi < T j成立。

②存在幅度调整因子λ和平移因子θ,使得下式成立

其中,≈表示两个子序列相似;θ[λ(Ssi)]表示对于序列Ssi以λ为比例因子进行缩放,按照θ进行偏移变换。

③两个序列是否相似的评价函数:对给定0<ξ≤1,满足,即如果序列S和T匹配的长度之和与这两个序列的长度之和的比值大于ξ,则认为序列S和T是ξ-相似的,简称S和T相似。

根据具体应用情况,上述公式需要有适当修改,例如,当比较序列S、T长度非常悬殊时,可修改评价函数来评价相似度:

在上述定义的基础上,模型中把相似性搜索分解成三个子步骤来实现:发现所有相似的原子序列(原子序列匹配),原子序列拼接得到相似子序列(又称窗口缝合),子序列排序得到完整的序列。

事实上,子序列排序可与窗口缝合结合执行。此外,经过原子匹配与窗口缝合就找出相似的子序列,通过对子序列排序完成序列的相似查找,对于有些只需要找与给定序列相似的子序列应用中,只需要窗口缝合不需子序列排序步。

该模型不仅可用于序列完全匹配,也适用于子序列匹配。且允许忽略gap噪声,允许适当的平移变换和幅度调整,在具体应用中用户可以自行设定实现ω、ξ、 ε等值。所以该方法具有较强的适应性和灵活性。但与下面介绍的安全变换相比,模型中允许的变换种类相对较少。

(2)安全变换相似性。仿射变换(affine transformations)可以表示平移(translation) 、幅度缩放(scaling)、旋转(rotation)、修剪(shear)变换及变换组合,用于时间序列比较前的变换处理。

如果一个仿射变换将(Rn ,Rn)上的j轴平行线(j=1,…,n)仍映射为j轴平行线,那么该仿射变换是安全的。

时间序列采用向量表示,如=[xt]t = (0, 1, …, n—1)为长为n的序列。对的一个仿射变换t,如果可表示为(),其中∈Rn,且t()=×+,则可以证明该变换是安全的。

例如,m-天移动平均值变换可以表示为:

可见,移动平均值变换是安全变换。在上述安全变换的基础上,衡量相似的距离度量可以定义为:

其中,D0是欧几里得距离,T是一组允许的安全变换,cost (t)是实施变换t的花费。

有了上述基础,可以将相似搜索定义为:给定查询序列、阈值ε和一组安全变换T,在序列集S中发现所有满足D(t(),)<ε的序列,其中∈S,t∈T。或者,在序列集S中,发现所有满足D(t(), t ()) <e,的任意序列其,中∈S,t∈T。

(3)基于序列外形特征的相似性搜索。基于序列外形特征的相似性搜索的根据是人们观察时间序列曲线时,通常注意序列曲线外形或关键转折点,对序列进行比较,判断是否相似。所以可以抽象出序列的关键外形特征来进行比较,该途径的优点是简单、直观,关键是选取适当的特征来代表序列。

① B.B.Xia的形状匹配法。B.B.Xia提出的基于形状匹配的相似性搜索方法的基本思想是分段线性表示及符号化。按给定的时间粒度(如24小时)对序列曲线进行线性模拟,相邻两点用直线段连接。这样就由序列得到折线,将折线上每一直线段用一个代表其形状(倾斜角度)的符号表示。例如“D”代表下降直线段,“U”代表上升直线段。图8-7所示的序列折线就可以用“DUUD”表示。当然系统中采用的是较为精确的表示方法,以5°区间为单位定义符号。如倾斜角度为[10°,15°]的线段用“u13”表示,倾斜角度为[—10°,—15°]的线段用“d13”表示。

这样相似序列搜索就变为了字符串匹配查询。关于字符串匹配的度量方法已有许多。如编辑距离和后缀树法等。系统中采用了基于编辑距离的字符串匹配算法。但该方法并未考虑序列变换的问题,因而范围受到限制。

图8-7 B.B.Xia的形状匹配法

② Landmarks相似性模型。界标(Landmarks)是指序列曲线上最重要的点,如极值点、最值点和拐点等都是能够反映序列曲线特征的重要点。界标模型的基本思想就是由原始时间序列得到界标序列,用界标序列代替原始序列作为相似搜索的对象。关键是选择合适的界标和界标数量,使得由界标重构得到的序列与原序列尽量近似,又要保证处理的时间复杂度较低。

在不同的领域中有不同的界标定义。根据经验,对类似股票价格序列等不稳定的序列,比较实用的方式是仅考虑极值点界标。界标重构的序列和用DFT重构序列比较可以发现,与DFT相比,界标重构序列保留了所有的峰值和谷值。

界标模型中还提出了MDPP(Minima Distance/ Percentage Principle)方法处理序列上的噪声。定义如下:给定界标序列(x1 , y1 ) , … , (x n, yn ),给定最小距离D和最小百分比P,如果(xi , yi)与(xi+1 , yi+1)满足条件:

?,那么可以将(xi, yi)和(xi+1 , yi+1)从界标序列上删除。如图8-8所示。

图8-8 Landmarks相似性模型

界标模型还允许如平移、幅度缩放、时间弯曲等六种变换。

在时间序列的相似性搜索研究中,目前存在的难点仍然是相似性的定义和算法的时间复杂度。由于相似性含义随着应用领域及查询目标的不同而不同,所以采用何种方法度量相似或不相似(包括距离公式和序列变换的选择等)是算法的关键。相似性搜索是联机操作,因而新的算法和技术应致力于在不影响有效性的基础之上,追求较小的时间复杂度,提高效率。噪声数据处理问题也是相似性搜索的关键问题,为使噪声数据不影响相似性搜索的结果,必须考虑将噪声消除或对其进行平滑。基于离散小波变换(DWT)的相似性搜索是目前研究的热点。

4)周期分析

周期分析是指对周期模式的挖掘,即在时序数据库中找出重复出现的模式。周期模式可应用于许多重要领域,如季节、潮汐、行星轨道、每日能源消耗、每日交通模式等。

周期模式挖掘的问题大致可以分为三类:

(1)挖掘全周期模式(full periodic pattern),这里每一时间点都影响着(精确或近似)时序上的循环行为。如一年中的每一天都对一年中的季节循环起着作用。

(2)挖掘部分周期模式(partial periodic pattern),它描述在部分时间点的时序周期。例如,Sandy在每日的早晨6∶00~6∶30阅读《晨报》,但在其他时间则没有什么规律。部分周期是一种比全周期较为松散的形式,在现实世界也更为常见。

(3)挖掘循环或周期关联规则,这种规则是周期出现的事件的关联规则。周期关联规则的一个例子是“根据每天的营业记录,若周末下午茶在15∶00—17∶00,则晚餐最佳营业时间为19∶00—21∶00,

全周期分析的技术已在信号分析和统计中得到研究,如FFT(快速傅立叶变换)方法已广泛用于时间域到频率域的数据转换,以便于进行此类分析。

全周期模式挖掘的大部分方法不适用于部分周期模式挖掘,或者代价太大,原因是部分周期模式在同一周期内混杂有周期事件和非周期事件。例如,FFT不能用于部分周期挖掘,因为它把时序看作不可分离的数据流。一些周期探测方法不能覆盖部分周期模式,除非部分模式的周期、长度和定时(timing)是明确说明的。以新闻阅读为例,需要明确说明诸如“以24小时为一周期,找出Sandy在6∶00以后半小时有规律的活动”。把此类方法简单适用于部分周期模式的挖掘问题是不足取的,因为它需要处理的是周期、长度和定时的大量组合。

有关部分周期模式和循环关联规则挖掘可以应用Apriori性质启发式或变通的Apriori挖掘算法等。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈