时间序列: 铛铛铛!预测终于来了,是不是等很久了?

Posted 擎创夏洛克AIOps

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了时间序列: 铛铛铛!预测终于来了,是不是等很久了?相关的知识,希望对你有一定的参考价值。

又到算法充电时间,擎创大数据团队算法工程师当初立下8篇文章带你玩转时序数据分析如果已完成一半,部分算法理论已在夏洛克ITOA产品里得到落地。今天让我们来看看我们的算法工程师如何玩转时间序列预测吧~


引言

时间序列(四): 铛铛铛!预测终于来了,是不是等很久了?

时间序列建模的主要目标之一就是对时间序列未来取值的预测. 而另一个最重要的目标即是对预测精确性的评估.

可以说之前的所有知识都是为预测与评估作准备的.

所谓预测就是利用已观测样本数据,对未来某时刻的取值进行估计. 对时间序列预测,基于这样一个假设: 已观测信息包含时间序列模型的所有信息,其中一部分是可读的,基于可读信息,可以构建时间序列模型,此模型在一定的精度要求下, 可以作为真实模型的近似.


时间序列(四): 铛铛铛!预测终于来了,是不是等很久了?

最佳线性预测

时间序列(四): 铛铛铛!预测终于来了,是不是等很久了?
时间序列(四): 铛铛铛!预测终于来了,是不是等很久了?
时间序列(四): 铛铛铛!预测终于来了,是不是等很久了?
时间序列(四): 铛铛铛!预测终于来了,是不是等很久了?

时间序列预测

时间序列(四): 铛铛铛!预测终于来了,是不是等很久了?

时间序列预测, 基本上可以分四大步:

确定模型阶数, 经过前几讲,可知,目前的所有模型都可认为是ARIMA(p,d,q)模型, 因此, 确定模型阶数,即为确定p, d,q,此过程也被称为模型识别.

当模型阶数确定后, 那就要对模型进行参数估计了.

模型构建完成,那就要进行模型诊断了(或称模型评估).

最后,才是根据所选模型进行预测

以上四大步每一步都可独立成章,内容过多, 不过不用担心,模型识别部分会详细讲一下,而后面的内容,在这里简单的提两句: 参数估计很重要,那是当然的,可对于实际应用来说,谁会关注这些呢,本来想放上几个公式的,可发现没有必要, 因为这些公式很复杂,而且还是递推形式的,我都记不下来,各位也就不用记忆了, 而且其主要思想已经讲了(最佳线性预测),就够了.

对模型诊断部分, 我要说的是,实践与理论研究, 学术看问题的方式, 与实践看问题的方式是不同的,在实践应用中,我们一般不会走学术的方式对诊断模型,更多的是考查模型拟合的如何, 是否overfit, MSE(均方误差,一个模型好坏的衡量指标)是否最低,等等. 所以我都'不欲'的,就不'施于'大家了.

预测,就是以你构建好的模型,对未来时间序列的预测,其实还是有一些啰嗦事的,但知道这么多就够了,实际中才不会管你什么预测误差怎么变化呢,更不会考虑什么预测极限(因为我们有自己的更加直观的方式.).


时间序列(四): 铛铛铛!预测终于来了,是不是等很久了?

自相关系数与偏自相关系数(ACF)

时间序列(四): 铛铛铛!预测终于来了,是不是等很久了?
时间序列(四): 铛铛铛!预测终于来了,是不是等很久了?
时间序列(四): 铛铛铛!预测终于来了,是不是等很久了?

样本偏相关函数(PACF)

时间序列(四): 铛铛铛!预测终于来了,是不是等很久了?
时间序列(四): 铛铛铛!预测终于来了,是不是等很久了?
时间序列(四): 铛铛铛!预测终于来了,是不是等很久了?
时间序列(四): 铛铛铛!预测终于来了,是不是等很久了?
输入标题
时间序列(四): 铛铛铛!预测终于来了,是不是等很久了?

