时间序列分析预测未来 Ⅰ

时间序列是指将某种现象某一个统计指标在不同时间上的各个数值,按时间先后顺序排列而形成的序列。

A time series is a series of data point indexed(or listed or graphed) in time order. Most commonly, a time series is a sequence taken at successive equally spaced points in time. – wiki

时间序列分析:Time series analysis comprises methods for analyzing time series data in order to extract meaningful statistics and other characteristics of the data.
时间序列预测:Time series forecasting is the use of the model to predict future values based on previously observed values. Methods of time series analysis may also be divided into linear and non-linear, and univariate and multivariate.
在线性回归分析中,对时间序列数据的处理往往不同于横截面数据。从经验出发,选择其中一个变量作为被解析变量,然后直接对其变量进行回归,通常采用普通最小二乘法(OLS:Ordinary least squares)对参数进行估计,估计出来的参数被称为OLS参数估计量,再经过一系列统计检验和计量学检验,最终确立变量间的函数关系,从而得到有意义的结论。而对于时间序列数据,如果所有变量都是平稳的,则可以直接进行回归,但是如果序列是不平稳的,那么需要通过协整验证,验证通过之后,才能进行回归,否则会出现“伪回归”线性,即OLS参数估计量不再服从某种既定的分布(例如正态分布),导致基于该分布的统计验证不再可靠,从而影响最终的结论。

那么下面先了解一下经典假设下OLS的有限样本性质
第一个假定是指,时间序列服从一个线性于参数的模型。

假定TS.1(线性于参数)
时间序列分析预测未来 Ⅰ
假定TS.2(无完全共线性)
在样本中(并因而在潜在的时间序列过程中),没有任何自变量是恒定不变的,或者是其他自变量的一个完全线性组合。
也就是说自变量之间不能互相线性表示,例如:z=x+y, y=2x+1,这里面自变量 y 是另一个自变量 x 的一个线性组合,那么这里就不满足这个假定。

假定TS.3(零条件均值)
时间序列分析预测未来 Ⅰ
假定TS.4(同方差性)
时间序列分析预测未来 Ⅰ
假定TS.5(无序列相关)
时间序列分析预测未来 Ⅰ
假定TS.6(正态性)
时间序列分析预测未来 Ⅰ
由以上假定可以得到下面定理:

定理1.(OLS的无偏性):
时间序列分析预测未来 Ⅰ
时间序列分析预测未来 Ⅰ
时间序列分析预测未来 Ⅰ
定理2.(OLS的样本方差)
时间序列分析预测未来 Ⅰ
高斯–马尔可夫定理:是指在给定经典线性回归的假定下,最小二乘估计量是具有最小方差的线性无偏估计量的这一定理。

“In statistics, the Gauss-Markov theorem states that the ordinary least squares(OLS) estimator has the lowest sampling variance with the class of linear unbiased estimators, if the errors in the linear regression model are uncorrelated, have equal variance and expectation value of zero.” --wiki

SST: sum of squares total,总平方和是对y在样本中所有变动的度量,即它度量了y在样本中的分散程度。
SSR: sum of squares regression,残差平方和,度量了残差的样本变异。
SSE: sum of squares error,解析平方和,度量了y的预测值在样本中的变异。SSE越接近于0,说明模型选择和拟合更好。
时间序列分析预测未来 Ⅰ
时间序列分析预测未来 Ⅰ
时间序列分析预测未来 Ⅰ
df(degree of freedom):*度
n 是观测次数(时期数),number of observations;按一个时刻一行数据的话,就表示时间序列表中的行数。
k 表示有k个解析变量(variables),即时间序列表中的列数。

定理4. (高斯-马尔科夫定理)
在假定TS.1到TS.5下,以为条件,OLS估计量是最优线性无偏估计量。
最优线性无偏估计量:
线性:这个估计量是随机变量。
无偏性:这个估计量的均值或者期望值等于真实值。
最优估计量:具有有效估计量,且这个估计量在所有这样的线性无偏估计量一类中有最小方差。

定理5. (正态抽样分布)
在时间序列的CLM(Classical Linear Model)假定TS.1至TS.6下,以为条件,OLS估计量遵循正态分布。而且,在原假设下,每个 t 统计量服从 t 分布,F 统计量服从 F 分布,通常构造的置信区间也是有效的。模型的 t 检验和 F 检验是有效的。
CLM假定:从假定TS.1至TS.6这六个假定被称为经典线性模型(CLM)假定。
定理5意味着,当假定TS.1到TS.6成立时,我们曾经学过的横截面回归估计与推算,其全部结论都可以直接应用到时间序列回归中。

