FGM(1,N) 灰色预测

方法概述

FGM(1,N)(Fractional Grey Model,分数阶灰色多变量模型)由吴利丰提出,核心思想是对原始序列进行分数阶累加\(r\) 阶,\(r \in (0,1]\)),再建立 GM(1,N) 模型。相比一次累加,分数阶累加能根据数据特征自适应调整累加强度,从而更灵活地刻画序列的演化规律。

模型在 \(r\) 阶累加空间中定义为:

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

其中 \(x_1^{(0)}\) 为因变量原始序列,\(x_1^{(r)}\)\(x_i^{(r)}\)\(r\) 阶累加序列,\(z_1^{(r)}(k) = 0.5(x_1^{(r)}(k) + x_1^{(r)}(k-1))\) 为背景值,\(a\) 为发展系数,\(b_i\) 为驱动系数。工具通过黄金分割搜索\(r \in [0.1, 1]\) 内最小化历史拟合均方误差,自动确定最优阶数 \(r^*\)。当 \(r=1\) 时退化为传统 GM(1,N)。

\(r\) 阶累加定义为:

\[ x^{(r)}(k) = \sum_{i=1}^{k} w_{k-i} x(i), \quad w_0 = 1, \quad w_m = w_{m-1} \frac{r+m-1}{m} \]

计算步骤

1. 数据准备与验证

设有 \(n\) 个历史观测时刻,每个时刻包含一个因变量和 \(N-1\) 个自变量。数据应满足:

  • 至少 4 个观测点;
  • 至少 1 个自变量;
  • 因变量和自变量均为数值型正数(若非正数,建议平移变换)。

2. 分数阶累加生成

对给定阶数 \(r\),对因变量和各自变量分别进行 \(r\) 阶累加:

\[ x_1^{(r)}(k) = \sum_{i=1}^{k} w_{k-i} x_1(i), \quad x_i^{(r)}(k) = \sum_{i=1}^{k} w_{k-i} x_i(i) \]

3. 构造背景值序列

\[ z_1^{(r)}(k) = 0.5 \left( x_1^{(r)}(k) + x_1^{(r)}(k-1) \right), \quad k=2,3,\dots,n \]

4. 构造矩阵方程并估计参数

\(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^{(r)}(2) & x_2^{(r)}(2) & \cdots & x_N^{(r)}(2) \\ -z_1^{(r)}(3) & x_2^{(r)}(3) & \cdots & x_N^{(r)}(3) \\ \vdots & \vdots & \ddots & \vdots \\ -z_1^{(r)}(n) & x_2^{(r)}(n) & \cdots & x_N^{(r)}(n) \end{bmatrix}, \quad \theta = \begin{bmatrix} a \\ b_2 \\ \vdots \\ b_N \end{bmatrix} \]

参数由最小二乘法估计:\(\theta = (B^\top B)^{-1} B^\top Y\)

5. 搜索最优阶数

定义拟合均方误差:

\[ \operatorname{MSE}(r) = \frac{1}{n} \sum_{k=1}^{n} \left( x_1(k) - \hat{x}_1(k; r) \right)^2 \]

采用黄金分割搜索在 \(r \in [0.1, 1]\) 内最小化 \(\operatorname{MSE}(r)\),得到最优阶数 \(r^*\),并以 \(r^*\) 对应的参数建立最终模型。

6. 拟合值计算

\(\hat{x}_1^{(r)}(1) = x_1^{(r)}(1)\) 为初值,递推求解累加拟合值:

\[ (1 + 0.5 a) \hat{x}_1^{(r)}(k) = \sum_{i=2}^{N} b_i x_i^{(r)}(k) + (1 - 0.5 a) \hat{x}_1^{(r)}(k-1) \]

再通过 \(r\) 阶累减还原得到原始尺度拟合值 \(\hat{x}_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. 未来预测

若用户提供未来时段的自变量数据,则将未来自变量拼接在历史序列之后进行整体分数阶累加,再沿递推公式求解未来累加预测值:

\[ (1 + 0.5 a) \hat{x}_1^{(r)}(n+t) = \sum_{i=2}^{N} b_i x_i^{(r)}(n+t) + (1 - 0.5 a) \hat{x}_1^{(r)}(n+t-1) \]

由于 \(r\) 阶累减在 \(k\) 处依赖该点之前的全部累加值,对”历史+预测”整体序列累减后取末位,得到原始尺度预测值 \(\hat{x}_1(n+t)\)

案例分析

案例背景:某地区拟预测下一年度的 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. 分数阶累加:黄金分割搜索得最优阶数 \(r^* = 0.9844\),据此对 \(y\)\(x_1\)\(x_2\) 做分数阶累加。
  2. 构造背景值 \(z^{(r)}(k) = 0.5(y^{(r)}(k)+y^{(r)}(k-1))\)
  3. 最小二乘估计:计算得到 \(a = 1.5694\)\(b_1 = -1.3886\)\(b_2 = 3.9380\)
  4. 拟合:递推并累减还原得到各年拟合值 120.00、133.97、149.86、163.35、178.88、189.33、204.35、217.72。
  5. 检验:平均相对误差 0.85%(优),后验差比值 C=0.056,小误差概率 P=1.00,模型精度为”好(一级)“。
  6. 预测:整体累减还原得到 2024 年 GDP 预测值约为 231.67 亿元。

结论:模型拟合良好,分数阶累加在保持高精度的同时给出合理的预测结果。

常见问题

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

A: FGM(1,N) 对原始序列做 \(r\) 阶分数阶累加而非固定一次累加,并通过优化 \(r\) 自适应调整累加强度,能更灵活地匹配不同演化形态的数据。

Q2: 最优阶数 \(r\) 有什么意义?

A: \(r\) 控制累加强度。\(r=1\) 时退化为传统 GM(1,N);\(r\) 越接近 0.1,累加越弱,越贴近原始数据的波动形态。\(r\) 通过最小化拟合误差自动确定。

Q3: 分数阶累加是否仍满足小样本要求?

A: 是。FGM(1,N) 仍是灰色系统模型,保留小样本、贫信息建模的优势,但需要至少 4 个观测点以稳定估计参数。

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

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

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

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

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

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

平台功能

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

使用建议

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

平台界面

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

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

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

参考文献

  1. 吴利丰, 刘思峰, 姚立根. 分数阶累加灰色模型 FGM(1,N) 及其应用[J]. 系统工程理论与实践, 2015.
  2. 刘思峰, 党耀国, 方志耕. 灰色系统理论及其应用[M]. 科学出版社, 2010.
  3. 邓聚龙. 灰色系统基本方法[M]. 华中理工大学出版社, 1987.