SPSS 用时间序列进行预测分析 您所在的位置:网站首页 spss单因素方差分析图表解读 SPSS 用时间序列进行预测分析

SPSS 用时间序列进行预测分析

2023-04-20 07:08| 来源: 网络整理| 查看: 265

预测:在现时对事物将要发生的结果进行探讨和研究,简单地说就是指从已知事件测定未知事件

预测的总的原则:认识事物的发展变化规律,利用规律的必然性,是进行科学预测所应遵循的总的原则。这个总原则实际上就是事物发展的

1-“惯性”原则——事物变化发展的延续性;2-“类推”原则——事物发展的类似性;3-“相关”原则——事物的变化发展是相互联系的;4-“概率”原则——事物发展的推断预测结果能以较大概率出现,则结果成立、可用。

什么是时间序列?

时间序列是指将同一统计指标的数值按其发生的时间先后顺序排列而成的数列。它是现实的、真实的一组动态数据,而不是数理统计中做实验得到的。时间序列背后是某一现象的变化规律。

什么是时间序列模型?

依时间顺序排列起来的一系列观测值(观测值之间不独立);它考虑的不是变量间的因果关系,而是重点考察变量在时间方面的发展变化规律,并为之建立数学模型;使用时间序列模型的前提:有足够长的数据序列(最好是连续的时间维度);数据序列的变动是稳定而规律的;另外一种理解方式:假如我们对一件事情研究其背后规律很久的话,可以收集到很多的自变量/影响因素去研究与因变量之间的关系,但是由于各种原因我们做不到,我们只能用一个t(时间)来替代所有的影响因素来研究自变量是如何变化;时间序列有一明显的特性就是记忆性(memory),记忆性是指时间数列中的任一观测值的表现皆受到过去观测值影响。

时间序列分析面临的问题

时序应该在现实生活中应用的很广,但是为什么不常用这个模型呢?

基础统计数据原因(数据收集)报表系统——质量问题统计口径——不统一范围变化、区域划分——变化理论和技术培训原因 ,之前没有好的工具来实现时间序列模型

时间序列建模基本步骤

1、用观测、调查、统计、抽样等方法取得被观测系统时间序列动态数据。

2、根据动态数据作相关图,进行相关分析,求自相关函数。相关图能显示出变化的趋势和周期,并能发现跳点和拐点。跳点是指与其他数据不一致的观测值。如果跳点是正确的观测值,在建模时应考虑进去,如果是反常现象,则应把跳点调整到期望值。拐点则是指时间序列从上升趋势突然变为下降趋势的点。如果存在拐点,则在建模时必须用不同的模型去分段拟合该时间序列,例如采用门限回归模型。

3、辨识合适的随机模型,进行曲线拟合,即用通用随机模型去拟合时间序列的观测数据。

对于短的或简单的时间序列,可用趋势模型和季节模型加上误差来进行拟合。对于平稳时间序列,可用通用ARMA模型(自回归滑动平均模型)及其特殊情况的自回归模型、滑动平均模型或组合-ARMA模型等来进行拟合。当观测值多于50个时一般都采用ARMA模型。对于非平稳时间序列则要先将观测到的时间序列进行差分运算,化为平稳时间序列,再用适当模型去拟合这个差分序列。

时间序列主要考虑的因素是:

长期趋势

指一种长期的变化趋势。它采取一种全局的视角,不考虑序列局部的波动

时间序列趋势一般为线性的(linear),二次方程式的 (quadratic)或指数函数(exponential function)。

如图,整体呈下降趋势季节变化(Season)

反映一种周期性的短期波动,一般在一年中完成。

虽然称作“季节”,但是周期并不一定是季度,也可以是月、周等其它能在一年内完成的周期。因为,大多数的周期都以季节的形式出现,所以称作季节变化

比较典型的季节变化例子:圣诞节效应;冷饮的销售情况

周期性变动(Cyclical variation)

指一种较长时间的周期性起伏。一般来说循环时间为2-15年。周期性变动一般会出现波峰和波谷,呈现一种循环往复的现象。 比如:世界经济危机、太阳黑子的周期性变化

不规则变化(error) (随机影响)

指时间序列中无法预计的部分,也可以理解为误差,一般为突发事件导致。在分析中往往又将其称为白噪声,它是时间序列中除去趋势、季节变化和自相关性之后的剩余随机扰动。由于时间序列存在不确定性,随机噪声总是夹杂在时间序列中,致使时间序列表现出某种震荡式的无规律运动。

