1.数据平稳性

平稳性就是要求经由样本时间序列所得到的拟合曲线,在未来的一段时间内仍能顺着现有的形态“惯性”地延续下去。

平稳性要求序列的均值和方差不发生明显变化。

严平稳与弱平稳:
严平稳:表示分布不随时间的改变而改变。如:白噪声(正态),无论怎么取,都是期望为0,方差为1

弱平稳:期望与相关系数(依赖性)不变,未来某时刻的t的值Xt就要依赖于它的过去信息,所以需要依赖型。

2.差分法

时间序列在t与t-1时刻的差值

# 导入差分平稳性检验的模块
from statsmodels.tsa.stattools import adfuller
# 对购买总金额序列进行一阶差分
purchase_diff = totaldf['total_purchase_amt'].diff(1)
# 对赎回总金额序列进行一阶差分
redeem_diff = totaldf['total_redeem_amt'].diff(1)
# 对购买总金额序列进行差分平稳性检验
result_purchase = adfuller(purchase_diff)
# 对赎回总金额序列进行差分平稳性检验
result_redeem = adfuller(redeem_diff)

这是对一个资金流入流出数据进行一阶差分并输出差分平稳性检验结果的代码

name_diff=数据[下标].diff(差分阶数)

其中name_diff仍是一个时间序列数据,我们仍可以对name _diff进行差分

做差分能增强数据的平稳性。

3.自回归模型(AR)

描述当前值与历史值之间的关系,用变量自身的历史时间数据对自身进行预测

自回归模型必须满足平稳性的要求

p阶自回归过程的公式定义:

arima模型代码流程预测R语言 arima模型预测步骤_算法

arima模型代码流程预测R语言 arima模型预测步骤_人工智能_02

 自回归模型的限制

自回归模型使用自身的数据来进行预测

必须具有平稳性

必须具有相关性,如果自相关系数小于0.5,则不宜采用

自回归只适用于预测与自身前期相关的现象

4.移动平均模型(MA)

移动平均模型关注的是自回归模型中的误差项的累加

q阶自回归过程的公式定义:

arima模型代码流程预测R语言 arima模型预测步骤_算法_03

移动平均法能有效地消除预测中的随机波动 

5.自回归移动平均模型(ARMA)

自回归与移动平均的结合

公式:

arima模型代码流程预测R语言 arima模型预测步骤_差分_04

 6.ARIMA(p,d,q)模型

全称为差分自回归移动平均模型

AR是自动回归,p为自回归项,MA为移动平均,q为移动平均项数,d为时间序列成为平稳时所作的差分次数。

原理:将非平稳时间序列转化为平稳时间序列然后将因变量仅对它的滞后值以及随机误差项的现值和滞后值进行回归所建立的模型

# 获取购买总金额的时间序列数据
purchase=totaldf['total_purchase_amt']
# 使用ARIMA模型对购买总金额进行建模,使用参数order=[7, 1, 5]
purchase_mod = ARIMA(endog=purchase, order=[7, 1, 5], exog=None).fit()
# 获取赎回总金额的时间序列数据
redeem=totaldf['total_redeem_amt']
# 使用ARIMA模型对赎回总金额进行建模,使用参数order=[8, 1, 3]
redeem_mod = ARIMA(endog=redeem, order=[8, 1, 3], exog=None).fit()

 其中order=[7,1,5]中p=7,d(阶数)=1,q=5

order=[8,1,3]中p=8,d(阶数)=1,q=3

参考链接:https://www.bilibili.com/video/BV1F441187xt?p=2&vd_source=0e2e4c8a7eec53fb074279a5bba3678a