说明:这篇文章来自 2020-2021 年的 WordPress 备份。原始图片附件未随 XML 一起保存,旧服务器图片地址也已失效,因此这里保留正文并移除了失效图片。
概念
平稳性
- 平稳性:要求经由样本时间序列所得到的拟合曲线 在未来的一段时间内仍能顺着现有的形态“惯性”地延续下去 平稳性要求序列的均值和方差不发生明显变化
严平稳与弱平稳
-
严平稳:分布不随时间的改变而改变 举例:白噪声(正态),无论怎么取,都是期望为0,方差为1
-
弱平稳:期望与相关系数(依赖性)不变 未来某时刻的t的值就要依赖于它的过去信息,所以需要依赖性
-
差分法:时间序列在t与t-1时刻的差值 一阶差分: dataframe['diff_1'] = dataframe['data'].diff(1) 二阶差分:对一阶差分做差分 dataframe['diff_2'] = dataframe['diff_1'].diff(1)
ARIMA
自回归模型(AR)
-
描述当前值与历史值之间的关系,用变量自身的历史时间数据对自身进行预测
-
自回归模型必须满足平稳性的要求
-
p阶自回归过程的公式定义:(p阶表当前值与前面多少个历史值有关系)
$y_t$是当前值,$\mu$是常数项 , p是阶数,$\gamma_i$是自相关西是,$\epsilon_t$是误差
限制:
- 用自身数据预测
- 必须具有平稳性
- 必须具有自相关性,如果自相关系数小于0.5,则不宜采用
- 只适用于预测与自身前期相关的现象
移动平均模型(MA)
移动平均模型关注的是自回归模型中的误差项的累加 q阶自回归过程的公式定义:
移动平均法能有效的消除预测中的随机波动
自回归移动平均模型(ARMA)
自回归与移动平均的结合 公式定义:
ARIMA
ARIMA(p,d,q)全称:差分自回归移动平均模型 autoregressive integrated moving average model p为自回归项,q为移动平均项数,d为时间序列成为平稳时所做的差分次数
原理:将非平稳时间序列转化为平稳时间序列然后将因变量仅对他的滞后值以及随机误差项的现值和滞后值进行回归所建立的模型
相关函数
自相关函数ACF(autocorrelation function)
- 有序的随机变量序列与其自身相比较 自相关函数反映了同意序列在不同时序的取值之间的相关性
公式:
$p_k$的取值范围为[-1,1]
偏自相关函数
PACF(patial autocorrelation function)
- 对于一个平稳AR(p)模型,求出滞后k自相关系数p(k)实际上得到的并不是x(t)与x(t-k)之间单纯的相关关系 所以自相关系数p(k)里实际掺杂了其他变量对x(t)与x(t-k)的影响
- 剔除了中间k-1个随机变量x(t-1)、x(t-2)、~、x(t-k+1)的干扰之后x(t-k) 对x(t)影响的相关程度
- ACF还包含了其他变量的影响 PACF是严格这两个变量之间的相关性
ARIMA模型的建立
ARIMA(p,d,q)阶数确定:
- AR(p)主要观察PACF
截尾:落在置信区间
p阶后截尾:比如第二阶就落在置信区间,则p取2 - MA(q300200400)主要观察ACF
拖尾:始终有非零取值,不会在k大于某个常数后就恒等于零(或在0附近随机波动) 截尾:在大于某个常数k后快速趋于0为k阶截尾
AR模型:自相关系数拖尾,偏自相关系数截尾; MA模型:自相关系数截尾,偏自相关函数拖尾; ARMA模型:自相关函数和偏自相关函数均拖尾。
ARIMA建模流程:
- 将序列平稳(差分法确定d)
- p和q阶确定:ACF与PACF
- ARIMA(p,d,q)
模型选择
AIC\BIC:选择更简单的模型
- AIC:赤池信息准则 AIC = 2k - 2ln(L)
- BIC:贝叶斯信息准则 BIC = kln(n) - 2ln(L)
K:模型参数个数,n:样本数量 L:似然函数