不正经的时间序列分析

Posted 旦犬院

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了不正经的时间序列分析相关的知识,希望对你有一定的参考价值。

郑重声明:

本院文章决不正经说明问题,仅供偷鸡摸狗参考。如有误用,后果自担!

——旦犬院院士


感谢大家积极参与上期小调查。看来大家还是对计量的内容更感兴趣一些,那么本期继续这一话题~

什么是时间序列分析

通俗地说,时间序列分析是指:分析两列以时间为标记的数据之间存在的关系。本质上这个关系与时间无关,只与两列数据本身有关,时间只是刻度而已。举个简单的例子:

日期

加班时长

(小时)

加班工资

(元)

20171

1

30

20172

4

120

20173

5

150

20174

1

30

20175

2

60

20176

7

210

20177

6

180

20178

2

60

20179

4

120

201710

5

150

201711

2

60

201712

6

180

不需要很复杂的分析就可以看出,加班工资与加班时长成正比,每小时30元。在这两组数据中,实际上存在着一对因果关系,即因为加班了,所以得到了加班工资,而不是反过来。所谓的时间,也只是一个刻度,标记着最苦逼的2月和8月的加班。

但现实中,极少有数据存在如果严格一一对应的数据,因为受到一些客观因素的影响,数据的对应存在一些偏差。比如,加班的时间可能是1小时零1分钟,但加班费只算了一个小时,由此得到的结果就没有那么精确了。

日期

加班工资

(元)

计薪加班时长

(小时)

实际加班时长

(小时)

20171

30

1

0.8

20172

120

4

4.23

20173

150

5

5.45

20174

30

1

1.36

20175

60

2

1.59

20176

210

7

6.72

20177

180

6

6.26

20178

60

2

2.02

20179

120

4

4.16

201710

150

5

5.38

201711

60

2

1.57

201712

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

20171

30

0.8

6

20172

120

4.23

-6.9

20173

150

5.45

-13.5

20174

30

1.36

-10.8

20175

60

1.59

12.3

20176

210

6.72

8.4

20177

180

6.26

-7.8

20178

60

2.02

-0.6

20179

120

4.16

-4.8

201710

150

5.38

-11.4

201711

60

1.57

12.9

201712

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、搜索举例中的内容,不要漏掉空格哦


还有其它错误或遗漏,欢迎批评指正!


往期内容:



以上是关于不正经的时间序列分析的主要内容,如果未能解决你的问题,请参考以下文章

正经分析iOS包大小优化

一次不正经的Remote_WSL2体验

写在正经内容前面的不正经的话

「JAVA」Java基础之堆栈方法区类加载器——JVM内存模型分析

JFinal-美女图爬虫-一个不正经的爬虫代码

正经人话版Apache许可证