AR(p)模型与MA(q)模型都有判别指标了,那对于混合ARMA模型(即一般的ARMA模型)怎么办呢,从上表可知,ACF与PACF不能够用来作为ARMA的判别标准(拖尾啊~~~).

因此EACF应运而生.不过我的理解却是这样, 时间序列的研究历史已经很久了, 但由于时间序列数据的序列相关性,致使数据的结构很复杂,因此, 诸如一些基本性质,研究起来都十分的吃力, 当上升到模型,则成熟的效果好的理论至今还没出现, 比如ARMA模型的识别, ARMA模型可是时间序列的非常基础的模型啊,可是公认的方法还没有出现. 本节介绍的方法,近几年才慢慢为人们所接受(因为EACF的方法论,看似逻辑简单,可操作起来并不太容易), 我想是因为没有其他更好的办法吧.而且在第五版的Time Series Analysis: Forecasting and Control一nnh(2016年出版的啊),在模型识别部分仍然没有加入EACF, 但也没有更好的办法提出来.

EACF其实更准确地说是一个方法:

如果ARMA模型的AR部分是已知的,那从观测序列中剔掉AR部分, 将会得到一个'纯'的MA过程. 该过程的MA的ACF具有截尾特征. 而自回归的系数则可以通过有限次的回归估计得到.

呃,呃,呃… 算啦, EACF就讲这么多吧,就这么任性地决定啦~. 大家对EACF有了个了解就可以了.反正我的理解是,与其用EACF,还不如备选几个模型(不同参数组合),逐个尝试来得痛快~.


时间序列(四): 铛铛铛!预测终于来了,是不是等很久了?

非平稳模型的识别

时间序列(四): 铛铛铛!预测终于来了,是不是等很久了?

之前讲过'差分+ARMA'模型即为ARIMA模型. 所以当遇到ARIMA模型就可以先差分再应用以上方法,就可以识别模型了~.差分阶数的选择,可参见第三讲.注意,不要过度差分.

至于如何判断时间序列是否为非平稳的. 一般认为,样本ACF的近似线性衰减是时间序列非平稳的标志.定量的可使用Dickey - FullerF单位根检验.这应用到一个事实: 对差分序列的检验,即检验时间序列AR特征多项式是否存在单位根. 这里还不展开讨论, 因为实践中差分阶数一t般不大,然后… 你懂的~ /坏笑...


时间序列(四): 铛铛铛!预测终于来了,是不是等很久了?

其他识别方法

时间序列(四): 铛铛铛!预测终于来了,是不是等很久了?

还有一些其他的模型识别方法, 如BIC, AIC等等, 以上都没展开谈,这里就不展开讨论了.

时间序列(四): 铛铛铛!预测终于来了,是不是等很久了?

再吐槽

时间序列(四): 铛铛铛!预测终于来了,是不是等很久了?

综上,时间序列的预测就告一段落了. 你会发现今天我有好多地方没有展开(至于原因,每个位置都有讲到). 至于更深层次的原因,是它们不好用,更加直白的说法是, 太复杂,理论性太强, 实际应用中,不会自己去实现某一个方法; 太陈旧,太刻板,实践中不会使用; 太不完善,没有形成普遍认同(时间序列真的很难, 想想这几讲可都是时间序列的最基础知识,但我想你早已发现所得出的结果,性质都不是那的容易~).

以后有机会,可以来实例比如: '手把手时间序列建模.'.下一讲可能不行, 因为会分享一个更令人兴奋的话题,敬请期待~


-夏洛克ITOA-

为企业量身定做的IT运维专家

以上是关于时间序列: 铛铛铛!预测终于来了,是不是等很久了?的主要内容,如果未能解决你的问题,请参考以下文章

Leangoo英文版来了~

Leangoo英文版来了~

汇编语言中的加减法~~~~~~~~~困扰我很久了。。有高人吗

获得iPad Pro的幸运儿是不是你,快点这里看看吧!

榜单公布新星计划第二季落幕,快看你有没有上榜?

萤石云监控器出现“当前为流媒体取流,画面连续播放很久了,是不是继续?”怎么解