设X(t)是一个随机过程,Xti(i=1,2,…,n)称为一次样本实现,也就是一个时间序列。
时间序列的研究必须依据合适的理论和技术进行,时间序列的多样性表明其研究必须结合序列特点来找到合适的建模方法:
(1)一元时间序列:
如某种商品的销售量数列等,可以通过单变量随即过程的观察获得规律性信息。
(2)多元时间序列。
如包含气温、气压、雨量等在内的天气数据,通过多个变量描述变化规律。
时间序列挖掘需要揭示各变量间相互依存关系的动态规律性。
(3)离散型时间序列:
如果某一序列中的每一个序列值所对应的时间参数为间断点,则该序列就是一个离散时间序列。
(4)连续型时间序列:
如果某一序列中的每个序列值所对应的时间参数为连续函数,则该序列就是一个连续时间序列。
序列的统计特征可以表现平稳或者有规律的震荡,这样的序列是分析的基础点。
此外如果序列按某类规律(如高斯型)的分布,那么序列的分析就有了理论根据。
二、时间序列预测的常用方法
时间序列分析的一个重要应用是预测,即根据已知时间序列中数据的变化特征和趋势,预测未来属性值。
为了对时间序列预测方法有一个比较全面的了解,我们首先对时间序列预测的主要方法加以归纳。
1.确定性时间序列预测方法
对于平稳变化特征的时间序列来说,假设未来行为与现在的行为有关,利用属性现在的值预测将来的值是可行的。
例如,要预测下周某种商品的销售额,可以用最近一段时间的实际销售量来建立预测模型。
一种更科学的评价时间序列变动的方法是将变化在多维上加以综合考虑,把数据的变动看成是长期趋势、季节变动、循环变动和随机型变动共同作用的结果。
(1)长期趋势:
随时间变化的、按照某种规则稳步增长、下降或保持在某一水平上的规律。
(2)季节变动:
由季节的周期性变化规律(如冬季羽绒服销售增加)。
(3)循环变动:
以若干年为周期、不具严格规则的周期性连续变动。
(4)随机型变动:
不可控的偶然因素等。
设Tt表示长期趋势,St表示季节变动趋势项,Ct表示循环变动趋势项,Rt表示随机干扰项,yt是观测目标的观测记录。
则常见的确定性时间序列模型有以下几种类型:
(1)加法模型:
yt=Tt+St+Ct+Rt。
(2)乘法模型:
yt=Tt·St·Ct·Rt。
(3)混合模型:
yt=Tt·St+Rt 或yt=St+Tt·Ct·Rt。
2.随机时间序列预测方法
通过建立随机模型,对随机时间序列进行分析,可以预测未来值。
若时间序列是平稳的,可以用自回归(AutoRegressive,简称AR)模型、移动回归模型(MovingAverage,简称MA)或自回归移动平均(AutoRegressiveMovingAverage,简称ARMA)模型进行分析预测。
3.其他方法
可用于时间序列预测的方法很多,其中比较成功的是神经网络。
由于大量的时间序列是非平稳的,因此特征参数和数据分布随着时间的推移而变化。
假如通过对某段历史数据的训练,通过数学统计模型估计神经网络的各层权重参数初值,就可能建立神经网络预测模型,用于时间序列的预测。
三、时间序列的相似性搜索
一般地,事先给定距离判别函数D和,相似性匹配可分为以下两类:
(1)完全匹配(WholeMatching)。
给定N个序列 和一个查询序列X,这些序列有相同的长度,如果存在 ,那么我们称X与Yi完全匹配。
(2)子序列匹配(Subsequence Matching)。
给定N个具有任意长度的序列 和一个查询序列X以及参数。
子序列匹配就是在 上找到某个子序列,使这个子序列与X之间的距离小于等于。
下面介绍三种相似性搜索方法。
(Ⅰ)基于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)模型:
其中
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)。
从计算机速度的要求看,建立AR模型为宜。
建立AR模型的最常用方法是最小二乘法。
具体方法如下:
对于AR(n)模型,有 ,其中 ,即可以用以下线性方程组表示:
……
或者写成如下矩阵形式:
其中
根据多元线性回归理论,参数矩阵 的最小二乘估计为:
。
根据上面的模型,我们可以获得待测序列 的参数模型 ,同样我们也可以得到序列数据库中的其他序列Yi的参数模型 。
和 都是n维向量,故均可视为n维空间上的点,从而序列的相似性问题就归结为n维空间Rn中的距离问题。
因此,我们下面简单介绍几种基于距离的判别函数。
(1)Euclide判别
(2)残差偏移距离判别
其中 是待检序列的协方差矩阵,N表示待检序列的长度。
(3)Mahalanobis距离判别
其中 是参考序列的协方差矩阵。
(4)Mann距离判别
其中, 为待检序列的协方差矩阵, 为待测时序的方差。
AR模型对序列的长度要求并不是很苛刻,只要序列足够长,就可以获得相应的参数模型。
为了方便比较,对每个序列都提取AR(n)模型,实质上并不是每个序列都适合AR(n)模型,这是该方法的缺点,另外利用ARMA模型很难发现子序列匹配问题。
(Ⅱ)基于离散傅立叶变换的时间序列相似性查找
1.完全匹配。
(1)特征提取
给定一个时间序列 ,对X进行离散傅立叶变换,得到
这里,X与xt代表时域信息,而 与Xf代表频域信息,
Xf为傅里叶系数。
(2)首次筛选
根据Parseval的理论,时域能量谱函数与频域能量谱函数相同,得到
按照Parseval的理论,如下式子也应该成立:
对大多数序列来说,能量集中在傅立叶变换后的前几个系数,也就是说一个信号的高频部分相对来说并不重要。
因此我们只取前面fc个系数,即
因此,
这样就滤掉一大批与给定序列的距离大于的序列。
(3)最终筛选
计算每个首次被选中的序列与给定序列在时域空间的欧氏距离,如果两个序列的欧氏距离小于或等于,则接受该序列。
2.子序列匹配
滑动窗口技术是实现子序列匹配的一种成功方法。
通过设定滑动窗口,不需要对整个序列进行特征提取,而是对滑动窗口内的子序列进行特征提取。
利用滑动窗口实现子序列匹配的大致过程如下:
(1)先定义一个查找长度w。
w的选定与具体的应用有关。
(2)把长度为w的滑动窗口放置在每一个序列上的起始位置,此时滑动窗口对应序列上的长度为w的一段子序列,对这段序列进行傅里叶变换,这样每一个长度为w的子序列对应f维空间上的一个点。
(3)滑动窗口向后移,再以序列的第二个点为起始单位,形成另一个长度为w的子序列,并对这段序列进行傅里叶变换。
(4)依次类推,一共可以得到Len(s)-w+1个f维空间上的点,Len(X)表示序列X的长度。
如果待查找序列X的长度正好等于w,X被映射为fc维特征空间上的点X,,查找结果是一个以X,为中心,以为半径的球体。
如果待查找序列X的长度大于w的话,处理起来就相对复杂些,目前在解决这一问题上采用了两种方法:
一种方法是前缀查找(PrefixSearch);另一种是二次分段查找,设想Len(s)是w的整数倍,把X分为p段长度为w的子序列,处理每一段子序列,并将查找结果合并起来。
继续阅读