GM(1,N) 灰色预测

方法概述

GM(1,N) 是灰色系统理论中的多变量动态预测模型,由邓聚龙教授提出。与静态的 GM(0,N) 不同,GM(1,N) 引入了一阶微分方程来描述因变量与自变量之间的动态演化关系,模型形式为:

\[ \frac{dx_1^{(1)}}{dt} + a x_1^{(1)} = b_2 x_2^{(1)} + b_3 x_3^{(1)} + \cdots + b_N x_N^{(1)} \]

其中 \(x_1^{(1)}\) 为因变量的一次累加序列,\(x_i^{(1)}\)\(i=2,\dots,N\))为自变量的一次累加序列,\(a\) 为发展系数,\(b_i\) 为自变量的驱动系数。通过离散化得到对应的差分方程:

\[ x_1^{(0)}(k) + a z_1^{(1)}(k) = \sum_{i=2}^{N} b_i x_i^{(1)}(k) \]

其中 \(z_1^{(1)}(k) = 0.5(x_1^{(1)}(k) + x_1^{(1)}(k-1))\) 为背景值。该模型适用于小样本、贫信息条件下具有动态演化特征的多因素预测问题,尤其当系统行为随时间变化且影响因素明确时,能更好地捕捉趋势。

计算步骤

1. 数据准备与验证

设有 \(n\) 个历史观测时刻,每个时刻包含一个因变量 \(x_1(k)\)\(N-1\) 个自变量 \(x_2(k), x_3(k), \dots, x_N(k)\)。数据应满足: - 至少 4 个观测点; - 至少 1 个自变量; - 因变量和自变量均为数值型正数(若非正数,建议平移变换)。

2. 一次累加生成(1-AGO)

对原始序列进行累加: \[ x_1^{(1)}(k) = \sum_{t=1}^{k} x_1(t), \quad x_i^{(1)}(k) = \sum_{t=1}^{k} x_i(t), \quad i=2,\dots,N \]

3. 构造背景值序列

对因变量的累加序列构造背景值: \[ z_1^{(1)}(k) = 0.5 \left( x_1^{(1)}(k) + x_1^{(1)}(k-1) \right), \quad k=2,3,\dots,n \]

4. 构造矩阵方程

根据离散化方程 \(x_1^{(0)}(k) + a z_1^{(1)}(k) = \sum_{i=2}^{N} b_i x_i^{(1)}(k)\),移项得: \[ x_1^{(0)}(k) = -a z_1^{(1)}(k) + \sum_{i=2}^{N} b_i x_i^{(1)}(k) \]

\(k=2,3,\dots,n\) 构造方程组,写成矩阵形式: \[ Y = B \cdot \theta \] 其中: \[ Y = \begin{bmatrix} x_1^{(0)}(2) \\ x_1^{(0)}(3) \\ \vdots \\ x_1^{(0)}(n) \end{bmatrix}, \quad B = \begin{bmatrix} -z_1^{(1)}(2) & x_2^{(1)}(2) & \cdots & x_N^{(1)}(2) \\ -z_1^{(1)}(3) & x_2^{(1)}(3) & \cdots & x_N^{(1)}(3) \\ \vdots & \vdots & \ddots & \vdots \\ -z_1^{(1)}(n) & x_2^{(1)}(n) & \cdots & x_N^{(1)}(n) \end{bmatrix}, \quad \theta = \begin{bmatrix} a \\ b_2 \\ \vdots \\ b_N \end{bmatrix} \]

5. 最小二乘估计参数

采用最小二乘法估计参数向量: \[ \theta = (B^\top B)^{-1} B^\top Y \] 得到的 \(\theta\) 包含发展系数 \(a\) 和各自变量的驱动系数 \(b_i\)

6. 拟合值计算

