数模之灰度预测模型GM(1,1)

简介


如果一个系统,全部信息已知,则称之为“白色系统”;反之,如果一个系统全部未知,则称为“黑色系统”。当一个系统一部分已知,一部分未知时,则称为“灰色系统”。

我们的灰色预测模型则是应用于灰色系统之中的一部分。


原理


在灰色预测模型中,GM(1,1)是一个简单而有效的预测模型。其中,"1,1"是指,模型是一阶的并且只包含一个变量。该模型的基本思想是通过对原始数据进行累积生成处理(通常是一次求前缀和,也叫1-AGO),将其转化为一个具有较强规律性的数据序列,进而建立微分方程模型来描述系统的动态行为,并据此预测。

预测完成之后,还需要通过逆累积(逆1-AGO)来将处理结果还原为原序列的尺度。


具体实现步骤


1. 数据收集

收集并整理时间序列数据\(X^{(0)} = \{x^{(0)}_{1},x^{(0)}_{2},x^{(0)}_{3},x^{(0)}_{4},x^{(0)}_{5},...\}\)

2. 1-AGO

对于原始序列\(X^{(0)}\)进行1-AGO,生成累加后的新序列\(X^{(1)}\)

\[x^{(1)}_{k} = \sum^{k}_{i=1}x^{(0)}_{i} \]

3. 构造背景值序列:

为了拟合微分方程,需要构造一个背景值序列\(Z\)

通常取 \(z_k = (x^{(1)}_k + x^{(1)}_{k-1})/2\)

4. 确定模型参数:

使用最小二乘法或者其他方法来确定两个参数,\(a\)\(b\),用于构建微分方程,其中 \(a\) 被称为发展系数,\(b\) 被称为灰色作用量

\[\frac{dx^{(1)}_t}{dt} + ax^{(1)}_t = b \]

这里有一种方法来计算a与b的值:

我们先列出灰微分方程:

\[x^{(0)}_k + az_k = b \]

移项可得:

\[-az_k + b = x^{(0)}_k \]

将上述式子改写成矩阵,并将多个此式合并之后的矩阵形式则是:

\[\begin{bmatrix} -z_2 & 1\\ -z_3 & 1\\ ... & ... \end{bmatrix} \begin{bmatrix} a \\ b \end{bmatrix} = \begin{bmatrix} x^{(0)}_2 \\ x^{(0)}_3 \\ ... \end{bmatrix} \]

\(X ·\beta = Y\)

由此式,使用最小二乘法可得:

\[\hat{\beta} = (X^TX)^{-1}X^TY \]

由此可以得出a与b的估计值,将其带回微分方程。

5. 解微分方程

将a与b带回微分方程之后,求解这个微分方程即可得出\(X^{(1)}\)中每一项的求解表达式。

\[\hat{x}^{(1)}_k = \left( x^{(0)}_1 - \frac{b}{a} \right) e^{-a(k-1)} + \frac{b}{a}, k = 2, 3, \ldots \]

6. 生成预测值

利用上一步得出的表达式来计算预测值,然后使用逆累积生成(ISOGO)转换回\(X^{(0)}\)的预测值。

\[\hat{x}^{(1)}_k = \left( x^{(0)}_1 - \frac{b}{a} \right) e^{-a(k-1)} (1-e^{a}), k = 2, 3, \ldots \]

7. 模型检验与模型应用

最后经过残差检验、关联度检验和后验差检验等检验后,保证模型的拟合程度以及精确程度即可应用参考。


总结


值得注意的是,整个矩阵序列要从第二个数据开始,因为根据上面的式子,\(Z\)中没有\(z_1\)

posted @ 2024-08-31 20:28  报废之人  阅读(256)  评论(0)    收藏  举报