常用按时间顺序排列的一组随机变量来表示一个随机事件的时间序列,简记为
;用
或
表示该随机序列的n个有序的观察值,称之为序列长度为n的观察值序列。
时间序列在各个领域中都非常常见,就餐饮企业而言,其销售预测可以看做是基于时间序列的短期数据预测,预测对象为具体菜品销售量,在金融领域,尝尝使用历史股票数据来预测未来的股票价格,等等。
时间序列预测主要就是使用已知的历史数据,来预测未来的数据,其关键就是抓住历史数据之间的联系以及历史数据和未来数据之间的联系。
时间序列算法
常用的时间序列模型如下图所示:
时间序列预处理
拿到一个观察值序列后,首先要对它的纯随机性和平稳性进行检验,这两个重要的检验称为序列的预处理。根据检验结果可以将序列分为不同的类型,对不同类型的序列会才去不同的分析方法。
纯随机序列:又称为白噪声序列,序列的各项之间没有任何的相关关系,序列在进行完全无序的随机波动,可以终止对该序列的分析。白噪声序列是没有信息可提取的平稳序列。
注意:纯随机序列具有的数学含义是零均值同方差。
平稳非白噪声序列:它的均值和方差是常数,对于这种序列通常是建立一个线性模型来拟合改序列的发展,借此提取该序列的有用信息。ARMA模型是最常用的平稳序列拟合模型。
非平稳序列:由于它的均值和方差不稳定,处理方法一般是将其转变为平稳序列,这样就可以应用有关平稳时间序列的分析方法,一般是将其经过差分运算来转变为平稳序列。
如上图所示,第一个图示平稳序列,第二个图是非平稳序列。
通过图更详细的说平稳序列是基本不存在趋势的序列,这类序列中的各个观察值基本上在某个固定的水平上波动,虽然在不同时间段波动的程度不同,但是并不存在某种规律,其波动可以看成是随机的。而非平稳序列是包含趋势、季节性或者周期性的序列,它可能只含有其中一种成分,也可能是几种成分的组合。因此,非平稳序列又可以分为有趋势的序列,有趋势和季节的序列,几种成分的组合。
平稳性检验
1. 平稳时间序列的定义(从数学角度看)
对于随机变量X,可以计算其均值、方差
;对于两个随机变量X和Y,可以计算X、Y的协方差
和相关系数
,两者都是度量两个不同事件之间的相互影响程度。
对于时间序列,任何时刻的序列值
都是一个随机变量,每一个随机变量都会有均值和方差,记
的均值为
,方差为
;任意
,定义序列
的自协方差函数
和自相关系数
,其中
,之所以称它们为自协方差函数和自相差系数,是因为它们衡量的是同一个事件在两个不同时期(时刻t和s)之间的相关程度,形象的讲就是度量自己过去的行为对自己现在的影响。
如果时间序列在某一常数附近波动且波动范围有限,即有常数均值和常数方差、并且延迟k期的序列变量的自协方差和自相关系数是相等的或者说延迟k期的序列变量之间的影响程度是一样的,则称
为平稳序列。
2. 平稳性的检验
一般有两种方法:一种是根据时序图和自相关图的特征做出判断的图检验,该方法操作简单,应用广泛,缺点是带有主观性;另外一种是构造检验统计量进行检验的方法,目前最常用的方法是单位根检验。
1)时序图检验。根据平稳时间序列的均值和方差都为长度的性质,平稳序列的时序图显示该序列值始终在一个常数附近随机波动,而且波动的范围有界;如果有明显的趋势性或者周期性,那它通常不是平稳序列。
2)自相关图检验。平稳序列具有短期相关性,这个性质表明对平稳序列而言通常只有近期的序列值对现时值的影响比较明显,间隔越远的过去值对现时值的影响越小。随着延迟期数k的增加,平稳序列的自相关系数(延迟k期)会比较快的衰减趋向于零,并在零附近随机波动,而非平稳序列的自相关系数衰减的速度比较慢,这就是利用自相关图进行平稳性检验的标准。
3)单位根检验。单位根检验是指检验序列中是否存在单位根,如果存在就是非平稳性序列。
3. 纯随机性检验
如果一个序列是纯随机序列,那么它的序列值之间应该没有任何联系,即满足,k!=0这是一种理论上才会出现的理想状态,实际上纯随机序列的样本自相关系数不会绝对为零,但是很接近零,并在零附近随机波动。
参考书目《Python数据分析与挖掘实战》