四种因素通常有两种组合方式:

一、四种因素相互独立,即时间序列是四种因素直接叠加而成的,可用加法模型表示: Y=T+S+C+I

二、四种因素相互影响。即时间序列是四种因素相互综合的结果,可用乘法模型表示:Y=T*S*C*I

其中,原始时间序列值和长期趋势可用绝对数表示;季节变动、循环变动、不规则变动可用相对数(变动百分比)表示。

问:当我们对一个时间序列进行预测时,应该考虑将上述四种因素从时间序列中分解出来,那为什么要分解这四种因素?

分解之后,能够克服其他因素的影响,仅仅考量一种因素对时间序列的影响分解之后,可以分析他们之间的相互作用,以及他们对时间序列的综合影响分解之后,序列可以用来建立回归模型,从而提高预测精度

问:所有的时间序列都要分解这四种因素吗?

通常情况下,我们考虑进行季节因素的分解,也就是将季节变动因素从原时间序列中去除,并生成由剩余三种因素构成的序列来满足后续分析需求。

问:为什么只进行季节因素的分解?

答:时间序列中的长期趋势反映了事物发展规律,是重点研究的对象,而循环变动由于周期长,可以看做是长期趋势的反映;不规则变动由于不容易测量,通常也不单独分析。而且季节变动有时会让预测模型误判其为不规则变动,从而降低模型的预测精度。综上所述:当一个时间序列具有季节变动特征时,在预测值前会先将季节因素进行分解

从数据分析的角度来考虑,我们需要研究:

序列是否在固定水平上下变动?此水平是否也在变动?是否有某种上升或下降的趋势?是否存在有季节性的模式?是否季节性的模式也在变更?是否存在周期性规律和模式?

对于时间序列问题有哪些基本分析思路?

AR/MA/ARMA用于分析平稳时间序列,ARIMA通过差分可以用于处理非平稳时间序列

指数平滑与季节分解(遇到比较简单的序列)

描述时间序列数据的变化规律和行为,不去试图解释和理解这种变化的原因。例如:您可能发现在过去的一年里,三月和九月都会出现销售的高峰,您可能希望继续保持这样,尽管您不知道为什么。

自回归模型(AR模型)AR模型利用前期数值与后期数值的相关关系(自相关),建立包含前期数值和后期数值的回归方程,达到预测的目的,因此成为自回归过程。(白噪声可以理解成时间序列数值的随机波动,这些随机波动的总和等于0)滑动平均(MA)模型某个时间点的指标数值等于白噪声序列的加权和,如果回归方程中,白噪声只有两项,那么该移动平均过程为2阶移动平均过程MA(2)。比较自回归过程和移动平均过程可知,移动平均过程其实可以作为自回归过程的补充,解决自回归方差中白噪声的求解问题,两者的组合就成为自回归移动平均过程,称为ARMA模型ARMA模型从回归方程可知,自回归移动平均模型综合了AR和MA两个模型的优势,在ARMA模型中,自回归过程负责量化当前数据与前期数据之间的关系,移动平均过程负责解决随机变动项的求解问题,因此,该模型更为有效和常用ARIMA模型(p,d,q)(P,D,Q)(复合季节模型)

p代表自回归阶数;d代表差分次数;q代表移动平均阶数。p,d,q描述的是移除季节变动成分后的时间序列;大写的P,D,Q描述的是季节变动成分。两个部分是相乘的关系。ARIMA模型描述时间序列数据的变化规律和行为,它允许模型中包含趋势变动、季节变动、循环变动和随机波动等综合因素影响。具有较高的预测精度,可以把握过去数据变动模式,有助于解释预测变动规律,回答为什么这样

时间序列分析对序列的要求

如果是稳定序列的话,历史数据越多,对预测的帮助越大最好能有连续的序列,缺失极个别的话可考虑用移动平均值或均值等代替如果存在周期,一般需要4个周期以上;数理上认为应当在20个周期以上,假如只有两三个周期,那周期性的分析就没有太大作用了不同的序列分析方法对时间序列分析对长度不一样,建模过程一般都会做差分,差分会损失信息,差分得越多,相应要求的时间序列越长

——————————————————————————————————————

推荐大家这本书,豆瓣9.0。也是楼主本人之前入门spss实操的时候学习的书,张老师,不多说,懂的都懂。这本书不会浮于理论,而是带着问题、结合业务案例去实操,读完绝对受益匪浅哦~

——————————————————————————————————

问题描述

