GM(0,N) 灰色预测

方法概述

GM(0,N) 是灰色系统理论中的多变量预测模型,由邓聚龙教授提出。与传统回归模型不同,GM(0,N) 通过对原始数据进行一次累加生成(1-AGO),挖掘系统的整体变化趋势,然后建立因变量累加序列与自变量累加序列之间的线性关系。该模型适用于小样本、贫信息条件下的多因素预测问题,尤其当影响因素明确但数据量有限时,GM(0,N) 能提供比传统统计回归更稳健的预测结果。

模型的基本形式为: \[ y^{(1)}(k) = a + b_2 x_2^{(1)}(k) + b_3 x_3^{(1)}(k) + \cdots + b_N x_N^{(1)}(k) \] 其中 \(y^{(1)}(k)\)\(x_j^{(1)}(k)\) 分别为因变量和第 \(j\) 个自变量在 \(k\) 时刻的一次累加值,\(a\) 为常数项,\(b_j\) 为自变量的影响系数。

计算步骤

1. 数据准备与验证

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

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

对原始序列进行累加,以弱化随机波动,增强趋势性: \[ y^{(1)}(k) = \sum_{t=1}^{k} y(t), \quad x_j^{(1)}(k) = \sum_{t=1}^{k} x_j(t), \quad j=2,\dots,N \]

3. 构造矩阵方程

根据模型 \(y^{(1)}(k) = a + b_2 x_2^{(1)}(k) + \cdots + b_N x_N^{(1)}(k)\),对每个时刻 \(k\) 构造方程。将所有方程写成矩阵形式: \[ Y = B \cdot \theta \] 其中: \[ Y = \begin{bmatrix} y^{(1)}(1) \\ y^{(1)}(2) \\ \vdots \\ y^{(1)}(n) \end{bmatrix}, \quad B = \begin{bmatrix} 1 & x_2^{(1)}(1) & \cdots & x_N^{(1)}(1) \\ 1 & x_2^{(1)}(2) & \cdots & x_N^{(1)}(2) \\ \vdots & \vdots & \ddots & \vdots \\ 1 & x_2^{(1)}(n) & \cdots & x_N^{(1)}(n) \end{bmatrix}, \quad \theta = \begin{bmatrix} a \\ b_2 \\ \vdots \\ b_N \end{bmatrix} \]

4. 最小二乘估计参数

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

5. 拟合值还原

利用估计出的参数计算累加层次上的拟合值: \[ \hat{y}^{(1)}(k) = B(k) \cdot \theta \] 然后通过累减还原(IAGO)得到原始尺度的拟合值: \[ \hat{y}(1) = \hat{y}^{(1)}(1), \quad \hat{y}(k) = \hat{y}^{(1)}(k) - \hat{y}^{(1)}(k-1), \quad k=2,\dots,n \]

6. 模型精度检验

相对误差检验

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

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

后验差检验

  • 因变量方差:\(S_1 = \operatorname{Var}(y)\)
  • 残差方差:\(S_2 = \operatorname{Var}(y - \hat{y})\)
  • 后验差比值:\(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

7. 未来预测

若用户提供未来时段的自变量数据 \(x_j^{未来}(t)\),则: - 从历史累加序列的最后一期继续累加: \[ x_j^{(1)}(n+m) = x_j^{(1)}(n) + \sum_{t=1}^{m} x_j^{未来}(t) \] - 代入模型得到累加预测值 \(\hat{y}^{(1)}(n+m)\); - 累减还原得到原始尺度预测值 \(\hat{y}(n+m)\)

案例分析

案例背景:某地区拟预测下一年度的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)}(1)=120\)\(x_1^{(1)}(1)=45\)\(x_2^{(1)}(1)=68\)
    • \(y^{(1)}(2)=120+135=255\)\(x_1^{(1)}(2)=45+50=95\)\(x_2^{(1)}(2)=68+74=142\),依次类推。
  2. 构造矩阵 B 和 Y\[ B = \begin{bmatrix} 1 & 45 & 68 \\ 1 & 95 & 142 \\ \vdots & \vdots & \vdots \end{bmatrix}, \quad Y = \begin{bmatrix} 120 \\ 255 \\ \vdots \end{bmatrix} \]

  3. 最小二乘估计:计算得到 \(\theta = (a, b_1, b_2)^\top = (1.25, 1.85, 0.72)\)

  4. 拟合与检验:平均相对误差 2.3%(良),后验差比值 C=0.28,小误差概率 P=0.96,模型精度为“好(一级)”。

  5. 预测

    • 2024年累加:\(x_1^{(1)}(9)=78+82=160\)\(x_2^{(1)}(9)=115+122=237\)
    • \(y^{(1)}(9)=1.25 + 1.85 \times 160 + 0.72 \times 237 = 1.25 + 296 + 170.64 = 467.89\)
    • 还原:\(y(9) = y^{(1)}(9) - y^{(1)}(8) = 467.89 - 445 = 22.89\)(此处为增量,实际预测值需按年度口径调整)。

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

常见问题

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

A: GM(0,N) 仅对变量做一次累加后建立静态线性回归关系(无时间响应方程),而 GM(1,N) 包含一阶微分方程和时间响应函数,适用于动态预测。GM(0,N) 更简单,当影响因素已知且数据平稳时效果好。

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

A: 与普通回归类似,严重的多重共线性会导致参数估计不稳定。建议通过相关分析筛选自变量,或使用岭回归等改进方法(本工具目前未内置)。

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

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

Q4: 预测精度如何判断?

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

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

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

Q6: 因变量或自变量含负值怎么办?

A: 灰色模型要求数据为正,若有负值或零值,建议对所有序列进行平移(加一个常数)后再建模,预测结果需反向平移还原。

平台功能

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

使用建议

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

平台界面

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

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

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

参考文献

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