ARIMA模型简介
1. 数据平稳性
了解ARIMA模型就要先了解数据的平稳性,样本数据获得的时间序列,在未来一段时间沿着一个“趋势”发展下去,只有具有平稳性的数据才可以做预测
-
平稳性的数据均值和方差不发生明显变化
方差越大数据的波动越大
-
平稳性分为严平稳和弱平稳
严平稳:严平稳表示的分布不随时间的改变而改变,如:白噪声,无论怎么取,都是期望为0,方差为1;
弱平稳:期望与相关系数不变,未来某时刻的t值Xt就要依赖于它的过去信息,所以需要依赖性;
2. 差分法
- 时间序列在t与t-1时刻的差值
fig = plt.figure(figsize=(12, 8))
diff1 = data.diff(1)
diff1.plot()
- 在一阶差分的基础上进行二阶差分,看数据是否趋于平稳,一般一阶差分后就开始趋于平稳
3. 自回归模型(AR)
-
描述当前值与历史值之间的关系,用变量自身的历史时间数据对自身进行预测
-
自回归模型必须满足平稳性的要求
p阶自回归过程的公式定义: -
自回归模型的局限性
自动回归模型是根据自身的历史数据进行预测,数据必须具有平稳性和自相关性,如果自相关系数太小则不宜采用
3.移动平均模型(MA)
-
移动平均模型关注的是自回归模型中误差项的累加
-
q阶自回归过程的公式定义:
4.差分自回归移动平均模型(ARIMA)
-
AR是自回归,p为自回归项;MA为移动平均,q为移动平均项数,d为时间序列成为平稳时所做的差分次数。
-
原理:将非平稳时间序列转换为平稳时间序列。然后将因变量仅对它滞后值(阶数)以及随机误差项的现值和滞后值进行回归所建立的模型。
5.ARIMA建模过程
- 数据预处理,将数据处理成Series格式
- 画图观察数据平稳性,若不平稳,可用差分法或指数平滑法对数据进行平稳化处理
- 非白噪声检验
p_value = acorr_ljungbox(timeseries, lags=1)