美国1947年1月到1969年12月住宅建筑的数据,分析目的是希望能过通过历史数据来预测1970年全年的情况。

1、首先检查有没有缺失数据,一般用临近点的均值或中位数替补

2、在图表构建器中观察销售额随时间变化趋势

在操作之前需要先对数据进行定义日期,让spss知道其为序列数据

定义了时间序列的时间标记后,数据集自动生成四个新的变量:YEAR、QUARTER、MONTH和DATE(时间标签)

接下来:为了帮我们找到适当的模型,最好先绘制时间序列。时间序列的可视化检查通常可以很好地指导并帮助我们进行选择。另外,我们需要弄清以下几点:

此序列是否存在整体趋势?如果是,趋势是显示持续存在还是显示将随时间而消逝?此序列是否显示季节变化?如果是,那么这种季节的波动是随时间而加剧还是持续稳定存在?SPSS—序列图

转换:如果选择差分或季节性差分,在旁边的文本框中输入差分度。该数字必须为正整数。当前周期性显示在这些选项下方。这些选项仅对时间序列或类似数据才有意义。

单击时间线以定义时间轴的参考线。

单击格式以定义哪条轴显示时间、图表是线图还是面积图,并在序列平均值处显示参考线。

我们看到:此序列显示整体上升趋势,即序列值随时间而增加。上升趋势似乎将持续,即为线性趋势。此序列还有一个明显的季节特征,即年度高点在十二月。季节变化显示随时间而扩大的趋势,表明是乘法季节模型而不是加法季节模型。

根据长期趋势的发展趋势不同,可以进行差分的次数和方法也不相同,一般的规律如下:

一次差分的时间序列数值大体相同,配合直线趋势;二次差分的时间序列数值大体相同,配合二次曲线对数的一次差分的时间序列数值大体相同,配合指数曲线一次差分的环比值大体相同,配合修正指数曲线对数一次差分的环比值大体相同,配合Gompertz曲线倒数一次差分的环比值大体相同,配合Logistic曲线

发现序列变平了,但是随着时间增加季节变换还是存在的。季节差分(把周期性也去掉看看)

看到上面的序列,无长期趋势、无季节变换,可认为是一个比较平稳的序列了。但是刚才上面在做一次差分后的序列,可以看出其序列随着时间增长离散程度会慢慢变大,后续分析可以考虑这一点,可以做变量变换。

时间序列趋势的图形化观察

1.序列图。实际上就是一种特殊的线图

2.自相关和偏相关图。对序列图的初步观察结果作进一步确认(检验其是不是白噪声序列),重点关心主要的相关趋势,然后再对模型进一步修正

刚才我们做了一次的差分和季节差分真的为平稳序列了吗?用自相关图看看

显示偏自相关要求 方程式系统解的大小随延迟数增加而增加。注意偏自相关要求达到较高的延迟数(超过 24)。

单击选项以设置最大延迟数或计算标准误差的方法,或仅在季节性延迟位置显示自相关。

滞后n阶:隔了n个数据的自相关性;Sig;amp;amp;amp;amp;amp;amp;amp;amp;lt;0.05,证明时间序列存在自相关,不都是白噪声为了方便查看,给出了图,1到5阶都是存在统计学意义的自相关系数是有传递性的问题在里面的,spss就会计算偏自相关系数,屏蔽传递的效应后,看剩余的关联是否还存在。

自相关拖尾,偏自相关也拖尾,根据自回归系数和偏回归系数选择合适的模型

检查模型残差的自相关函数 (ACF) 和偏自相关函数 (PACF) 的值 比 只查看拟合优度统计量能更多地从量化角度来了解模型。合理指定的时间模型将捕获所有非随机的变异,其中包括季节性、趋势、循环周期以及其他重要的因素。这两个自相关函数中的显著结构都可以表明基础模型不完整。

但实际上,spss会提供一个自动分析的方法。模型拟合几乎均可包含在ARIMA模型族中,寻找适当的参数是一个反复尝试的过程。

生成 ARIMA 模型的基本步骤:

对序列绘图,进行 ADF 检验,观察序列是否平稳;对于非平稳时间序列要先进行 d 阶差分,转化为平稳时间序列;

经过第一步处理,已经得到平稳时间序列。要对平稳时间序列分别求得其自相关系数(ACF)和偏自相关系数(PACF),通过对自相关图和偏自相关图的分析,得到最佳的阶数p、q;

