时间序列的定义
按照时间顺序排列的随机变量序列
时间序列分析的任务: 数据建模、解释、控制或者预报。
时间序列分析方法体系
目前,时间序列预测种类很多,根据预测时间长度的不同可以分为三类,分别为短期预测、中期预测和长期预测.根据所使用的预测算法模型的不同可以分为三类,分别为传统预测方法、智能预测方法和智能混合预测方法。
传统预测方法有随机森林(阳)模型、自回归模型、自回归移动平均(ARMA) 模型、自回归整合移动平均(ARIMA)模型、隐马尔可夫模型 、贝叶斯模型(BM) 等。
常见的机器学习算法有反向传播(BP) 神经网络、Ehnan 神经网络、长短期记忆(LSTM) 神经网络、卷积神经网络(CNN) 、支持向量机(SVM) 、极限学习机(ELM) 等。优化算法又称为进化算法,在参数寻优中 能有很好的作用,可以避免机器学习算法陷入过拟合、欠拟合或局部最优等影响模型性能的状态囚常见的优化算法有粒子群优化算法(PSO) 、遗传算法(GA) 、灰狼优化算法(GWO) 等。
在建立基础预测模型之前可以对数据进行前处理,如小波分解(WD) 、小波包分解(WPD) 、经验模态分解(EMD) 、主成分分析(PCA) 、因子分析(FA) 等,利用前处理方法可以达到降低数据噪声、降低数据复杂度或充分提取数据特征的作用。在建立基于机器学习算法的预测模型的过程中可以使用优化算法对模型参数进行优化,如模型的学习率、隐含层个数等参数,寻找到更好的模型参数以提高模型的泛化能力和预测精度。在预测模型完成预测之后,可以对预测结果进行优化处理,比如使用误差分析方法对误差进行分析以实现修正预测误差的作用,或者利用加权算法对多个预测模型的预测结果进行加权计算等。
时间序列分类
-
平稳序列(stationary series)
- 基本上不存在趋势的序列,各观察值基本上在某个固定的水平上波动
- 或虽有波动,但并不存在某种规律,而其波动可以看成是随机的
-
非平稳序列 (non-stationary series)
- 有趋势的序列
- 线性的,非线性的
- 有趋势、季节性和周期性的复合型序列
- 有趋势的序列
时间序列的成分包括:
-
趋势(trend) T
- 持续向上或持续下降的状态或规律
-
季节性(seasonality) S
- 也称季节变动(Seasonal fluctuation)
- 时间序列在一年内重复出现的周期性波动
-
周期性(cyclity) C
- 也称循环波动(Cyclical fluctuation)
- 围绕长期趋势的一种波浪形或振荡式变动
-
随机性(random) I
- 也称不规则波动(Irregular variations)
- 除去趋势、周期性和季节性之后的偶然性波动
时间序列的组合模型
- 加法模型
- 假定时间序列是基于4种成份相加而成的。长期趋势并不影响季节变动。若以Y表示时间序列,则加法模型为
- $Y_t=T_t+S_t+C_t+I_t$
- 乘法模型
- 假定时间序列是基于4种成份相乘而成的。长期趋势影响季节变动。若以Y表示时间序列,则乘法模型为
- $Y_t=T_tS_tC_t*I_t$
趋势拟合方法
-
平滑法
- 移动平均法
- 设某一时间序列为$Y_1,Y_2,…,Y_T$,若第t+1个时刻的预测值为$ \hat{Y}{t+1}= \frac{1}{n}{\sum{j=0}^{n-1}Y_{t-j}=\frac{(Y_t +Y_{t-1}+…+Y_{t-n+1})}{n}}$
- n表示移动时距
- 滑动平滑法
- $ \hat{Y}{t}=\frac{(Y{t-l} +Y_{t-l+1}+…+Y_{t+l-1}+Y_{t+l})}{2l+1}$
- 三点滑动平均法
- $ \hat{Y}{t}=\frac{(Y{t-1} +Y_{t}+Y_{t+1})}{3}$
- 指示平滑法
- 一次指数平滑法
- $ \hat{Y}{t+1}=\alpha Y_t+(1-\alpha)\hat{Y}{t}$
- $\alpha$为平滑系数,若时间序列较为平稳,则$\alpha$取值较小,在(0.05,0.3)之间;若时间序列较为不稳定,则$\alpha$取值较大
- 一次指数平滑法
- 移动平均法
-
趋势线法
- 直线型趋势线 $Y_t = a + bt$
- 指数型趋势线 $Y_t = ab^t $
- 抛物线型趋势线 $Y_t = a +bt+ct^2$
-
自回归模型
- 自相关性判断:指序列前后期数值之间的相关关系,对这种相关关系程度的测定便是自相关系数。
- 测度:设$Y_1,Y_2,…,Y_n$共n个观测值,把前后相邻的观察值一一取对,便有(n-1)对数据,也即是$(y_1,y_2)$,$(y_2,y_3)$,$(y_3,y_4)$,…$(y_{n-1},y_n)$。
评估预测方法
-
平均误差ME(mean error)
- $ME=\frac{1}{n}\sum_{t=1}^{n}(Y_t -F_t)$
-
平均绝对误差MAD(mean absolute deviation)
-
$MAD=\frac{1}{n}\sum_{t=1}^{n} Y_t -F_t $ - 与ME相比,MAD消除了正负误差的抵消
-
-
均方误差MSE(mean squared error)
- $MSE=\frac{1}{n}\sum_{t=1}^{n}(Y_t -F_t)^2$
-
平均百分比误差MPE(mean percentage error)
- $MPE=\frac{1}{n}\sum_{t=1}^{n}[\frac{Y_t -F_t}{Y_t}]$
-
平均绝对百分比误差MAPE(mean absolute percentage error)
-
$MAPE=\frac{1}{n}\sum_{t=1}^{n}[\frac{ Y_t -F_t }{Y_t}]$
-