什么是时间序列模型
在数据分析的过程中,我们时常需要利用多种分析方式来进行业务盘点,其中,时间序列分析可以让我们对以往的数据点进行评判,并辅助关于未来的预测和结果分析。那么,你知道如何进行时间序列分析吗?本篇文章里,作者便结合实际案例进行了解读,一起来看。
![](https://p0.ssl.img.360kuai.com/t01f9942b942780a9e8.jpg)
2021年刚刚结束,小毛的便利店整体销量还不错,年末盘点时发现由于某种热销饮料库存大约缺少100箱,导致流失了部分营业额,因此小毛希望通过对历史年份销售数据的整理,对2022年进货量和销售额进行预测,合理制定2022年度购销计划,使2022年营业额迈向更高的台阶。小毛看着满眼的销售数据陷入了沉思……
在上面案例中,小毛的问题是通过历史销售数据来预测未来销售数据,在统计学领域,可以使用时间序列分析来解答他的问题。时间序列简单的说就是各时间点上形成的数值序列,通过观察历史数据的变化规律预测未来的值。在这里需要强调一点的是,时间序列分析并不是关于时间的回归,它主要是研究自身的变化规律的。接下来,笔者就跟你浅谈一下时间序列分析。
一、时间序列分析的定义
1. 概念首先,时间序列定义为在一定时间间隔内按时间顺序测量的某个数量。
时间序列分析是指将历史数据分解为四部分来看——趋势、周期、时期和不稳定因素,然后综合这些因素,提出预测。时间序列分为平稳序列和非平稳序列两大类。平稳序列是不存在趋势只存在随机性的序列,非平稳序列则是包含趋势、季节性和随机性的序列。
从最广泛的形式来说,时间序列分析是关于推断过去一系列数据点发生了什么,并试图预测未来会发生什么。时间序列分析试图了解过去并预测未来。
2. 分类通常,时间序列通常包含以下类型:
- 趋势:趋势是时间序列中一致的方向性运动。这些趋势将是确定性的或随机的。时间序列在长时间内呈现出来的长期上升或下降的变动。
- 季节性变化:许多时间序列都包含季节性变化。在代表业务销售或气候水平的系列中尤其如此。我们经常看到商品的季节性变化,特别是那些与生长季节或年度温度变化有关的商品(例如天然气)。
- 序列依赖性:时间序列(尤其是金融序列)最重要的特征之一就是序列相关性。当时间上相互靠近的时间序列观测值倾向于相互关联时,就会发生这种情况。
二、时间序列分析的步骤
时间序列预测的步骤是:
在开始平稳性检验步骤之前,我首先想和大家分享的是平稳性检验的目的。平稳性检验为了确定没有随机趋势或确定趋势,否则将会产生“伪回归”问题.伪回归是说,有时数据的高度相关仅仅是因为二者同时随时间有向上或向下的变动趋势, 并没有真正联系.这样数据中的趋势项,季节项等无法消除, 从而在残差分析中无法准确进行分析。
1. 平稳性检验1)图示法
平稳性指的是期望不变,方差恒定,协方差不随时间改变,协方差只依赖于K这个时间跨度,不依赖于时间点t本身。
给定这些假设前提的目的是便于后续技术上的处理。根据时序图粗略来判断序列是否平稳,平稳时序图的特征为围绕均值不断波动,而非平稳时序图表现为在不同时间段具有不同的均值。图a为平稳时序图,图b为非平稳时序图。
![](https://p0.ssl.img.360kuai.com/t0181467a3e21c8508d.jpg)
然而仅依靠图像判断时间序列的平稳性,肯定是不精确的,因此需要进行单位根检验(DF检验和ADF检验)进一步判断。
2)单位根检验
① DF检验
(原假设 H0:序存在单位根 ,即参数δ=0)
检验时间序列的平稳性,一般可通过检验带有截距项的一阶自回归模型:
对上式可通过进行普通最小二乘法的t检验完成(t检验的原假设:H0:βj=0。即若P值<0.05,则拒绝原假设,证明δ≠0,序列平稳。
② ADF检验
因DF检验假设ut为白噪声,序列为一阶自回归的模型,但实际上随机干扰项并非为白噪声序列,且序列并非为一阶自回归生成,因此用普通最小二乘法进行估计的t统计量会受到无关参数的影响,导致DF检验无效。如果时间序列包含有明显的随时间变化的某种趋势,DF检验必须保证能够剔除这种趋势,否则时间趋势的成分会进入ut,导致ut非白噪声序列,进而偏离了最初的假设。因此形成了ADF检验。ADF检验是由下面3个模型完成:
![](https://p0.ssl.img.360kuai.com/t017b6772a644ef9ab1.jpg)
其中t为时间变量,代表序列随时间变化的趋势。
模型的检验原理同DF检验,即t检验;检验顺序为(3)、(2)、(1);三个模型全部检验通过,才能证明该序列是平稳时间序列。
2. 时间序列常见的三种模型序列通过平稳性检验后,就可以建立时间序列模型了,当序列不平稳时,对序列进行差分或者取对数处理。对时序数据进行差分处理,例如在R语言的“diff”函数可确定(P值<0.05,则拒绝原假设,序列不存在单位根,经1阶差分后,序列平稳)。
对一个时间序列预处理后检验出该序列为平稳时间序列说明该模型有提取信息的价值,就要进行下一步的模型建立来拟合该模型然后做出预测。下面介绍拟合时间序列的三个重要模型。
1)AR(p)模型
自回归模型(Autoregressive model,简称AR模型),用同一变数例如x的之前各期,亦即x1至xt-1来预测本期xt的表现,并假设它们为一次线性关系。因为这是从回归分析中的线性回归发展而来,只是不用x预测y,而是用x预测 x(自己);所以叫做自回归。
AR(p)模型简记形式如下:
其中p为自回归阶数。Φ0=0称为中心化AR(p)模型。p阶自回归模型的自相关系数拖尾,偏自相关系数p阶截尾。
2)MA(q)模型
MA模型(moving average model)移动平均模型,简记形式如下:
其中q为移动平均的阶数。q阶移动平均模型自相关系数q阶截尾,偏自相关系数拖尾。
3)ARMA(p,q)模型
自回归滑动平均模型(Autoregressive moving average model,简称:ARMA模型)。是研究时间序列的重要方法,由自回归模型(简称AR模型)与移动平均模型(简称MA模型)为基础“混合”构成。它比AR模型法与MA模型法估计更精确,但其参数估算比较繁琐。ARMA(p,q)模型简记形式如下:
当q=0时,ARMA(p,q)模型就退化成了AR(p)模型;
当p=0时,ARMA(p,q)模型就退化成了MA(q)模型;
ARMA(p,q)模型具有自相关系数不截尾,偏自相关系数也不截尾的性质。
3. 模型的选择与定阶了解了时间序列的三种常见模型后,应该如何选择模型并确定模型的阶数呢?通常使用ACF与PACF图判定法。
说到时间序列分析,一定离不开自相关函数(auto-correlation function,ACF)和偏自相关函数(Partial auto-correlation function,PACF),ACF可以提供具有滞后值的任何序列的自相关值。
简单来说,它描述了该序列的当前值与其过去的值之间的相关程度。时间序列可以包含趋势,季节性,周期性和残差等成分。ACF在寻找相关性时会考虑所有这些成分。直观上来说,ACF 描述了一个观测值和另一个观测值之间的自相关,包括直接和间接的相关性信息。
PACF可以提供残差(在去除了之前的滞后已经解释的影响之后仍然存在)与下一个滞后值的相关性。因此,如果残差中有任何可以由下一个滞后建模的隐藏信息,我们可能会获得良好的相关性,并且在建模时我们会将下一个滞后作为特征。
讨论完两个重要函数后,就成功了一半,接下来就是选择模型和确定阶数了,由此引入两个词:截尾和拖尾。截尾是指时间序列的自相关函数(ACF)或偏自相关函数(PACF)在大于某个常数k后快速趋于0为k阶截尾;拖尾是ACF或PACF始终有非零取值,不会在k大于某个常数后就恒等于零(或在0附近随机波动)。趋于0在实际分析过程中通常被处理为在2倍标准差之内。
![](https://p0.ssl.img.360kuai.com/t013bb41af1564d05e4.jpg)
![](https://p0.ssl.img.360kuai.com/t018969f4b08d225e23.jpg)
以上面两张图为例,ACF拖尾,PACF一阶截尾,因此可以选择AR(1)模型进行拟合,说到模型拟合,各位统计学前辈早已为我们总结好以下规律:
![](https://p0.ssl.img.360kuai.com/t01820775a37ad27e1c.jpg)
通过以上内容,大家对时间序列的三种模型有了初步了解。那么应该如何确定最优模型呢?通常有以下几点:
- 同一种模型,在尽可能描述数据信息的前提下选择低阶模型,阶数越高,模型会越复杂。
- 高阶AR(p)、MA(q)模型与较低阶ARMA(p,q)模型之间选择较低阶ARMA(p,q)模型。
- 合适模型的残差应满足均值为零的正态分布,而且任何滞后阶数的残差相关系数都为零。
接下来分享的是残差检验的方法:
方法一:通过绘制正态分布的QQ来检验:图像近似为过原点的一条直线,则残差服从正态分布且均值为零。该步骤可通过R语言的“qqnormt”函数实现。如下图:
![](https://p0.ssl.img.360kuai.com/t012d8c601ff9a93f9a.jpg)
方法二:通过R语言的“Box.test”函数实现该检验,若P>0.05,接受原假设,即任何滞后阶数的残差都不相关,残差检验通过。
三、示例分享
回到开头的例子,当小毛同学拿到数据后首先应该绘制销售额随时间变化的曲线,观察数据的整体趋势,如果有季节性趋势,应该利用差分或者移动平均的方法消除季节因素,接下来在消除增长趋势,然后利用单位根检验来检验数据的平稳性,最后利用数据的ACF和PACF函数确定阶数和模型。
其实在这一步有一种偷懒的办法就是利用R语言中的auto.arima”函数可自动筛选出p,q,但还是希望大家能够了解背后的逻辑。模型确定好之后可以利用R语言中的forecast函数预测未来N期的销量,至此小毛的预测工作终于可以告一段落了。
本次此结束,欢迎大家批评指正~
专栏作家
一个数据人的自留地,公众号:一个数据人的自留地。人人都是产品经理专栏作家,《数据产品经理修炼手册》作者。
本文原创发布于人人都是产品经理。未经许可,禁止转载
题图来自Unsplash,基于CC0协议。
该文观点仅代表作者本人,人人都是产品经理平台仅提供信息存储空间服务。
","force_purephv":"0","gnid":"9e878981542c3fe4a","img_data":[{"flag":2,"img":[{"desc":"","height":"420","title":"","url":"https://p0.ssl.img.360kuai.com/t01f9942b942780a9e8.jpg","width":"900"},{"desc":"","height":"302","title":"","url":"https://p0.ssl.img.360kuai.com/t0181467a3e21c8508d.jpg","width":"817"},{"desc":"","height":"205","title":"","url":"https://p0.ssl.img.360kuai.com/t017b6772a644ef9ab1.jpg","width":"445"},{"desc":"","height":"226","title":"","url":"https://p0.ssl.img.360kuai.com/t013bb41af1564d05e4.jpg","width":"433"},{"desc":"","height":"222","title":"","url":"https://p0.ssl.img.360kuai.com/t018969f4b08d225e23.jpg","width":"431"},{"desc":"","height":"141","title":"","url":"https://p0.ssl.img.360kuai.com/t01820775a37ad27e1c.jpg","width":"501"},{"desc":"","height":"688","title":"","url":"https://p0.ssl.img.360kuai.com/t012d8c601ff9a93f9a.jpg","width":"764"}]}],"original":0,"pat":"art_src_3,fts0,sts0","powerby":"cache","pub_time":1675996620000,"pure":"","rawurl":"http://zm.news.so.com/56cb368f8c2673d99a72c73ec3dd08df","redirect":0,"rptid":"f370656c1e3ab58d","s":"t","src":"人人都是产品经理","tag":[],"title":"结合案例,谈谈如何进行时间序列分析
戚贫风2146时间序列模型有什么实际用处 -
竺娥乐13078439371 ______ 金融,天气预报,销售情况等等.就是根据以往的数据(以时间顺序排列的一系列数据)预测未来的值
戚贫风2146时间序列分析的具体算法 -
竺娥乐13078439371 ______ 用随机过程理论和数理统计学方法,研究随机数据序列所遵从的统计规律,以用于解决实际问题.由于在多数问题中,随机数据是依时间先后排成序列的,故称为时间序列.它包括一般统计分析(如自相关分析、谱分析等),统计模型的建立与...
戚贫风2146什么是时间序列预测法? -
竺娥乐13078439371 ______ 一种历史资料延伸预测,也称历史引伸预测法.是以时间数列 所能反映的社会经济现象的发展过程和规律性,进行引伸外推,预测其发展趋势的方法. 时间序列,也叫时间数列、历史复数或动态数列 .它是将某种统计指标的 数值,按时间先后...
戚贫风2146什么是时间序列 -
竺娥乐13078439371 ______ 时间序列是指将某种现象某一个统计指标在不同时间上的各个数值,按时间先后顺序排列而形成的序列.时间序列法是一种定量预测方法,亦称简单外延方法.在统计学中作为一种常用的预测手段被广泛应用.时...
戚贫风2146什么是时间序列分析法 -
竺娥乐13078439371 ______ 时间序列是按时间顺序的一组数字序列.时间序列分析就是利用这组数列,应用数理统计方法加以处理,以预测未来事物的发展.时间序列分析是定量预测方法之一,它的基本原理:一是承认事物发展的延续性.应用过去数据,就能推测事物的发展趋势.二是考虑到事物发展的随机性.任何事物发展都可能受偶然因素影响,为此要利用统计分析中加权平均法对历史数据进行处理.该方法方法简单易行,便于掌握,但准确性差,一般只适用于短期预测.
戚贫风2146年限比较少的时间序列分析用什么方法 -
竺娥乐13078439371 ______ 时间序列分析 编辑 时间序列分析(Time series analysis)是一种动态数据处理的统计方法.该方法基于随机过程理论和数理统计学方法,研究随机数据序列所遵从的统计规律,以用于解决实际问题. 目录 1简介 2参考 3组成要素 4基本步骤 5主...
戚贫风2146时间序列分析与现代谱估计(关于时间序列分析与现代谱估计的简介)
竺娥乐13078439371 ______ 1、本书系统地讲述了时间序列分析的基本理论、建模步骤、预测方法以及现代谱估计的特点和相关知识.2、全书共分6章.3、第1章绪论,介绍时间序列分析的重要性、...
戚贫风2146SPSS的时间序列分析怎么做 -
竺娥乐13078439371 ______ 原发布者:医学之眼 时间序列分析及其SPSS操作教师:韩艳敏电话:13676798448(668448)一、时间序列分析概述时间序列是按时间顺序排列的、随时间变化且相互关联的数据序列.分析时间序列的方法构成数据分析的一个重要领域,即时间...
戚贫风2146时间序列预测方法 -
竺娥乐13078439371 ______ 所谓回归分析法,是在掌握大量观察数据的基础上,利用烽理统计方法建立因变量与自变量之间的回归关系函数表达式(称回归方程式). 时间序列法, 利用按时间顺序排列的数据预测未来的方法,是一种常用的.事物的发展变化趋势会延续...
戚贫风2146急急急!!!!!!关于时间序列ARIMA模型的问题!!!!大神,救命!!! -
竺娥乐13078439371 ______ ARIMA模型又称自回归求和移动平均模型,当时间序列本身不是平稳的时候,如果它的...有趋势的时间序列预测、具季节性周期的时间序列预测以及差分自回归滑动平均.(auto regression moving average)模型,它是目前最常用的拟合平稳序列...