由以上得到的d、q、p ,得到 ARIMA 模型。然后开始对得到的模型进行模型检验。

打开分析——预测——周期性分解,进行季节因素分解,并观察数据季节性变化趋势。

为了揭示真实趋势,由于季节性影响,首先需要考虑资料中的变异。可使用“周期性分解”过程来删除任何系统性的季节性变化。然后对季节性调整序列执行趋势分析。

模型类型:提供两种方法来对周期性因素进行建模:乘法或加法。如果数据随时间季节波动基本维持恒定,使用加法模型,如果数据趋势随时间波动越来越大,则使用乘法模型

移动平均值权重:允许指定在计算移动平均数时如何处理序列。这些选项仅在序列的周期性为偶数时才可用。如果周期性为奇数,则所有点的权重都相等。

确定会生成四个变量序列图。将除了季节外的因素放入变量中进行对比

上面我们对时间序列的特征有了大致的了解,便可以开始尝试构建预测模型。

提供了三大类预测方法:1-专家建模器,2-指数平滑法,3-ARIMA

指数平滑法

指数平滑法有助于预测存在趋势和/或季节的序列,此处数据同时体现上述两种特征。创建最适当的指数平滑模型包括确定模型类型(此模型是否需要包含趋势和/或季节),然后获取最适合选定模型的参数。

1-简单模型预测(即无趋势也无季节)

首先我们采用最为简单的建模方法,就是简单模型,这里我们不断尝试的目的是让大家熟悉各种预测模型,了解模型在什么时候不适合数据,这是成功构建模型的基本技巧

从图中我们看到,虽然简单模型确实显示了渐进的上升趋势,但并不是我们期望的结果,既没有考虑季节性变化,也没有周期性呈现,直观的讲基本上与线性预测没有差异。所以我们拒绝此模型。

2-Holt线性趋势预测

Holt线性指数平滑法,一般选择:针对等级的平滑系数lapha=0.1,针对趋势的平滑系数gamma=0.2;

从上面的拟合情况看,Holt预测模型更平滑了,也就是说Holt模型比简单模型显现了更强的平滑趋势,但未考虑季节因素,还是不理想,所以还应放弃此模型。

3-简单季节性模型

当我们考虑了季节性变化后,简单季节性预测模型基本上较好的拟合了数据的大趋势,也就是考虑了趋势和季节。

4-Winters相乘法预测模型

数据集的时间跨度为10年,并且包含 10 个季节峰值(出现在每年十二月份)中,简单季节模型和Winters模型都捕捉到了这10个峰值与实际数据中的10个年度峰值完全匹配的预测结果。此时,我们基本上可以得到了一个比较满意的预测结果。

此时也说明,无论采用指数平滑的什么模型,只要考虑了季节因素,都可以得到较好结果,不同的季节性指数平滑方法只是细微差异了。但是,我们仔细看预测值和拟合值,还是有一些上升和下降的趋势和结构没有捕捉到。预测还有改进的空间!

5-ARIMA预测模型

ARIMA 模型是自回归AR和移动平均MA加上差分考虑,与前面介绍的时间序列分解模型不同,它从时间序列数值本身的相关性出发,力求建立回归模型,这样不仅能够充分利用时间序列数值变化信息,而且能够便捷的将其它影响因素纳入模型进行考虑,这是更为精细的时间序列分析方法。

我们采用专家建模器,但指定仅限ARIMA模型,并考虑季节性因素。

这里的差分自回归移动平均模型包括六个参数:ARIMA(p,d,q)(P,D,Q)。小写的p,d,q代表不包含季节变动成分的ARIMA模型结果,大写的是包含季节变动成分的模型结果。p和P代表自回归过程的阶数;d和D代表差分次数;q和Q代表移动平均过程阶数。

补充:

对话框的"离群值"选项卡部分主要用于对离群值进行设定,有3种方式:

①不检测离群值或为其建模 表示不检测离群值或为其建模,该选项为默认选项。

②自动检测离群值 表示要自动检测离群值,并选择检测离群值类型。在"要检测的离群值类型"中选择检测类型,有以下几个可选择的项。

加法:表示自动检测单个观测记录的异常值。

移位水平:表示自动检测数据水平移动引起的异常值。

创新的:表示自动检测由噪声冲击引起的异常值。

瞬时的:表示自动检测对其后观测值影响按指数衰减至0的异常值。

季节性可加的:表示自动检测周期性的影响某固定时刻的异常值,如月度数据的一月效应。

