OGM(1,N) 灰色预测
方法概述
OGM(1,N)(Optimized Grey Model,优化灰色多变量模型)在传统 GM(1,N) 基础上,在模型结构中引入线性修正项和灰色作用量,以弥补传统模型结构上无法解释的偏差,模型形式为:
\[ x_1^{(0)}(k) + a z_1^{(1)}(k) = \sum_{i=2}^{N} b_i x_i^{(1)}(k) + h_1 (k-1) + h_2 \]
其中 \(x_1^{(0)}\) 为因变量原始序列,\(x_1^{(1)}\)、\(x_i^{(1)}\) 为一次累加序列,\(z_1^{(1)}(k) = 0.5(x_1^{(1)}(k) + x_1^{(1)}(k-1))\) 为背景值,\(a\) 为发展系数,\(b_i\) 为驱动系数,\(h_1 (k-1)\) 为线性修正项,\(h_2\) 为灰色作用量。对应白化方程为:
\[ \frac{dx_1^{(1)}}{dt} + a x_1^{(1)} = \sum_{i=2}^{N} b_i x_i^{(1)} + h_1 t + h_2 \]
线性修正项与灰色作用量的引入使模型结构更完整,能显著改善结构偏差较大的多变量时间序列拟合与预测精度。
计算步骤
1. 数据准备与验证
设有 \(n\) 个历史观测时刻,每个时刻包含一个因变量和 \(N-1\) 个自变量。数据应满足:
- 至少 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. 构造矩阵方程
对 \(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) & 1 & 1 \\ -z_1^{(1)}(3) & x_2^{(1)}(3) & \cdots & x_N^{(1)}(3) & 2 & 1 \\ \vdots & \vdots & \ddots & \vdots & \vdots & \vdots \\ -z_1^{(1)}(n) & x_2^{(1)}(n) & \cdots & x_N^{(1)}(n) & n-1 & 1 \end{bmatrix}, \quad \theta = \begin{bmatrix} a \\ b_2 \\ \vdots \\ b_N \\ h_1 \\ h_2 \end{bmatrix} \]
5. 最小二乘估计参数
采用最小二乘法估计参数向量:
\[ \theta = (B^\top B)^{-1} B^\top Y \]
得到的 \(\theta\) 包含发展系数 \(a\)、驱动系数 \(b_i\)、线性修正系数 \(h_1\) 和灰色作用量 \(h_2\)。
6. 拟合值计算
利用估计参数,由模型方程直接计算各期拟合值。对 \(k=1\),拟合值取原始值;对 \(k\ge 2\):
\[ \hat{x}_1(k) = \sum_{i=2}^{N} b_i x_i^{(1)}(k) + h_1 (k-1) + h_2 - 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. 未来预测
若用户提供未来时段的自变量数据,则从历史最后一期累加值继续累加,并利用递推形式求解未来累加预测值。由于背景值涉及未知的未来累加值,整理得递推公式:
\[ (1 + 0.5 a) \hat{x}_1^{(1)}(n+t) = \sum_{i=2}^{N} b_i x_i^{(1)}(n+t) + h_1 (n+t-1) + h_2 + (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 亿元。
计算过程(简略):
- 累加生成:得到 \(y^{(1)}\)、\(x_1^{(1)}\)、\(x_2^{(1)}\) 序列。
- 构造背景值 \(z^{(1)}(k) = 0.5(y^{(1)}(k)+y^{(1)}(k-1))\)。
- 构造矩阵 B 和 Y:每行含 \(-z^{(1)}(k)\)、\(x_1^{(1)}(k)\)、\(x_2^{(1)}(k)\)、\(k-1\)、常数 1。
- 最小二乘估计:计算得到 \(a = -0.2357\),\(b_1 = 0.2591\),\(b_2 = -0.5862\),\(h_1 = 12.6389\),\(h_2 = 136.6482\)。
- 拟合:计算得到各年拟合值 120.00、134.86、148.20、161.92、175.24、189.89、204.69、220.21。
- 检验:平均相对误差 0.09%(优),后验差比值 C=0.006,小误差概率 P=1.00,模型精度为”好(一级)“。
- 预测:递推得到 2024 年 GDP 预测值约为 236.36 亿元。
结论:模型拟合良好,线性修正项与灰色作用量有效吸收了结构偏差,预测结果合理。
常见问题
Q1: OGM(1,N) 与 GM(1,N) 的区别是什么?
A: OGM(1,N) 在 GM(1,N) 基础上增加了线性修正项 \(h_1(k-1)\) 和灰色作用量 \(h_2\),使模型结构更完整,能吸收因变量本身及外生扰动带来的结构偏差,通常拟合精度更高。
Q2: 线性修正项系数 \(h_1\) 和灰色作用量 \(h_2\) 有什么意义?
A: \(h_1(k-1)\) 刻画随时间线性变化的未解释成分,\(h_2\) 刻画常数水平的灰色作用量。二者共同吸收模型结构误差,降低有偏估计。
Q3: 发展系数 \(a\) 的符号有什么意义?
A: \(a<0\) 表示系统呈增长趋势,\(a>0\) 表示衰减趋势,\(a=0\) 表示平稳。其绝对值大小反映趋势强度。
Q4: 自变量之间可以存在多重共线性吗?
A: 与普通回归类似,严重的多重共线性会导致参数估计不稳定。建议通过相关分析筛选自变量。
Q5: 数据量很少(如 5 个点)可以使用吗?
A: 可以。OGM(1,N) 的优势之一就是小样本适用。但建议至少 4 个观测点,且观测点越多,参数估计越可靠。
Q6: 未来自变量数据如何准备?
A: 上传的未来数据文件应包含与历史自变量相同列数的数值,可包含时间列(工具自动识别),也可不含时间列。列顺序应与历史自变量一致。
平台功能
- 数据输入:支持 CSV、Excel、TXT,自动识别时间列、因变量列和自变量列。
- 未来预测:支持上传未来自变量数据,自动生成预测值。
- 参数设置:
- 小数位数(1~10)
- 显示/隐藏中间计算过程
- 结果展示:
- 预测结果表(历史拟合 + 未来预测)
- 模型参数表(\(a\)、\(b_i\)、\(h_1\)、\(h_2\))
- 相对误差检验(平均相对误差及等级)
- 后验差检验(C、P 及精度等级)
- 精度等级对照表
- 中间计算过程(累加序列、背景值、矩阵 B、向量 Y、累加拟合值)
- 可视化:
- 原始值、拟合值、预测值叠加曲线图
- 支持丰富的绘图参数(标题、标签、颜色、线型、散点样式、主题风格、字体等)
- AI 智能分析:自动解读模型精度、参数含义和预测结果(每日限 3 次,需配置 API 密钥)。
- 报告导出:Excel 报告(含汇总、参数、预测、检验)和 HTML 报告(含等级标注)。
使用建议
- 数据准备:确保因变量和自变量均为正数。若含非正数,建议先做平移变换。
- 自变量选择:选择对因变量有明确影响的自变量,避免过多无关变量。
- 模型检验:务必同时检查平均相对误差和后验差检验,若两者等级差异大,以相对误差为准。
- 预测外推:未来自变量的设定应基于合理的预测假设,否则预测结果不可靠。
- 结果可视化:利用绘图参数调整图形样式,使其清晰展示历史拟合与未来预测的衔接。
平台界面
+灰色预测界面预览)
平台界面包含:数据上传区(历史数据与未来自变量数据)、参数设置(小数位数、显示中间结果)、多工作表预览、结果展示(预测结果表、模型参数、检验指标、中间计算过程)和可视化图表(含丰富的绘图参数自定义)及 AI 分析模块
参考文献
- 曾波, 尹小勇, 孟伟. 优化灰色模型 OGM(1,N) 及其在经济增长预测中的应用[J]. 系统工程理论与实践, 2018.
- 刘思峰, 党耀国, 方志耕. 灰色系统理论及其应用[M]. 科学出版社, 2010.
- 邓聚龙. 灰色系统基本方法[M]. 华中理工大学出版社, 1987.