image.png

一、灰色预测

1. GM(1,1)模型理论

GM(1,1)模型适合具有较强的指数规律的数列,只能描述单调的变化过程。
已知元素序列数据:预测类算法 - 图2
做一次累加生成(1-AGO)序列:预测类算法 - 图3
其中,预测类算法 - 图4
预测类算法 - 图5预测类算法 - 图6的紧邻均值生成序列:预测类算法 - 图7
其中,预测类算法 - 图8
建立GM(1,1)的灰微分方程模型为:预测类算法 - 图9其中,预测类算法 - 图10为发展系数,预测类算法 - 图11为灰色作用量。设预测类算法 - 图12为待估参数向量,即预测类算法 - 图13,则灰微分方程的最小二乘估计参数列满足预测类算法 - 图14 其中预测类算法 - 图15
再建立灰色微分方程的白化方程(也叫影子方程):预测类算法 - 图16
白化方程的解(也叫时间响应函数)为预测类算法 - 图17
那么相应的GM(1,1)灰色微分方程的时间响应序列为:预测类算法 - 图18
预测类算法 - 图19,则预测类算法 - 图20
再做累减还原可得预测类算法 - 图21即为预测方程。
注1:原始序列数据不一定要全部使用,相应建立的模型也会不同,即预测类算法 - 图22预测类算法 - 图23不同;
注2:原始序列数据必须要等时间间隔、不间断。

2. 算法步骤

(1) 数据的级比检验
为了保证灰色预测的可行性,需要对原始序列数据进行级比检验。
对原始数据列
预测类算法 - 图24,计算序列的级比:预测类算法 - 图25
若所有的级比预测类算法 - 图26都落在可容覆盖预测类算法 - 图27内,则可进行灰色预测;否则需要对预测类算法 - 图28做平移变换,预测类算法 - 图29,使得预测类算法 - 图30满足级比要求。
(2) 建立GM(1,1)模型,计算出预测值列。

(3) 检验预测值:
① 相对残差检验,计算预测类算法 - 图31预测类算法 - 图32 ,则认为达到一般要求,若预测类算法 - 图33 ,则认为达到较高要求;
② 级比偏差值检验
根据前面计算出来的级比预测类算法 - 图34, 和发展系数预测类算法 - 图35, 计算相应的级比偏差:预测类算法 - 图36预测类算法 - 图37, 则认为达到一般要求,若预测类算法 - 图38, 则认为达到较高要求。
(4) 利用模型进行预测。

二、时间序列分析

ARMA

ARMA模型——自回归滑动平均模型,模型参量法高分辨率谱分析方法之一。

基本原理:
将预测指标随时间推移而形成的数据序列看作是一个随机序列,这组随机变量所具有的依存关系体现着原始数据在时间上的延续性。
一方面,影响因素的影响,另一方面,又有自身变动规律,假定影响因素为x1,x2,…,xk,由回归分析
预测类算法 - 图39
其中Y是预测对象的观测值,Z为误差。作为预测对象Yt受到自身变化的影响,其规律可由下式体现,
预测类算法 - 图40
误差项在不同时期具有依存关系,由下式表示,
预测类算法 - 图41
由此,获得ARMA模型表达式:
预测类算法 - 图42

ARIMA

image.png
python实现参考:https://cloud.tencent.com/developer/article/1646121