局部趋势:表示自动检测导致局部线性趋势的异常值,往往该异常值以后的数据呈线性趋势。

可加的修补:表示自动检测两个以上连续出现的"加法"异常值。

因为本案例的时间序列是包含季节变动成分的,所以看后面括号的结果。可以发现时间序列经过一次差分,移动平均过程阶数为1。

解读:Sig值越大越好,平稳得R方也是越大越好平稳的R方:决定系数,现有模型所能够解释的原变量的多少变异(较客观)。该值越高(最大值为 1.0),则模型拟合会越好。R方:原数据去掉季节趋势,波动趋势,周期趋势之后的变异解释度(较乐观,偏高)RMSE(残差均方)MAPE(相对误差)MAXAPE(最大值相对误差)MAE(绝对误差)MAXAE(最大值绝对误差)正态化BIC(比较专业化的指标)Sig.列给出了 Ljung-Box 统计量的显著性值,该检验是对模型中残差错误的随机检验;表示指定的模型是否可靠。显著性值小于0.05 表示残差误差不是随机的,p值越大表示数据是随机的可能性越大。(SIG;amp;amp;amp;amp;amp;amp;amp;amp;gt;0.05,说明残差序列通过了白噪声检验,则建模就可以终止,因为没有信息可以继续提取)此时,我们看到模型拟合并相比较简单季节性和Winters模型没有太大的优势,结果可接受

方法选择ARIMA试试

将模型的p,d,q都设置成1,1,1,然后继续。p、d、q的值是根据前面的前期分析得到,由于专家建模器可以帮助我们自动计算最佳的值,所以实际应用中专家建模器可能应用的更多在“Statistics”中,按照图上所示,“拟合变量”选择“平稳的R方”,“R方”,“比较模拟”中选择“拟合优度”,“个别模型统计中”选择“参数估计”。在“图”选项中,选择“序列”,“残差自相关函数”,“残差部分自相关函数”等选项,如图所示。 在“保存”选项中,全部勾选。(这一步可以不要)由于SPSS的一个小BUG,变量名前缀要修改一下,不能是中文。

输出结果

R的平方达到0.961,拟合程度很好,AR,MA的系数分别是0.787和0.664,显著性水平都小于0.01,因此系数都显著不为0再看残差的ACF和PACF图,可以看到都是平稳的,因此ARIMA(1,1,1)是合理的。寻找适当的参数是一个反复尝试的过程

参数的确定:

对序列绘图,进行 ADF 检验,观察序列是否平稳;对于非平稳时间序列要先进行 d 阶差分,转化为平稳时间序列;经过第一步处理,已经得到平稳时间序列。要对平稳时间序列分别求得其自相关系数(ACF)和偏自相关系数(PACF),通过对自相关图和偏自相关图的分析,得到最佳的阶数p、q;

由以上得到的d、q、p ,得到 ARIMA 模型。然后开始对得到的模型进行模型检验。

根据模型预测未来销售额

假如要预测此超市未来12个月的销售额,首先在时间序列建模器的保存选项中将'预测值'和置信区间打钩(置信度95%),导出模型文件这里可以保存预测模型,如图

打开建模器—选项,填写预测最后终止日期

然后就可以在主界面看到预测数据及2016年的每月销售额,以及预测模型,如图

实际使用中如何确定未来这些预测变量的值呢?

主要方法可以考虑:1)选择最末期数据;2)选择近三期数据的平均;3)选择近三期的移动平均

这里我们选近三期移动平均作为预测自变量数值。

预测值的效果检验

对比一下原始序列和预测值效果,将原始序列和预测值及置信区间变量放入选项框内

拟合的还不错,假如我们未来一段时间的真实数据了,也可以对比一下模型预测及真实数据差别

上面的分析都没有考虑其他干扰因素的影响,如果我们考虑时间序列预测包含有预测和干扰变量该如何解决。下面的数据延续前面的案例,只是增加了自变量

我们增加了5个自变量后,采用预测建模方法,选择专家建模器,但限制只在ARIMA模型中选择。从预测值看,比前一模型有了改进,至少这时候的模型捕捉了历史数据中的下降峰值,这可以认为是当前比较适合的拟合值了。如果我们观察预测结果,可以发现模型选择了两个预测变量。

注意:使用专家建模器时,只有在自变量与因变量之间具有统计显著性关系时才会包括自变量。如果选择ARIMA模型,“变量”选项卡上指定的所有自变量(预测变量)都包括在该模型中,这点与使用专家建模器相反。



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有