SPSS 用时间序列进行预测分析 | 您所在的位置:网站首页 › spss单因素方差分析图表解读 › SPSS 用时间序列进行预测分析 |
预测:在现时对事物将要发生的结果进行探讨和研究,简单地说就是指从已知事件测定未知事件。 预测的总的原则:认识事物的发展变化规律,利用规律的必然性,是进行科学预测所应遵循的总的原则。这个总原则实际上就是事物发展的 1-“惯性”原则——事物变化发展的延续性;2-“类推”原则——事物发展的类似性;3-“相关”原则——事物的变化发展是相互联系的;4-“概率”原则——事物发展的推断预测结果能以较大概率出现,则结果成立、可用。什么是时间序列? 时间序列是指将同一统计指标的数值按其发生的时间先后顺序排列而成的数列。它是现实的、真实的一组动态数据,而不是数理统计中做实验得到的。时间序列背后是某一现象的变化规律。 什么是时间序列模型? 依时间顺序排列起来的一系列观测值(观测值之间不独立);它考虑的不是变量间的因果关系,而是重点考察变量在时间方面的发展变化规律,并为之建立数学模型;使用时间序列模型的前提:有足够长的数据序列(最好是连续的时间维度);数据序列的变动是稳定而规律的;另外一种理解方式:假如我们对一件事情研究其背后规律很久的话,可以收集到很多的自变量/影响因素去研究与因变量之间的关系,但是由于各种原因我们做不到,我们只能用一个t(时间)来替代所有的影响因素来研究自变量是如何变化;时间序列有一明显的特性就是记忆性(memory),记忆性是指时间数列中的任一观测值的表现皆受到过去观测值影响。时间序列分析面临的问题 时序应该在现实生活中应用的很广,但是为什么不常用这个模型呢? 基础统计数据原因(数据收集)报表系统——质量问题统计口径——不统一范围变化、区域划分——变化理论和技术培训原因 ,之前没有好的工具来实现时间序列模型时间序列建模基本步骤 1、用观测、调查、统计、抽样等方法取得被观测系统时间序列动态数据。 2、根据动态数据作相关图,进行相关分析,求自相关函数。相关图能显示出变化的趋势和周期,并能发现跳点和拐点。跳点是指与其他数据不一致的观测值。如果跳点是正确的观测值,在建模时应考虑进去,如果是反常现象,则应把跳点调整到期望值。拐点则是指时间序列从上升趋势突然变为下降趋势的点。如果存在拐点,则在建模时必须用不同的模型去分段拟合该时间序列,例如采用门限回归模型。 3、辨识合适的随机模型,进行曲线拟合,即用通用随机模型去拟合时间序列的观测数据。 对于短的或简单的时间序列,可用趋势模型和季节模型加上误差来进行拟合。对于平稳时间序列,可用通用ARMA模型(自回归滑动平均模型)及其特殊情况的自回归模型、滑动平均模型或组合-ARMA模型等来进行拟合。当观测值多于50个时一般都采用ARMA模型。对于非平稳时间序列则要先将观测到的时间序列进行差分运算,化为平稳时间序列,再用适当模型去拟合这个差分序列。时间序列主要考虑的因素是: 长期趋势指一种长期的变化趋势。它采取一种全局的视角,不考虑序列局部的波动 时间序列趋势一般为线性的(linear),二次方程式的 (quadratic)或指数函数(exponential function)。 ![]() 反映一种周期性的短期波动,一般在一年中完成。 虽然称作“季节”,但是周期并不一定是季度,也可以是月、周等其它能在一年内完成的周期。因为,大多数的周期都以季节的形式出现,所以称作季节变化 比较典型的季节变化例子:圣诞节效应;冷饮的销售情况 ![]() 指一种较长时间的周期性起伏。一般来说循环时间为2-15年。周期性变动一般会出现波峰和波谷,呈现一种循环往复的现象。 比如:世界经济危机、太阳黑子的周期性变化 不规则变化(error) (随机影响)指时间序列中无法预计的部分,也可以理解为误差,一般为突发事件导致。在分析中往往又将其称为白噪声,它是时间序列中除去趋势、季节变化和自相关性之后的剩余随机扰动。由于时间序列存在不确定性,随机噪声总是夹杂在时间序列中,致使时间序列表现出某种震荡式的无规律运动。 ![]() 四种因素通常有两种组合方式: 一、四种因素相互独立,即时间序列是四种因素直接叠加而成的,可用加法模型表示: Y=T+S+C+I 二、四种因素相互影响。即时间序列是四种因素相互综合的结果,可用乘法模型表示:Y=T*S*C*I 其中,原始时间序列值和长期趋势可用绝对数表示;季节变动、循环变动、不规则变动可用相对数(变动百分比)表示。 问:当我们对一个时间序列进行预测时,应该考虑将上述四种因素从时间序列中分解出来,那为什么要分解这四种因素? 分解之后,能够克服其他因素的影响,仅仅考量一种因素对时间序列的影响分解之后,可以分析他们之间的相互作用,以及他们对时间序列的综合影响分解之后,序列可以用来建立回归模型,从而提高预测精度问:所有的时间序列都要分解这四种因素吗? 通常情况下,我们考虑进行季节因素的分解,也就是将季节变动因素从原时间序列中去除,并生成由剩余三种因素构成的序列来满足后续分析需求。 问:为什么只进行季节因素的分解? 答:时间序列中的长期趋势反映了事物发展规律,是重点研究的对象,而循环变动由于周期长,可以看做是长期趋势的反映;不规则变动由于不容易测量,通常也不单独分析。而且季节变动有时会让预测模型误判其为不规则变动,从而降低模型的预测精度。综上所述:当一个时间序列具有季节变动特征时,在预测值前会先将季节因素进行分解 从数据分析的角度来考虑,我们需要研究: 序列是否在固定水平上下变动?此水平是否也在变动?是否有某种上升或下降的趋势?是否存在有季节性的模式?是否季节性的模式也在变更?是否存在周期性规律和模式?![]() 对于时间序列问题有哪些基本分析思路? AR/MA/ARMA用于分析平稳时间序列,ARIMA通过差分可以用于处理非平稳时间序列 指数平滑与季节分解(遇到比较简单的序列)描述时间序列数据的变化规律和行为,不去试图解释和理解这种变化的原因。例如:您可能发现在过去的一年里,三月和九月都会出现销售的高峰,您可能希望继续保持这样,尽管您不知道为什么。 自回归模型(AR模型)![]() ![]() ![]() 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(时间标签) 接下来:为了帮我们找到适当的模型,最好先绘制时间序列。时间序列的可视化检查通常可以很好地指导并帮助我们进行选择。另外,我们需要弄清以下几点: 此序列是否存在整体趋势?如果是,趋势是显示持续存在还是显示将随时间而消逝?此序列是否显示季节变化?如果是,那么这种季节的波动是随时间而加剧还是持续稳定存在?![]() 转换:如果选择差分或季节性差分,在旁边的文本框中输入差分度。该数字必须为正整数。当前周期性显示在这些选项下方。这些选项仅对时间序列或类似数据才有意义。 单击时间线以定义时间轴的参考线。 单击格式以定义哪条轴显示时间、图表是线图还是面积图,并在序列平均值处显示参考线。 ![]() 根据长期趋势的发展趋势不同,可以进行差分的次数和方法也不相同,一般的规律如下: 一次差分的时间序列数值大体相同,配合直线趋势;二次差分的时间序列数值大体相同,配合二次曲线对数的一次差分的时间序列数值大体相同,配合指数曲线一次差分的环比值大体相同,配合修正指数曲线对数一次差分的环比值大体相同,配合Gompertz曲线倒数一次差分的环比值大体相同,配合Logistic曲线![]() ![]() ![]() 时间序列趋势的图形化观察 1.序列图。实际上就是一种特殊的线图 2.自相关和偏相关图。对序列图的初步观察结果作进一步确认(检验其是不是白噪声序列),重点关心主要的相关趋势,然后再对模型进一步修正 刚才我们做了一次的差分和季节差分真的为平稳序列了吗?用自相关图看看 ![]() 显示偏自相关要求 方程式系统解的大小随延迟数增加而增加。注意偏自相关要求达到较高的延迟数(超过 24)。 单击选项以设置最大延迟数或计算标准误差的方法,或仅在季节性延迟位置显示自相关。 ![]() ![]() ![]() 自相关拖尾,偏自相关也拖尾,根据自回归系数和偏回归系数选择合适的模型 ![]() 检查模型残差的自相关函数 (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; ![]() ![]() 3-简单季节性模型 ![]() 4-Winters相乘法预测模型 ![]() 此时也说明,无论采用指数平滑的什么模型,只要考虑了季节因素,都可以得到较好结果,不同的季节性指数平滑方法只是细微差异了。但是,我们仔细看预测值和拟合值,还是有一些上升和下降的趋势和结构没有捕捉到。预测还有改进的空间! 5-ARIMA预测模型 ARIMA 模型是自回归AR和移动平均MA加上差分考虑,与前面介绍的时间序列分解模型不同,它从时间序列数值本身的相关性出发,力求建立回归模型,这样不仅能够充分利用时间序列数值变化信息,而且能够便捷的将其它影响因素纳入模型进行考虑,这是更为精细的时间序列分析方法。 ![]() ![]() 这里的差分自回归移动平均模型包括六个参数:ARIMA(p,d,q)(P,D,Q)。小写的p,d,q代表不包含季节变动成分的ARIMA模型结果,大写的是包含季节变动成分的模型结果。p和P代表自回归过程的阶数;d和D代表差分次数;q和Q代表移动平均过程阶数。 补充: 对话框的"离群值"选项卡部分主要用于对离群值进行设定,有3种方式: ①不检测离群值或为其建模 表示不检测离群值或为其建模,该选项为默认选项。 ②自动检测离群值 表示要自动检测离群值,并选择检测离群值类型。在"要检测的离群值类型"中选择检测类型,有以下几个可选择的项。 加法:表示自动检测单个观测记录的异常值。 移位水平:表示自动检测数据水平移动引起的异常值。 创新的:表示自动检测由噪声冲击引起的异常值。 瞬时的:表示自动检测对其后观测值影响按指数衰减至0的异常值。 季节性可加的:表示自动检测周期性的影响某固定时刻的异常值,如月度数据的一月效应。 局部趋势:表示自动检测导致局部线性趋势的异常值,往往该异常值以后的数据呈线性趋势。 可加的修补:表示自动检测两个以上连续出现的"加法"异常值。 因为本案例的时间序列是包含季节变动成分的,所以看后面括号的结果。可以发现时间序列经过一次差分,移动平均过程阶数为1。 ![]() ![]() ![]() 方法选择ARIMA试试 ![]() ![]() ![]() ![]() 输出结果 ![]() ![]() 参数的确定: 对序列绘图,进行 ADF 检验,观察序列是否平稳;对于非平稳时间序列要先进行 d 阶差分,转化为平稳时间序列;经过第一步处理,已经得到平稳时间序列。要对平稳时间序列分别求得其自相关系数(ACF)和偏自相关系数(PACF),通过对自相关图和偏自相关图的分析,得到最佳的阶数p、q;由以上得到的d、q、p ,得到 ARIMA 模型。然后开始对得到的模型进行模型检验。 根据模型预测未来销售额 假如要预测此超市未来12个月的销售额,首先在时间序列建模器的保存选项中将'预测值'和置信区间打钩(置信度95%),导出模型文件这里可以保存预测模型,如图 ![]() ![]() 然后就可以在主界面看到预测数据及2016年的每月销售额,以及预测模型,如图 ![]() 实际使用中如何确定未来这些预测变量的值呢? 主要方法可以考虑:1)选择最末期数据;2)选择近三期数据的平均;3)选择近三期的移动平均 这里我们选近三期移动平均作为预测自变量数值。 预测值的效果检验 对比一下原始序列和预测值效果,将原始序列和预测值及置信区间变量放入选项框内 ![]() ![]() 上面的分析都没有考虑其他干扰因素的影响,如果我们考虑时间序列预测包含有预测和干扰变量该如何解决。下面的数据延续前面的案例,只是增加了自变量 ![]() ![]() 注意:使用专家建模器时,只有在自变量与因变量之间具有统计显著性关系时才会包括自变量。如果选择ARIMA模型,“变量”选项卡上指定的所有自变量(预测变量)都包括在该模型中,这点与使用专家建模器相反。 |
CopyRight 2018-2019 实验室设备网 版权所有 |