OBGM(1,N) 灰色预测
方法概述
OBGM(1,N)(Optimized Background-value Grey Model,优化背景值灰色多变量模型)在 OGM(1,N) 结构(含线性修正项与灰色作用量)基础上,进一步对背景值的构造方式进行优化。传统模型采用 \(z_1^{(1)}(k) = 0.5(x_1^{(1)}(k) + x_1^{(1)}(k-1))\),而 OBGM(1,N) 引入背景值权重系数 \(p \in [0,1]\):
\[ z_1^{(1)}(k) = p \cdot x_1^{(1)}(k) + (1-p) \cdot x_1^{(1)}(k-1) \]
模型形式为:
\[ 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 \]
其中 \(a\) 为发展系数,\(b_i\) 为驱动系数,\(h_1(k-1)\) 为线性修正项,\(h_2\) 为灰色作用量。工具通过黄金分割搜索在 \(p \in [0,1]\) 内最小化历史拟合均方误差,自动确定最优背景值权重 \(p^*\),使模型同时具备结构优化与背景值优化的优势。
计算步骤
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. 优化背景值序列
对给定的 \(p\),构造背景值序列:
\[ z_1^{(1)}(k) = p \cdot x_1^{(1)}(k) + (1-p) \cdot x_1^{(1)}(k-1), \quad k=2,3,\dots,n \]
4. 构造矩阵方程并估计参数
对 \(k=2,3,\dots,n\) 构造方程组,写成矩阵形式 \(Y = B(p) \cdot \theta\):
\[ Y = \begin{bmatrix} x_1^{(0)}(2) \\ x_1^{(0)}(3) \\ \vdots \\ x_1^{(0)}(n) \end{bmatrix}, \quad B(p) = \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} \]
参数由最小二乘法估计:\(\theta(p) = (B(p)^\top B(p))^{-1} B(p)^\top Y\)。
5. 搜索最优背景值权重
定义拟合均方误差:
\[ \operatorname{MSE}(p) = \frac{1}{n} \sum_{k=1}^{n} \left( x_1(k) - \hat{x}_1(k; p) \right)^2 \]
采用黄金分割搜索在 \(p \in [0,1]\) 内最小化 \(\operatorname{MSE}(p)\),得到最优权重 \(p^*\),并以 \(p^*\) 对应的参数建立最终模型。
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 + a p^*) \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 - a(1-p^*)) \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)}\) 序列。
- 搜索最优背景值权重:黄金分割搜索得 \(p^* = 1.0000\)。
- 构造矩阵 B 和 Y:每行含 \(-z^{(1)}(k)\)、\(x_1^{(1)}(k)\)、\(x_2^{(1)}(k)\)、\(k-1\)、常数 1。
- 最小二乘估计:计算得到 \(a = -0.4192\),\(b_1 = 0.1021\),\(b_2 = -0.8706\),\(h_1 = 15.3736\),\(h_2 = 126.5341\)。
- 拟合:计算得到各年拟合值 120.00、134.86、148.24、161.89、175.11、190.00、204.73、220.16。
- 检验:平均相对误差 0.07%(优),后验差比值 C=0.005,小误差概率 P=1.00,模型精度为”好(一级)“。
- 预测:递推得到 2024 年 GDP 预测值约为 237.05 亿元。
结论:模型拟合良好,背景值权重优化进一步提升了精度,预测结果合理。
常见问题
Q1: OBGM(1,N) 与 OGM(1,N) 的区别是什么?
A: OBGM(1,N) 在 OGM(1,N)(含线性修正项与灰色作用量)的基础上,将背景值权重系数 \(p\) 由固定 0.5 改为优化变量,通过最小化拟合误差自动确定最优 \(p^*\)。
Q2: 背景值权重 \(p\) 有什么意义?
A: \(p\) 表示背景值更偏重当前期累加值(\(p\) 大)还是上一期累加值(\(p\) 小)。\(p=0.5\) 时为传统等权背景值;优化 \(p\) 能更贴合数据的真实演化形态。
Q3: 如何判断最优 \(p\) 的可靠性?
A: 工具同时给出拟合精度指标。若优化后平均相对误差和后验差检验均达”合格”以上,则 \(p^*\) 可信;若 \(p\) 收敛到边界值(0 或 1),建议结合业务背景判断。
Q4: 发展系数 \(a\) 的符号有什么意义?
A: \(a<0\) 表示系统呈增长趋势,\(a>0\) 表示衰减趋势,\(a=0\) 表示平稳。其绝对值大小反映趋势强度。
Q5: 数据量很少(如 5 个点)可以使用吗?
A: 可以。OBGM(1,N) 的优势之一就是小样本适用。但建议至少 4 个观测点,且观测点越多,参数估计越可靠。
Q6: 未来自变量数据如何准备?
A: 上传的未来数据文件应包含与历史自变量相同列数的数值,可包含时间列(工具自动识别),也可不含时间列。列顺序应与历史自变量一致。
平台功能
- 数据输入:支持 CSV、Excel、TXT,自动识别时间列、因变量列和自变量列。
- 未来预测:支持上传未来自变量数据,自动生成预测值。
- 参数设置:
- 小数位数(1~10)
- 显示/隐藏中间计算过程
- 结果展示:
- 预测结果表(历史拟合 + 未来预测)
- 模型参数表(\(a\)、\(b_i\)、\(h_1\)、\(h_2\))与最优背景值权重 \(p^*\)
- 相对误差检验(平均相对误差及等级)
- 后验差检验(C、P 及精度等级)
- 精度等级对照表
- 中间计算过程(累加序列、优化背景值、矩阵 B、向量 Y)
- 可视化:
- 原始值、拟合值、预测值叠加曲线图
- 支持丰富的绘图参数(标题、标签、颜色、线型、散点样式、主题风格、字体等)
- AI 智能分析:自动解读模型精度、参数含义和预测结果(每日限 3 次,需配置 API 密钥)。
- 报告导出:Excel 报告(含汇总、参数、预测、检验)和 HTML 报告(含等级标注)。
使用建议
- 数据准备:确保因变量和自变量均为正数。若含非正数,建议先做平移变换。
- 自变量选择:选择对因变量有明确影响的自变量,避免过多无关变量。
- 模型检验:务必同时检查平均相对误差和后验差检验,若两者等级差异大,以相对误差为准。
- 预测外推:未来自变量的设定应基于合理的预测假设,否则预测结果不可靠。
- 结果可视化:利用绘图参数调整图形样式,使其清晰展示历史拟合与未来预测的衔接。
平台界面
+灰色预测界面预览)
平台界面包含:数据上传区(历史数据与未来自变量数据)、参数设置(小数位数、显示中间结果)、多工作表预览、结果展示(预测结果表、模型参数、检验指标、中间计算过程)和可视化图表(含丰富的绘图参数自定义)及 AI 分析模块
参考文献
- 曾波. 基于背景值和结构相容性改进的多维灰色预测模型[J]. 系统工程与电子技术, 2020.
- 刘思峰, 党耀国, 方志耕. 灰色系统理论及其应用[M]. 科学出版社, 2010.
- 邓聚龙. 灰色系统基本方法[M]. 华中理工大学出版社, 1987.