FSANGBN(1,1) 灰色预测
方法概述
FSANGBN(1,1)(Fractional-order Simulated Annealing NGBM,分数阶模拟退火非线性灰色伯努利模型)将分数阶累加与非线性灰色伯努利模型(NGBM(1,1))相结合,并使用模拟退火算法联合优化分数阶数 \(r\) 与伯努利幂指数 \(\gamma\),是对 GM(1,1) 的多重推广:
- 当 \(\gamma=1\)、\(r=1\) 时退化为传统 GM(1,1);
- 当 \(\gamma=2\) 时退化为 Verhulst 模型;
- 分数阶累加使模型能自适应匹配不同演化形态的序列。
模型在 \(r\) 阶累加空间中定义为:
\[ x^{(0)}(k) + a z^{(r)}(k) = b \left( x^{(r)}(k) \right)^{\gamma} \]
其中 \(x^{(0)}\) 为原始序列,\(x^{(r)}\) 为 \(r\) 阶累加序列,\(z^{(r)}(k) = 0.5(x^{(r)}(k) + x^{(r)}(k-1))\) 为背景值,\(a\) 为发展系数,\(b\) 为灰色作用量,\(\gamma\) 为伯努利幂指数(反映系统的非线性饱和机制)。工具在 \(r \in [0.05, 1]\)、\(\gamma \in [-1, 2]\) 范围内,以”网格扫描 + 模拟退火”两阶段策略搜索使历史拟合均方误差最小的 \((r^*, \gamma^*)\)。
计算步骤
1. 数据准备与验证
设有一个因变量序列 \(x(k)\)(\(k=1,\dots,n\))与预测长度 \(m\)。数据应满足:
- 至少 4 个观测点;
- 序列为数值型正数(若非正数,建议平移变换)。
2. 分数阶累加生成
对给定阶数 \(r\) 进行 \(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} \]
3. 构造背景值序列
\[ z^{(r)}(k) = 0.5 \left( x^{(r)}(k) + x^{(r)}(k-1) \right), \quad k=2,3,\dots,n \]
4. 构造矩阵方程并估计参数
对 \(k=2,3,\dots,n\) 构造方程组,写成矩阵形式 \(Y = B \cdot \theta\):
\[ Y = \begin{bmatrix} x^{(0)}(2) \\ x^{(0)}(3) \\ \vdots \\ x^{(0)}(n) \end{bmatrix}, \quad B = \begin{bmatrix} -z^{(r)}(2) & (x^{(r)}(2))^{\gamma} \\ -z^{(r)}(3) & (x^{(r)}(3))^{\gamma} \\ \vdots & \vdots \\ -z^{(r)}(n) & (x^{(r)}(n))^{\gamma} \end{bmatrix}, \quad \theta = \begin{bmatrix} a \\ b \end{bmatrix} \]
参数由最小二乘法估计:\(\theta = (B^\top B)^{-1} B^\top Y\)。
5. 两阶段优化 (r, gamma)
- 网格扫描:在 \(r \in [0.2, 1.0]\)(步长 0.05)、\(\gamma \in [-1.0, 2.0]\)(步长 0.1)上扫描,得到最优初值;
- 模拟退火:以网格最优为初值,采用自适应步长(随温度下降收缩)精细搜索,最小化拟合均方误差:
\[ \operatorname{MSE}(r, \gamma) = \frac{1}{n} \sum_{k=1}^{n} \left( x(k) - \hat{x}(k; r, \gamma) \right)^2 \]
6. 拟合值计算
以 \(\hat{x}^{(r)}(1) = x^{(r)}(1)\) 为初值,利用模型方程递推累加拟合值。由于含非线性伯努利项,对每个 \(k\) 需求解非线性方程:
\[ (1 + 0.5 a) t - b \cdot t^{\gamma} = (1 - 0.5 a) \hat{x}^{(r)}(k-1), \quad t = \hat{x}^{(r)}(k) \]
采用牛顿迭代法求解 \(t\),再通过 \(r\) 阶累减还原得到原始尺度拟合值 \(\hat{x}(k)\)。
7. 模型精度检验
相对误差检验
计算各时刻的相对误差:
\[ \Delta_k = \left| \frac{x(k) - \hat{x}(k)}{x(k)} \right| \times 100\% \]
平均相对误差 \(\bar{\Delta} = \frac{1}{n} \sum \Delta_k\)。精度等级划分如下:
| 等级 | 平均相对误差 |
|---|---|
| 优(一级) | < 1% |
| 良(二级) | < 5% |
| 合格(三级) | < 10% |
| 不合格(四级) | ≥ 10% |
后验差检验
- 序列方差:\(S_1 = \operatorname{Var}(x)\)
- 残差方差:\(S_2 = \operatorname{Var}(x - \hat{x})\)
- 后验差比值:\(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. 未来预测
沿递推方程对每个未来点求解非线性方程,得到累加预测值,再对”历史+预测”整体序列做 \(r\) 阶累减并取末位,得到原始尺度预测值 \(\hat{x}(n+t)\)。
案例分析
案例背景:某地区拟预测下一年度的 GDP(亿元)。历史数据共 8 年(单变量序列):
| 年份 | GDP (Y) |
|---|---|
| 2016 | 120 |
| 2017 | 135 |
| 2018 | 148 |
| 2019 | 162 |
| 2020 | 175 |
| 2021 | 190 |
| 2022 | 205 |
| 2023 | 220 |
预测长度为 1(2024 年)。
计算过程(简略):
- 网格扫描 + 模拟退火:得到最优参数 \(r^* = 1.0000\),\(\gamma^* = 0.0755\)。
- 最小二乘估计:计算得到 \(a = -0.0653\),\(b = 80.6827\)。
- 拟合:牛顿迭代递推并累减还原得到各年拟合值 120.00、134.80、148.37、161.76、175.46、189.69、204.60、220.33。
- 检验:平均相对误差 0.16%(优),小误差概率 P=1.00,拟合精度很高。
- 预测:递推得到 2024 年 GDP 预测值约为 236.96 亿元。
结论:模型拟合良好,非线性伯努利项与分数阶累加的自适应优化使模型能灵活匹配序列演化形态,预测结果与 OGM(1,N) 等模型一致(约 237 亿元),说明结果稳健。
常见问题
Q1: FSANGBN(1,1) 与 GM(1,1) 的区别是什么?
A: FSANGBN(1,1) 引入了分数阶累加(\(r\))和非线性伯努利项(\(\gamma\))。\(\gamma=1, r=1\) 时退化为 GM(1,1);\(\gamma=2\) 时退化为 Verhulst 模型,可刻画带饱和机制的系统。
Q2: 伯努利幂指数 \(\gamma\) 有什么意义?
A: \(\gamma\) 反映系统非线性。\(\gamma=1\) 为线性,\(\gamma>1\) 或 \(\gamma<1\) 时系统呈非线性演化;\(\gamma\) 接近 0 时伯努利项近似常数,模型退化为线性灰色模型。工具通过优化自动确定 \(\gamma\)。
Q3: 分数阶数 \(r\) 有什么意义?
A: \(r\) 控制累加强度。\(r=1\) 时退化为一次累加;\(r\) 越小,累加越弱,越贴近原始数据波动形态。\(r\) 通过优化自动确定。
Q4: 为什么采用”网格扫描 + 模拟退火”?
A: 该目标函数存在多个局部最优,仅用模拟退火可能陷入局部解。先用粗网格扫描获得可靠初值,再以模拟退火精细搜索,兼顾全局性与收敛速度。
Q5: 牛顿迭代法是否稳定?
A: 对每个时刻的非线性方程,牛顿迭代以真实累加值为参考初始化,并约束 \(t>0\),一般可在数十步内收敛;当梯度接近 0 时自动停止迭代以保稳健。
Q6: 数据量很少(如 5 个点)可以使用吗?
A: 可以。FSANGBN(1,1) 保留小样本建模优势,但建议至少 4 个观测点,且观测点越多,参数估计与优化越可靠。
平台功能
- 数据输入:支持 CSV、Excel、TXT,自动识别时间列与数值列。
- 未来预测:设置预测长度,自动生成预测值。
- 参数设置:
- 预测长度(1~20)
- 小数位数(1~10)
- 显示/隐藏中间计算过程
- 结果展示:
- 预测结果表(历史拟合 + 未来预测)
- 模型参数表(\(r\)、\(\gamma\)、\(a\)、\(b\))
- 相对误差检验(平均相对误差及等级)
- 后验差检验(C、P 及精度等级)
- 级比检验(适用性判断)
- 精度等级对照表
- 可视化:
- 原始值、拟合值、预测值叠加曲线图
- 支持丰富的绘图参数(标题、标签、颜色、线型、散点样式、主题风格、字体等)
- AI 智能分析:自动解读模型精度、参数含义和预测结果(每日限 3 次,需配置 API 密钥)。
- 报告导出:Excel 报告(含汇总、参数、预测、检验)和 HTML 报告(含等级标注)。
使用建议
- 数据准备:确保序列为数值型正数。若含非正数,建议先做平移变换。
- 参数解读:关注优化得到的 \(r^*\)、\(\gamma^*\),结合其大小判断系统演化的非线性与累加特征。
- 模型检验:务必同时检查平均相对误差和后验差检验,若两者等级差异大,以相对误差为准。
- 预测外推:预测长度不宜过长,建议结合业务背景设置;外推越远,不确定性越大。
- 结果可视化:利用绘图参数调整图形样式,使其清晰展示历史拟合与未来预测的衔接。
平台界面
+灰色预测界面预览)
平台界面包含:数据上传区、参数设置(预测长度、小数位数、显示中间结果)、结果展示(预测结果表、模型参数、检验指标)和可视化图表(含丰富的绘图参数自定义)及 AI 分析模块
参考文献
- 吴利丰, 刘思峰. 分数阶累加灰色模型及其应用[J]. 系统工程理论与实践, 2013.
- Wang Y H, Dang Y G, et al. Nonlinear Bernoulli grey model NGBM(1,1)[J]. Kybernetes, 2012.
- 刘思峰, 党耀国, 方志耕. 灰色系统理论及其应用[M]. 科学出版社, 2010.
- 邓聚龙. 灰色系统基本方法[M]. 华中理工大学出版社, 1987.