时间序列也成为动态序列,是指将某种现象的指标数值按照时间顺序排列而成的数值序列。时间序列分析大致可以分为三大部分,分别是描述和过去、分析规律和预测未来。
(1)时间序列也称为动态序列,是将某种现象的指标数值按照时间顺序排列而成的数值序列。
(2)时间序列分析顾名思义处理的是时间序列数据,对于同一对象在不同时间连续观察所取得的数据称作时间序列数据。例如从出生到现在你的体重数据。
(3)时间序列有两个组成要素:一个是时间要素:年、季度、月、周、日、小时、分钟、秒(如果是以分钟和秒作为时间要素,那么这类型数据称作高频数据);另一个事数值要素。
(4)时间序列有两个组成要素,可以根据这两个组成要素性质的不同,可以将其分为时期时间序列和时点时间序列两种类型的时间序列数据:
时期序列
数值要素反映现象在一定时期内发展的结果;例如,中国历年来GDP的数据
时点数据
数值要素反映现象在一定时点上的瞬间水平;例如,从出生到现在你的体重数据(每年生日称一次)、在某个地方每个一小时测得的温度数据。
那如何区分时期序列数据和时点序列数据?-- 事其序列数据可加,时点数据不可加
事其序列中的观测值反应现象在一段时期内发展的过程的总量,不同事其的观测值可以相加,相加的结果表明现象在更长的一段时间内的活动总量(就比如上面的中国历年来的GDP数据,若将两年的GDP相加,那么就代表两年内GDP的一个总的量);但是对于每个小时的温度数据,将两个小时的温度相加并没有什么意义。
(5)时间序列分解:一个时间序列数据反应某个指标数值长期变化的数值表现,所以时间序列数值变化背后必然蕴含着数值变化的规律性,而这些规律性就是时间序列分析的切入点,在通常的情况下时间序列的数值变化规律会分解为4种:
一个时间序列的变化可能是由上述四种变动中的一种或者是多种叠加影响而成的,四种变动与指标数值最终变动的关系可能是叠加关系,也可能是乘积关系。
时间序列分解有两种模型
叠加模型:如果这四种变动之间是相互独立的关系,那么叠加模型可以表示为:
Y = T + S + C + I
乘积模型:如果这四种变动之间存在相互影响关系,那么应该使用乘积模型:
Y = T * S * C * I
PS :Y指指标数值的最终变动;T长期趋势变动;S季节变动;C循环变动;I不规则变动
举个例子便于理解叠加模型和乘积模型
通过时序图可以得到的结论是:销量有向上的趋势,并且第二季度的销量明显高于其他季度,因此数据表现出很强的季节性。随着时间的变暖,销量数据的季节波动变化不大,因此可以使用叠加分解模型。
第三步:对时序图中体现出的季节性进行一个分解
通过上面的季节因子表格可知:第一第二季度的季节因子为正,第三第四季度的季节因子为负,这说明该产品第一二季度的平均销量要高于第三第四季度,且第二节度的平均销量要高于全年平均水平20.930件,第四季度的平均销量要低于全年平均水平19.727件。
上面使用的是叠加模型分解,在叠加分解中季节因子的和为0,如果是使用乘法分解模型,它的季节因子的积为1,乘法分解的结果为:
乘法分解模型的季节因子的积为1,通过上面的系数表,可以得到的结论是:第二季度的季节因子为1.206,则表示第二季度的平均销量是全年平均销量的1.206倍
时间序列大致分为描述过去(描述时间序列的动态变化)、分析规律(揭示时间序列数值变化背后的规律)和预测未来(依据数值变化规律预测未来数值趋势),这里记录七种时间序列分析模型。
在上面我们对时序数据进行了分解,那么分解后的数据就可用于时间序列的分析。
在实际应用中我们主要使用SPSS中的专家建模器来查找每个相依序列的最佳拟合模型,在制定了自变量后,专家建模器会为ARIMA模型中的内容选中与该相依序列具有统计显著关系的模型。适当的情况下,会使用差分或屏风跟或自然对数转化对模型变量及逆行转换。在缺省情况下,专家建模器还会考虑指数平滑法模型,也会考虑ARIMA模型。
(其实我在想Smiple模型的特点是不是和马氏链模型有点像?它俩能不能融合使用哇,但是马氏链模型我还不是很熟,后面学完马氏链后可以考虑将他两融合一下啥的?)
简单模型的一个缺点:
简单模型由于它本身的限制,它只能预测一期的数值。
可以看到的是,假设我们有2013年的之前的数据,现在要预测2014年后的数据,如果SPSS为我们选中的是简单模型,那么它只能预测一期(也就是2014年)的数据,后面的数据都是一样的。
原因:
布朗线性趋势模型是Holt线性趋势模型的特例,就是在其基础上让水平的平滑参数等于趋势的平滑参数。
所谓线性趋势逐渐减弱,就比如人口,他不可能是线性的无限增长,在达到一定程度后,他会达到饱和,就不再是一个线性的增长,此时就会引入一个阻尼,是的它增长的线性趋势减弱。
举个例子:
在添加完阻尼后,在后期它的线性趋势会降低,预测线会趋于平缓。
AR模型要求时间序列是一个平稳的,如果不平稳,则需要通过差分将数据变成平稳的时间序列。举个例子
MA(Q)模型的平稳性
即:只要Q是常数,那么MA(Q)模型一定是平稳的。
MA模型和AR模型的关系
(其实MA模型的引入是为了简化AR)
将AR和MA两个模型结合起来,然后总式子使用滞后算子表示。
ARMA(p.q)模型的平稳性
由于ARMA模型是AR和MA两个模型的相加,在MA模型中只要q是常数那么模型就是平稳的,所以我们只用判断AR模型是否平稳即可,所以ARMA模型的平稳性判断方法和AR的判断方法一样。
在上面的AR和MA模型、ARMA模型中,我们讨论的都是平稳的时间序列,然而时间序列可能是d阶的单位根过程,于是乎,我们需要先对数据进行差分处理,将其转换为平稳的时间序列后在进行建模。
在上面学习了三个一元时间序列模型,那么对于一个时间序列数据应该如何识别所使用的模型?则需要通过两个系数:
PS:ACF和PACF两个系数使用的前提是数据为平稳的序列
AR(1)模型
MA(1)和MA(2)模型
ARMA(1,1)模型
通过上面得三幅图,同一个ARMA模型,模拟运行四次得到的PACF结果各不相同,所以ARMA模型的阶数很难正确识别。
对于一个模型,我们希望这个模型尽可能完全的识别出时间序列数据的规律,那么可以使用Q检验来检验识别模型的完整性。
Q检验用于判断残差是否为白噪声,如果是白噪声时间序列,那么模型已经完全识别出时间序列数据的规律,模型可以接受;如果不是白噪声,那么说明有部分数据还没有被模型所识别,需要修正模型(一般是剔除异常值啥的),识别出模型未识别的信息。
通过销售数据的时序图可知,数据并不平稳,有整体向上的趋势,并且数据为季度数据,从图中有季节性波动,即第二季度的销量较高,第四季度较低。
通过SPSS专家建模给出的最合适的模型是温特加法模型。模型使用温特加法模型意味着原时间序列数据含有线性趋势和稳定的季节成份,我们可以使用加法时间序列进行分解。
对模型进行修正,剔除异常值重新进行建模
重新建模选择的模型:ARIMA(0,1,14)
显著性为0.210>0.05,无法拒绝原假设,残差为白噪声数据。