时间序列预测模型

时间序列数据一般有以下几种特点:1.趋势(Trend) 2. 季节性(Seasonality)。
趋势描述的是时间序列的整体走势,比如总体上升或者总体下降。下图所示的时间序列是总体上升的:
在这里插入图片描述
季节性描述的是数据的周期性波动,比如以年或者周为周期,如下图:
在这里插入图片描述

ARMA

自回归滑动平均模型(ARMA 模型,Auto-Regressive and Moving Average Model)是研究时间序列的重要方法,由自回归模型(简称AR模型)与滑动平均模型(简称MA模型)为基础“混合”构成。在市场研究中常用于长期追踪资料的研究,如:Panel研究中,用于消费行为模式变迁研究;在零售研究中,用于具有季节变动特征的销售量、市场规模的预测等。
AR:
当前值只是过去值的加权求和。
在这里插入图片描述
MA:
过去的白噪音的移动平均。
在这里插入图片描述
ARMA:
AR和MA的综合
在这里插入图片描述

ARIMA

ARIMA模型运用的基本流程有几下几步:

  1. 数据可视化,识别平稳性。
  2. 对非平稳的时间序列数据,做差分,得到平稳序列。
  3. 建立合适的模型。
    平稳化处理后,若偏自相关函数是截尾的,而自相关函数是拖尾的,则建立AR模型;
    若偏自相关函数是拖尾的,而自相关函数是截尾的,则建立MA模型;
    若偏自相关函数和自相关函数均是拖尾的,则序列适合ARMA模型。
  4. 模型的阶数在确定之后,对ARMA模型进行参数估计,比较常用是最小二乘法进行参数估计。
  5. 假设检验,判断(诊断)残差序列是否为白噪声序列。
  6. 利用已通过检验的模型进行预测。

Prophet

  • Facebook 时间序列预测框架
  • 其中对于节假日,year,month,week等预测有良好的适用性
  • 组成部分(增长趋势,周期性,节日数据)如何拟合周期性数据

指数平滑 Exponential Smoothing, ES

一次指数平滑法
二次指数平滑法
三次指数平滑法

上面说到第一期的F1的值一般取前三期的实际观察值的平均数,这只是一般情况,接下来讨论一下这个F1的取值。
一般分为两种情况,当样本为大样本时(n>42),F1一般以第一期的观察值代替;当样本为小样本时(n<42),F1一般取前几期的平均值代替。

但一次指数平滑法只适合于具有水平发展趋势的时间序列分析,只能对近期进行预测。如果碰到时间序列具有上升或下降趋势时,在这个上升或下降的过程中,预测偏差会比较大,这时最好用二次指数平滑法进行预测

参考
https://www.jianshu.com/p/6fb0408b3f54
http://www.statr.cn/?p=14
http://www.cnblogs.com/kemaswill/archive/2013/04/01/2993583.html
https://blog.csdn.net/alanconstantinelau/article/details/70173561
http://www.cnblogs.com/TTyb/p/5716125.html
http://blog.sina.com.cn/s/blog_4b9acb5201016nkd.html

GARCH模型

广义自回归条件异方差模型

statsmodels

在python中对时间序列的建模通常使用statsmodel库,该库在计算库排名中长期处于垫底状态,因为早期文档实在匮乏,不过近来似有好转倾向。

pyflux

An open source time series library for the Python Programming Language

灰度模型

Published by

风君子

独自遨游何稽首 揭天掀地慰生平