本文结构:
时间序列分析?什么是ARIMA?ARIMA数学模型?input,output 是什么?怎么用?-代码实例常见问题?
时间序列分析?
时间序列,就是按时间顺序排列的,随时间变化的数据序列。
生活中各领域各行业太多时间序列的数据了,销售额,顾客数,访问量,股价,油价,GDP,气温。。。
随机过程的特征有均值、方差、协方差等。
如果随机过程的特征随着时间变化,则此过程是非平稳的;相反,如果随机过程的特征不随时间而变化,就称此过程是平稳的。
下图所示,左边非稳定,右边稳定。
非平稳时间序列分析时,若导致非平稳的原因是确定的,可以用的方法主要有趋势拟合模型、季节调整模型、移动平均、指数平滑等方法。
若导致非平稳的原因是随机的,方法主要有ARIMA(autoregressive integrated moving average)及自回归条件异方差模型等。
什么是ARIMA?
ARIMA (Auto Regressive Integrated Moving Average) 可以用来对时间序列进行预测,常被用于需求预测和规划中。
可以用来对付 ‘随机过程的特征随着时间变化而非固定’ 且 ‘导致时间序列非平稳的原因是随机而非确定’ 的问题。不过,如果是从一个非平稳的时间序列开始, 首先需要做差分,直到得到一个平稳的序列。
模型的思想就是从历史的数据中学习到随时间变化的模式,学到了就用这个规律去预测未来。
ARIMA(p,d,q)模型,其中 d 是差分的阶数,用来得到平稳序列。
AR是自回归, p为相应的自回归项。
MA为移动平均,q为相应的移动平均项数。
ARIMA数学模型?
ARIMA(p,d,q)模型是ARMA(p,q)模型的扩展。
ARIMA(p,d,q)模型可以表示为:
其中L 是滞后算子(Lag operator),d in Z, d>0。
AR:
当前值只是过去值的加权求和。
MA:
过去的白噪音的移动平均。
ARMA:
AR和MA的综合。
ARIMA:
和ARMA的区别,就是公式左边的x变成差分算子,保证数据的稳定性。
差分算子就是:
令wt 为:
则ARIMA 就可以写