利用估计参数,可以通过离散方程计算各期拟合值。对 \(k=1\),拟合值取原始值;对 \(k\ge 2\)\[ \hat{x}_1^{(0)}(k) = \sum_{i=2}^{N} b_i x_i^{(1)}(k) - a z_1^{(1)}(k) \] 也可采用时间响应式递推计算累加值再还原,本工具采用直接离散计算。

7. 模型精度检验

相对误差检验

计算各时刻的相对误差: \[ \Delta_k = \left| \frac{x_1(k) - \hat{x}_1(k)}{x_1(k)} \right| \times 100\% \] 平均相对误差 \(\bar{\Delta} = \frac{1}{n} \sum \Delta_k\)。精度等级划分如下:

等级 平均相对误差
优(一级) < 1%
良(二级) < 5%
合格(三级) < 10%
不合格(四级) ≥ 10%

后验差检验

  • 因变量方差:\(S_1 = \operatorname{Var}(x_1)\)
  • 残差方差:\(S_2 = \operatorname{Var}(x_1 - \hat{x}_1)\)
  • 后验差比值:\(C = S_2 / S_1\)
  • 小误差概率:\(P = P\left( |\varepsilon_k - \bar{\varepsilon}| < 0.6745 \sqrt{S_1} \right)\)

精度等级划分:

等级 后验差比值 C 小误差概率 P
好(一级) C < 0.35 P > 0.95
合格(二级) C < 0.50 P > 0.80
勉强合格(三级) C < 0.65 P > 0.70
不合格(四级) C ≥ 0.65 P ≤ 0.70

8. 未来预测

若用户提供未来时段的自变量数据 \(x_i^{\text{未来}}(t)\)\(i=2,\dots,N\)),则从历史最后一期累加值继续累加: \[ x_i^{(1)}(n+m) = x_i^{(1)}(n) + \sum_{t=1}^{m} x_i^{\text{未来}}(t) \]

利用离散方程的递推形式求解未来累加预测值。由于背景值涉及未知的未来累加值,采用递推公式: \[ (1 + 0.5 a) \hat{x}_1^{(1)}(n+t) = \sum_{i=2}^{N} b_i x_i^{(1)}(n+t) + (1 - 0.5 a) \hat{x}_1^{(1)}(n+t-1) \] 从而逐步解出 \(\hat{x}_1^{(1)}(n+t)\),再累减还原得到原始尺度预测值: \[ \hat{x}_1(n+t) = \hat{x}_1^{(1)}(n+t) - \hat{x}_1^{(1)}(n+t-1) \]

案例分析

案例背景:某地区拟预测下一年度的GDP,收集了以下数据:GDP(因变量,亿元)、固定资产投资(X1,亿元)、消费支出(X2,亿元)。历史数据共8年:

年份 GDP (Y) 固定资产投资 (X1) 消费支出 (X2)
2016 120 45 68
2017 135 50 74
2018 148 55 80
2019 162 60 87
2020 175 62 94
2021 190 68 100
2022 205 73 108
2023 220 78 115

未来一年(2024年)固定资产投资预计为 82 亿元,消费支出预计为 122 亿元。

计算过程(简略)

  1. 累加生成:得到 \(y^{(1)}\)\(x_1^{(1)}\)\(x_2^{(1)}\) 序列。
  2. 构造背景值 \(z^{(1)}(k) = 0.5(y^{(1)}(k)+y^{(1)}(k-1))\)
  3. 构造矩阵 B 和 Y\[ B = \begin{bmatrix} -z^{(1)}(2) & x_1^{(1)}(2) & x_2^{(1)}(2) \\ -z^{(1)}(3) & x_1^{(1)}(3) & x_2^{(1)}(3) \\ \vdots & \vdots & \vdots \end{bmatrix}, \quad Y = \begin{bmatrix} y(2) \\ y(3) \\ \vdots \end{bmatrix} \]
  4. 最小二乘估计:计算得到 \(a = -0.12\)\(b_1 = 1.85\)\(b_2 = 0.72\)。发展系数为负(\(a<0\))表示系统具有增长趋势。
  5. 拟合与检验:平均相对误差 2.1%(良),后验差比值 C=0.25,小误差概率 P=0.97,模型精度为“好(一级)”。
  6. 预测:递推得到 2024 年 GDP 预测值为 236.5 亿元。