所以在做时间系列分析的模型之前我们需要将数据处理到满足假定TS.1-TS.6后,才能够使得我们得到的结果的模型的 t 检验和 F 检验是有效的,才可以使用横截面回归估计与推算的结论。
上诉这6点是经典的回归模型,这个模型里面暗含这一个假设,数据是平稳(stationary)的,但是很多情况下我们的数据是非平稳(non-stationary)的,即有趋势的,或存在季节性的,如下右图。
时间序列分析预测未来 Ⅰ

平稳过程:所谓的平稳过程,就是概率分布在如下意义上跨时期稳定的时间序列过程:如果我们从这个序列中任取一个随机变量集,并把这个序列向前移动h个时期,那么其联合概率分布仍然保持不变。平稳性的规范定义如下:
时间序列分析预测未来 Ⅰ
不平稳的随机过程称为非平稳过程(nonstationary process)。

如果时间序列它是有趋势的,那么也就是非平稳的,从而采用OLS估计的 t 检验和 F 检验是无效的。我们把这种情况叫做伪回归 (spurious regression),也就是它存在某些线性关系的统计学表象,来迷惑你,让你觉得它是线性的。比如说y=2exp(x) + 1, x通过躲在exp里面,戴上了exp的帽子,让你以为这是一个y=2x+1的函数。因此,对于非稳定变量,不能使用经典回归模型,否则会出现虚假回归(伪回归)等诸多问题。
注意,上面这段文字中所说的线性的也是平稳的,是因为非稳定的时间序列,如果
时间序列分析预测未来 Ⅰ
正确地提示了X与Y间地长期稳定的“均衡关系”,则意味着Y对其均衡点的偏离从本质上说时“临时性”的。那么在随机扰动项ut是平稳序列时,他们的线性组合可能称为平稳的。

In statistics, a spurious relationship or spurious correlation is a mathematical relationship in which two or more events or variables are associated but not causally related, due to either coincidence or the presence of a certain third, unseen factor (referred to as a “common response variable”, “confounding factor”, or “lurking variable”). --wiki

Spurious regression is a regression that provides misleading statistical evidence of a linear relationship between independent non-stationary variables. --wiki

那么为了避免出现伪回归,我们会对非平稳状态的数据处理成平稳状态。大致的处理方法如下:
对于存在趋势的问题,我们可以加入趋势变量,比如刚刚提及的
时间序列分析预测未来 Ⅰ
或者你可以有各种其他的方式,加exp,多元多次等等不同的function。转换成如下的形式
时间序列分析预测未来 Ⅰ
使得 ut 表示的非均衡误差是一平稳时间序列。
另外一种情况是出现季节性,这时我们需要采用差分的方法。随便举个例子,比如说下图为某城市的风速随着时间变化的图(图中风速为月平均),它呈现出明显的周期性,周期为年,在冬季风比较少,风速低,在夏季多台风,月均风速高。
时间序列分析预测未来 Ⅰ
把非平稳的数据处理成为平稳的之后,为了确定处理之后的数据是否真的平稳,需要做一些平稳性检验。
下图为平稳性检验ADF(Augment Dickey-Fuller)的结果(下一篇会分享代码):
时间序列分析预测未来 Ⅰ
1.从图像上判断:一个平稳的时间序列在图形上往往表现出一种围绕其均值不断波动的过程。而非平稳序列则往往表现出在不同的时间段具有不同的均值。由上图可以看出其移动平均(moving average)围绕零波动,rolling mean大致都在零附近。
2.ADF的结果上看,这里 P 值几乎为零,小于给定的显著水平(confidence levels)0.05,所以我们这里可以拒绝这个 null hypothesis,这个原假设是数据是非平稳的,那么我们的结果告诉我们它拒绝承认这个数据是非平稳的,那么也就是说这个数据是平稳的。

Check stationarity using the following methods:
1.Plotting rolling statistics: we can plot the moving average or moving variance and see if it varies with time.
2.Dickey-Fuller test: this is one of the statistical tests for checking stationarity. Here the null hypothesis is that the TS is non-stationary. The test results comprise of a Test Statistic and some Critical values for difference confidence levels.

将数据从非平稳状态转变为平稳状态之后,并且通过Dickey-Fuller Test 发现结果很好,那么下面就可以使用我们处理过的数据通过测试 ACF 和PACF来确定模型参数,然后再用确定好相关参数的时间序列模型进行模型的建立和计算。

下期讲如何使用代码实现时间序列模型的建立和使用该模型来进行预测,敬请关注。
时间序列分析预测未来 Ⅰ