不正经的时间序列分析
Posted 旦犬院
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了不正经的时间序列分析相关的知识,希望对你有一定的参考价值。
郑重声明:
本院文章决不正经说明问题,仅供偷鸡摸狗参考。如有误用,后果自担!
——旦犬院院士
感谢大家积极参与上期小调查。看来大家还是对计量的内容更感兴趣一些,那么本期继续这一话题~
什么是时间序列分析
通俗地说,时间序列分析是指:分析两列以时间为标记的数据之间存在的关系。本质上这个关系与时间无关,只与两列数据本身有关,时间只是刻度而已。举个简单的例子:
日期 |
加班时长 (小时) |
加班工资 (元) |
2017年1月 |
1 |
30 |
2017年2月 |
4 |
120 |
2017年3月 |
5 |
150 |
2017年4月 |
1 |
30 |
2017年5月 |
2 |
60 |
2017年6月 |
7 |
210 |
2017年7月 |
6 |
180 |
2017年8月 |
2 |
60 |
2017年9月 |
4 |
120 |
2017年10月 |
5 |
150 |
2017年11月 |
2 |
60 |
2017年12月 |
6 |
180 |
不需要很复杂的分析就可以看出,加班工资与加班时长成正比,每小时30元。在这两组数据中,实际上存在着一对因果关系,即因为加班了,所以得到了加班工资,而不是反过来。所谓的时间,也只是一个刻度,标记着最苦逼的2月和8月的加班。
但现实中,极少有数据存在如果严格一一对应的数据,因为受到一些客观因素的影响,数据的对应存在一些偏差。比如,加班的时间可能是1小时零1分钟,但加班费只算了一个小时,由此得到的结果就没有那么精确了。
日期 |
加班工资 (元) |
计薪加班时长 (小时) |
实际加班时长 (小时) |
2017年1月 |
30 |
1 |
0.8 |
2017年2月 |
120 |
4 |
4.23 |
2017年3月 |
150 |
5 |
5.45 |
2017年4月 |
30 |
1 |
1.36 |
2017年5月 |
60 |
2 |
1.59 |
2017年6月 |
210 |
7 |
6.72 |
2017年7月 |
180 |
6 |
6.26 |
2017年8月 |
60 |
2 |
2.02 |
2017年9月 |
120 |
4 |
4.16 |
2017年10月 |
150 |
5 |
5.38 |
2017年11月 |
60 |
2 |
1.57 |
2017年12月 |
180 |
6 |
6.19 |
有什么区别呢?从散点图上可以很清楚地看到:
计薪加班时长与工资有着严格的正比关系,比例系数为30,而实际加班时长却有着一定的误差,但大致也是在每小时30元上下浮动。如果用计量学的语言来描述:
令计薪加班时长为TJX,实际加班时长为TSJ,加班工资为GZ,e为随机数,得到:
GZ=30*TJX (1)
GZ=30*TSJ+e (2)
用统计学方法可以证明,e在样本足够多的时候(本例只有12个样本,不够多)均值为0,且方差不随时间改变。
方程(2)的输出结果如下:
日期 |
GZ |
TSJ |
e |
2017年1月 |
30 |
0.8 |
6 |
2017年2月 |
120 |
4.23 |
-6.9 |
2017年3月 |
150 |
5.45 |
-13.5 |
2017年4月 |
30 |
1.36 |
-10.8 |
2017年5月 |
60 |
1.59 |
12.3 |
2017年6月 |
210 |
6.72 |
8.4 |
2017年7月 |
180 |
6.26 |
-7.8 |
2017年8月 |
60 |
2.02 |
-0.6 |
2017年9月 |
120 |
4.16 |
-4.8 |
2017年10月 |
150 |
5.38 |
-11.4 |
2017年11月 |
60 |
1.57 |
12.9 |
2017年12月 |
180 |
6.19 |
-5.7 |
方程(2)就是一个计量模型,描述了加班时间与加班工资的关系,或者说用变量加班时间解释了变量加班工资变化的原因。
时间序列建模步骤
很多经济数据间的关系并没有这么显而易见,就需要专门的方法来对上面的方程参数(即变量系数)进行估计(推测)。数据也可能不像例子中这么规范,对估计的准确度就会产生各种各样的影响。为了避免这些影响,就要用各种各样的方法进行处理。随着遇到的问题越来越多,建模的步骤也越来越长了。
平稳性检验(ADF)
很多具有明显趋势的数据看起来是有关系的,但实际并没有关系,比如前期文章“不正经的定量研究”中身高与GDP的例子,正巧长身体的时候遇到了GDP的增长,得出了身高增长是因为GDP增长了的错误结论。所以在进行数据处理之前,需要识别出数据的趋势,即数据平稳性检验。在排除趋势(数据平稳)之后,体现出来的可能才是两者间真正的关系。将不平稳序列转化为平稳序列的方法一般为取对数后做差分(转化为变动率)。
搜索举例:搜索框内输入“SPSS ADF检验 步骤”
因果检验(Granger)
常用的因果检验方法是Granger因果检验,虽然它本质上只是统计学上的因果,代表的是一种条件概率,但是并不影响它成为广泛被采信的因果检验方法。由此区分出的原因变量,一般出现在方程的右边,反之出现在左边。
搜索举例:搜索框内输入“SPSS Granger因果 步骤”
参数估计(OLS)
对于入门应用而言,最小二乘法是拟合的首选方法,也是最容易理解的一种方法。其基本思路是让所有点到直线的距离平方和最小。在上例中,就是每个样本上的黄点和蓝点之间距离的平方和最小。平方和与直接求和的区别在于,第一,有的点在直接上方,有的点在直线下方,直接算距离有正有负,处理起来复杂,平方后可以全部转为正数;第二,距离越远的点,平方后越大,距离越近的点,平方后越小(3的平方是9,0.3的平方是0.09),这样加权之后更能代表分散在一个区间内的点的分布情况。
搜索举例:搜索框内输入“SPSS最小二乘 步骤”
异方差测试
前面提到,随机数e在样本足够多的时候均值为0,且方差不随时间改变。但大多数时候这个条件是不成立的。但如果能找出方差随时间改变的规律,也是可以解决问题的,退一步说,至少也应该知道e是不是满足条件。这个e有个名字叫残差,方程建立后,对残差进行平稳性检验(ADF),如果是平稳的,基本确认不存在异方差,否则需要进一步处理。比如建立GARCH模型。GARCH模型在时间序列分析中是如此的重要,以致于需要的时候,需要一个专题来说说GARCH模型,这里就不展开。
搜索举例:搜索框内输入“SPSS GRACH 步骤”
非平稳序列的处理
虽然说大部分的数据可以转化为增长率来处理,但总有些数据经过处理便具有了不同的含义,能保留原来的状态是最好的。基于这一思想,计量学发展出了协整方法(EG两步法)。
原理也不多说,来看具体操作:
首先对两组数据进行平稳性检验,保证其是同阶单整的(就是指经过同样多阶差分后同时达到平稳的状态)。
其次,直接对非平稳系列进行回归估计,得到残差e。方程估计如下,ac为常数(系数):
Y=c+aX+e (3)
最后,在方程(3)基础上将e作为变量引入方程,重新估计,得:
Y=c+aX+bE+e (4)
方程(4)也被称为误差修正模型(ECM)。
注:未对方程进行变量化简变型。
搜索举例:搜索框内输入“SPSS ECM模型”
写在最后
本文旨在抛砖引玉,结构不完整,内容不严谨,方法不全面,仅供入门时帮助理解使用。主要几个遗漏点包括:
1、平稳性检验常用方法有ADF和PP两种,不同情况应区别使用
2、参数估计中,最小二乘、极大似然等多种方法均有不同适用范围,此处仅以最小二乘为例
3、异方法的处理目前仍是计量学中的难题,在能说明误差可接受的前提下,可以不去处理
4、时间序列中的自相关没有提及
5、时间序列中的多种共线性没有提及
6、协整检验中,仅有一对协整关系可以用EG两步法,但存在两对及以上协整关系的情况下,必须用JJ检验
7、时间序列的后序处理还有VAR、冲击回馈模型等方法
8、多解释变量时,还应使用主成分分析等多种方法优化模型
9、搜索举例中的内容,不要漏掉空格哦
还有其它错误或遗漏,欢迎批评指正!
以上是关于不正经的时间序列分析的主要内容,如果未能解决你的问题,请参考以下文章