结论:模型拟合良好,可用于预测。

常见问题

Q1: GM(1,N) 与 GM(0,N) 的区别是什么?

A: GM(1,N) 包含一阶微分方程和时间响应递推,能刻画系统的动态演化;GM(0,N) 是静态线性回归,不考虑时间累积效应。当数据有明显趋势时,GM(1,N) 通常更准确。

Q2: 发展系数 \(a\) 的符号有什么意义?

A: \(a<0\) 表示系统呈增长趋势,\(a>0\) 表示衰减趋势,\(a=0\) 表示平稳。其绝对值大小反映趋势强度。

Q3: 自变量之间可以存在多重共线性吗?

A: 与普通回归类似,严重的多重共线性会导致参数估计不稳定。建议通过相关分析筛选自变量。

Q4: 数据量很少(如5个点)可以使用吗?

A: 可以。GM(1,N) 的优势之一就是小样本适用。但建议至少 4 个观测点,且观测点越多,参数估计越可靠。

Q5: 预测精度如何判断?

A: 同时参考平均相对误差和后验差检验。若两者均达到“合格”以上,则预测结果可信;若有冲突,建议以相对误差为主。

Q6: 未来自变量数据如何准备?

A: 上传的未来数据文件应包含与历史自变量相同列数的数值,可包含时间列(工具自动识别),也可不含时间列。列顺序应与历史自变量一致。

平台功能

  • 数据输入:支持 CSV、Excel、TXT,自动识别时间列、因变量列和自变量列。
  • 未来预测:支持上传未来自变量数据,自动生成预测值。
  • 参数设置
    • 小数位数(1~10)
    • 显示/隐藏中间计算过程
  • 结果展示
    • 预测结果表(历史拟合 + 未来预测)
    • 模型参数表(发展系数 \(a\) 和驱动系数 \(b_i\)
    • 相对误差检验(平均相对误差及等级)
    • 后验差检验(C、P 及精度等级)
    • 精度等级对照表
    • 中间计算过程(累加序列、背景值、矩阵 B、向量 Y)
  • 可视化
    • 原始值、拟合值、预测值叠加曲线图
    • 支持丰富的绘图参数(标题、标签、颜色、线型、散点样式、主题风格、字体等)
  • AI 智能分析:自动解读模型精度、参数含义和预测结果(每日限 3 次,需配置 API 密钥)。
  • 报告导出:Excel 报告(含汇总、参数、预测、检验)和 HTML 报告(含等级标注)。

使用建议

  1. 数据准备:确保因变量和自变量均为正数。若含非正数,建议先做平移变换。
  2. 自变量选择:选择对因变量有明确影响的自变量,避免过多无关变量。
  3. 模型检验:务必同时检查平均相对误差和后验差检验,若两者等级差异大,以相对误差为准。
  4. 预测外推:未来自变量的设定应基于合理的预测假设,否则预测结果不可靠。
  5. 结果可视化:利用绘图参数调整图形样式,使其清晰展示历史拟合与未来预测的衔接。

平台界面

官方地址:https://superr.online

GM(1,N) 灰色预测工具界面

平台界面包含:数据上传区(历史数据与未来自变量数据)、参数设置(小数位数、显示中间结果)、多工作表预览、结果展示(预测结果表、模型参数、检验指标、中间计算过程)和可视化图表(含丰富的绘图参数自定义)及 AI 分析模块

参考文献

  1. 邓聚龙. 灰色系统基本方法[M]. 华中理工大学出版社, 1987.
  2. 刘思峰, 党耀国, 方志耕. 灰色系统理论及其应用[M]. 科学出版社, 2010.
  3. 肖新平, 宋中民, 李峰. 灰色系统分析及其应用[M]. 科学出版社, 2005.