用spss进行数据的标准化处理_SPSS 用时间序列进行预测分析

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

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

1-“惯性”原则——事物变化发展的延续性;

2-“类推”原则——事物发展的类似性;

3-“相关”原则——事物的变化发展是相互联系的;

4-“概率”原则——事物发展的推断预测结果能以较大概率出现,则结果成立、可用。

什么是时间序列?

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

什么是时间序列模型?

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

时间序列分析面临的问题

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

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

时间序列建模基本步骤

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

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

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

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

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

  • 长期趋势

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

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

3012eae1c491a289f12fa19ebc1a890c.png
如图,整体呈下降趋势
  • 季节变化(Season)

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

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

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

e4e8d63ff84e2d25df47bdd0a156adf4.png
  • 周期性变动(Cyclical variation)

指一种较长时间的周期性起伏。一般来说循环时间为2-15年。周期性变动一般会出现波峰和波谷,呈现一种循环往复的现象。

周期性变动通常是因为经济变动,比如:经济危机

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

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

4a014981b47cfa0a2f51d39c4be74ccc.png

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

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

4b043ac2a2cefb6e88beda5414d6d526.png

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

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

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

  • 回归模型

如果在序列分析中我们考虑到自变量的话,根据历史数据建立相应的回归模型用于预测。甚至来说可以直接把时间当做自变量用于预测,当然我们知道回归时候要求残差是独立的,假如检验出来是非独立的话,我们可以去建一个自回归模型

  • ARIMA模型:

描述时间序列数据的变化规律和行为,它允许模型中包含趋势变动、季节变动、循环变动和随机波动等综合因素影响。具有较高的预测精度,可以把握过去数据变动模式,有助于解释预测变动规律,回答为什么这样。

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

  • 如果是稳定序列的话,历史数据越多,对预测的帮助越大
  • 如果存在周期,一般需要4个周期以上;数理上认为应当在20个周期以上,假如只有两三个周期,那周期性的分析就没有太大作用了
  • 不同的序列分析方法对时间序列分析对长度不一样,建模过程一般都会做差分,差分会损失信息,差分得越多,相应要求的时间序列越长

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

问题描述

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

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

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

c2ca130dc607cbd79ddec48f7f6e5056.png

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

9bbcb667e10c8b63e3eaa5da4f3f0115.png

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

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

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

85fc685a5631ead68f0975297a28c341.png
SPSS—序列图

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

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

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

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

c388ff3c4ea67cf78e075a5188409897.png
一次差分(假如序列匀速上升的话,一次差分序列后应该是平的)

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

c0774131ca7e1bf1364e0d2d42ad815e.png

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

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

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

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

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

a558287f2961e46e03b5bdc63fd9ba03.png

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

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

57e67aaf042891e22e9b9157041cfe24.png
滞后n阶:隔了n个数据的自相关性;Sig<0.05,证明时间序列存在自相关,不都是白噪声

dee76abcdf02d7c4f355053b2e890b96.png
为了方便查看,给出了图,1到5阶都是存在统计学意义的

412b7d8a37061cc305e262ae25243f56.png
自相关系数是有传递性的问题在里面的,spss就会计算偏自相关系数,屏蔽传递的效应后,看剩余的关联是否还存在。

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

2b411c9f595f95484a207a57f50ef9f6.png

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

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

生成 ARIMA 模型的基本步骤:

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

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

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

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

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

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

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

4721dc43964a378ca37bcd1c1ca489d5.png
确定会生成四个变量

d34898ffd53aa4d5bd76a61f7b2f1f76.png
序列图。将除了季节外的因素放入变量中进行对比

db008784b4a3d4f4f9a7efe3cc53a6cc.png

687345d08283bdea23886cb922cdaac4.png

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

f3580795462bc39f74c478a2566fcd93.png

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

  • 指数平滑法

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

f6c97e207758b5e0a1724269ce2f9dcf.png

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

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

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

2-Holt线性趋势预测

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

4b65fbb134b376c8a0d12e59900c9e21.png

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

3-简单季节性模型

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

4-Winters相乘法预测模型

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

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

5-ARIMA预测模型

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

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

281ddce42d78941fdc4eaea249ff31ab.png

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

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

d48f4aca8312662d0bd84a3f798572e0.png

解读:Sig值越大越好,平稳得R方也是越大越好

  • 平稳的R方:决定系数,现有模型所能够解释的原变量的多少变异(较客观)。该值越高(最大值为 1.0),则模型拟合会越好。
  • R方:原数据去掉季节趋势,波动趋势,周期趋势之后的变异解释度(较乐观,偏高)
  • RMSE(残差均方)
  • MAPE(相对误差)
  • MAXAPE(最大值相对误差)
  • MAE(绝对误差)
  • MAXAE(最大值绝对误差)
  • 正态化BIC(比较专业化的指标)

7713ded9c0998df0159979839ad04a25.png
Sig.列给出了 Ljung-Box 统计量的显著性值,该检验是对模型中残差错误的随机检验;表示指定的模型是否可靠。显著性值小于0.05 表示残差误差不是随机的,p值越大表示数据是随机的可能性越大。(p>=0.05,说明残差序列通过了白噪声检验,则建模就可以终止了,因为没有信息可以继续提取)

8eed93cdba1b00997ab34b46cd34d289.png

此时,我们看到模型拟合并相比较简单季节性和Winters模型没有太大的优势,结果可接受

方法选择ARIMA试试

3dfc6f6a6f3e1cd172571ce78ee62aeb.png
将模型的p,d,q都设置成1,1,1,然后继续。p、d、q的值是根据前面的前期分析得到,由于专家建模器可以帮助我们自动计算最佳的值,所以实际应用中专家建模器可能应用的更多

142bc847435854427ca6cefb9b343b52.png
在“Statistics”中,按照图上所示,“拟合变量”选择“平稳的R方”,“R方”,“比较模拟”中选择“拟合优度”,“个别模型统计中”选择“参数估计”。

2126d97e1b8699d84259857c3039a8d5.png
在“图”选项中,选择“序列”,“残差自相关函数”,“残差部分自相关函数”等选项,如图所示。

b0befd9b103557847d444999abc00325.png
在“保存”选项中,全部勾选。(这一步可以不要)由于SPSS的一个小BUG,变量名前缀要修改一下,不能是中文。

输出结果

93cb531fe63ef17f5968d602ec07f251.png
R的平方达到0.961,拟合程度很好,AR,MA的系数分别是0.787和0.664,显著性水平都小于0.01,因此系数都显著不为0

1ae717e0d1f513ad61d60e9778fed892.png
再看残差的ACF和PACF图,可以看到都是平稳的,因此ARIMA(1,1,1)是合理的。寻找适当的参数是一个反复尝试的过程。

参数的确定:

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

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

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

根据模型预测未来销售额

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

485aa78e4ef9cd70deaa4db88ffe8202.png

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

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

080fbc62344f4f44041af81f43a9fd8a.png

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

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

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

预测值的效果检验

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

d6caa182460cbd43eb261d3961e93494.png

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

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

6af134ee9af810c9c4c9dd10f96d7aa7.png
我们增加了5个自变量后,采用预测建模方法,选择专家建模器,但限制只在ARIMA模型中选择。

6d11b7720a5d86d9ed96949f5d6d41d9.png

从预测值看,比前一模型有了改进,至少这时候的模型捕捉了历史数据中的下降峰值,这可以认为是当前比较适合的拟合值了。如果我们观察预测结果,可以发现模型选择了两个预测变量。

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

  • 17
    点赞
  • 65
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值