时间序列
时间序列与常见的回归问题的不同点在于:
1、时间序列是跟时间有关的;而线性回归模型的假设:观察结果是独立的在这种情况下是不成立的。
2、随着上升或者下降的趋势,更多的时间序列出现季节性趋势的形式;
常用的时间序列模型有AR模型(Autoregressive model:自回归模型)、MA模型(moving average model:滑动平均模型)、ARMA模型(Auto-Regressive and Moving Average Model:自回归滑动平均模型)和ARIMA模型(Autoregressive Integrated Moving Average Model:自回归积分滑动平均模型)等。
数据是按时间和数值性成的序列。而时间序列分析有三种作用,大致可以描述为描述过去,分析规律,预测将来。 一般情况下时间序列的数值变化规律有四种
长期趋势T,循环变动C,季节趋势S,不规则变动I
我们先要对数据做出时间序列图,观察数据随周期的变化,进而判断序列是否随周期波动大,如果说整体序列随周期波动大,或波动不大,我们对其进行季节性分解,分别采用乘法和叠加模型。
时间序列包含很多特征中包含诸多成分,有:
- 趋势:指时间序列在较长一段时间内呈现出来的持续向上或者持续向下的变动;
- 季节性:指时间序列在一年内重复出现的周期性波动,如气候条件、生产条件、节假日等;
- 残差:也称为不规则波动,指除去趋势、季节性、周期性外的随机波动。不规则波动通常总是夹杂在时间序列中,致使时间序列产生一种波浪形或震荡式的变动。只含有随机波动的序列也称为平稳序列。
一些时间序列的规则
简单预测方法
- 均值法:均值法很简单,即字面意思,利用历史的均值作为未来的预测值;
- 季节性均值法:利用历史同期均值作为未来的预测值,一般效果会比均值法好很多;
- 朴素法:即将最后一次观测值作为未来的预测值;
- 季节性朴素法:利用同期最后一次观测值作为未来同期的预测值;
- 漂移法:在起始观测值和最后一次观测值之间画一条连接线,延伸到预测时间点,作为预测值。
「日历调整」:季节性数据中的某些变化可能是来自简单的日历效应。这种情况下,在拟合预测模型之前消除这些变化因素往往会使预测更简单。如每个月的牛奶产量,产量会随着季节性进行变化,但也会随着天数发生变化。
「人口调整」:任何受人口数量影响的数据都可以调整为人均数据,换句话说,考虑每人(或每千人,或每百万人)而非所有人。比如说研究医院的床位数随时间的变化,通过采用人均数据来消除人口数量变化的情况;
「通膨调整」:受货币价值影响的数据在建立模型之前经过最好经过通胀调整;
「数学变换」:数据波动范围会随着数据数值范围的变换而变大或者变小,此时可以进行些数学变换。一个比较经典方法是取对数。对数变换之所以有用,是因为其数值的变化与原始值的变化成正比,且幅度更小;此外也可以用幂变换。
拿到一个观察值序列之后,首先要对它的平稳性和纯随机性进行检验,这两个重要的检验称为序列的预处理。根据检验的结果可以将序列分为不同的类型,对不同类型的序列我们会采用不同的分析方法。
平稳 就是围绕着一个常数上下波动且波动范围有限,即有常数均值和常数方差。如果有明显的趋势或周期性,那它通常不是平稳序列。序列平稳不平稳,一般采用三种方法检验:
1、时序图检验 看图,很明显的增长趋势,不平稳。
2、平稳的序列的自相关图和偏相关图要么拖尾,要么是截尾。截尾就是在某阶之后,系数都为0。怎么理解呢,看上面偏相关的图,当阶数为1的时候,系数值还是很大,0.914;二阶长的时候突然就变成了0.050.后面的值都很小,认为是趋于0,这种状况就是截尾。什么是拖尾,拖尾就是有一个缓慢衰减的趋势,但是不都为0。
自相关图既不是拖尾也不是截尾。以上的图的自相关是一个三角对称的形式,这种趋势是单调趋势的典型图形,说明这个序列不是平稳序列。平稳序列的自相关系数会快速衰减。
3、单位根检验是指检验序列中是否存在单位根,如果存在单位根就是非平稳时间序列。
单位根检验:ADF是一种常用的单位根检验方法,他的原假设为序列具有单位根,即非平稳,对于一个平稳的时序数据,就需要在给定的置信水平上显著,拒绝原假设。ADF只是单位根检验的方法之一,如果想采用其他检验方法,可以安装第三方包arch,里面提供了更加全面的单位根检验方法,个人还是比较钟情ADF检验。以下为检验结果,其p值大于0.99,说明并不能拒绝原假设。
差分可以将数据转换为平稳序列。一阶差分指原序列值相距一期的两个序列值之间的减法运算;k阶差分就是相距k期的两个序列值之间相减。如果一个时间序列经过差分运算后具有平稳性,则该序列为差分平稳序列,可以使用ARIMA模型进行分析。确定不平稳后,依次进行1阶、2阶、3阶…差分,直到平稳为止。
随机化处理 对于纯随机序列,又称白噪声序列,序列的各项数值之间没有任何相关关系,序列在进行完全无序的随机波动,可以终止对该序列的分析。白噪声序列是没有信息可提取的平稳序列。对于平稳非白噪声序列,它的均值和方差是常数。通常是建立一个线性模型来拟合该序的发展,借此提取该序列的有用信息。ARMA模型是最常用的平稳序列拟合模型。
平稳时间序列建模
某个时间序列经过预处理,被判定为平稳非白噪声序列,就可以进行时间序列建模。
建模步骤:
(1)计算出该序列的自相关系数(ACF)和偏相关系数(PACF);
(2)模型识别,也称模型定阶。
根据系数情况从AR§模型、MA(q)模型、ARMA(p,q)模型、ARIMA(p,d,q)模型中选择合适模型,其中p为自回归项,d为差分阶数,q为移动平均项数。
偏相关函数 | 自相关函数 | 模型 |
截尾 | 拖尾 | AR |
拖尾 | 截尾 | MA |
拖尾 | 拖尾 | ARMA模型 |
截尾是指时间序列的自相关函数(ACF)或偏自相关函数(PACF)在某阶后均为0的性质(比如AR的PACF)
拖尾是ACF或PACF并不在某阶后均为0的性质(比如AR的ACF)。
(3)估计模型中的未知参数的值并对参数进行检验;
(4)模型检验;
(5)模型优化;
(6)模型应用:进行短期预测。
马尔可夫
灰色预测
灰色预测是用灰色模型GM(1,1)来进行定量分析的,通常分为以下几类:
(1) 灰色时间序列预测。用等时距观测到的反映预测对象特征的一系列数量(如产量、销量、人口数量、存款数量、利率等)构造灰色预测模型,预测未来某一时刻的特征量,或者达到某特征量的时间。
(2) 畸变预测(灾变预测)。通过模型预测异常值出现的时刻,预测异常值什么时候出现在特定时区内。
(3) 波形预测,或称为拓扑预测,它是通过灰色模型预测事物未来变动的轨迹。
(4) 系统预测,对系统行为特征指标建立一族相互关联的灰色预测理论模型,在预测系统整体变化的同时,预测系统各个环节的变化。
灰色模型预测流程:
数据检验与数据预处理
模型构建
模型检验
好的例子可见含有灰色模型GM(1,1)构建
我们把既含有已知信息又含有未知信息的系统称为灰色系统.作为两个极端,我们将称信息完全未确定的系统为黑色系统;称信息完全确定的系统为白色系统.区别白色系统与黑色系统的重标志是系统各因素之间是否具有确定的关系。
将原始数据列中的数据,按某种要求作数据处理称为生成
常用的灰色系统生成方式有:
(1)累加生成(2)累减生成(3)均值生成(4)级比生成等
累加生成通过数列间各时刻数据的依个累加以得到新的数据与数列.累加前的数列称原始数列,累加后的数列称为生成数列.
插值与拟合
神经网络
遗传算法
遗传算法介绍并附上Matlab代码 - 知乎 (zhihu.com)