GM(2,1)灰色预测
方法概述
GM(2,1) 是一种二阶灰色预测模型,适用于描述具有加速度特征的非线性时间序列。与传统 GM(1,1) 相比,GM(2,1) 通过引入二阶微分方程,能够捕捉数据变化的加速度趋势,更适合具有明显拐点或增长速率变化的情况。
GM(2,1) 的核心思想是: - 对原始序列进行一阶累加(1‑AGO),使数据规律更明显。 - 建立二阶常系数微分方程,通过最小二乘法估计参数。 - 求解微分方程的特征根,构造时间响应函数。 - 累减还原得到拟合值,并向外推预测。 - 提供级比检验、相对误差检验、后验差检验等模型诊断指标。
该方法适用于具有加速度特征、数据量较小(通常 4~8 个点)且需要中长期预测的场景,如经济指标预测、人口增长、交通流量分析等。
计算步骤
1. 数据准备与验证
输入数据为两列:第一列时间标识(数值或字符串),第二列为观测值。要求: - 观测值均为正数(若含非正数,模型自动平移处理)。 - 数据长度 ≥4(推荐 ≥5)。 - 时间序列递增(非严格递增会给出警告)。
程序自动进行级比检验: [ (k) = , k=2,3,,n ] 若所有级比均落在可容区间 ((e^{-2/(n+1)}, e^{2/(n+1)})) 内,则认为原始序列适合 GM(1,1) 类模型(GM(2,1) 条件更宽松)。
2. 数据平移(若需要)
若原始数据含非正数或级比检验不通过,自动平移: [ x^{(0)}_t = x^{(0)}_t + , = (x^{(0)})+1 () ]
3. 一次累加生成 (1‑AGO)
[ x^{(1)}(k) = _{i=1}^{k} x^{(0)}(i), k=1,2,,n ]
4. 紧邻均值生成
[ z^{(1)}(k) = 0.5 ( x^{(1)}(k) + x^{(1)}(k-1) ), k=2,3,,n ]
5. 建立二阶微分方程
白化微分方程: [ + a_1 + a_2 x^{(1)} = b ]
将离散形式改写为: [ a_1 x^{(0)}(k) + a_2 z^{(1)}(k) + b = x^{(0)}(k) - x^{(0)}(k-1) + _0 ] (具体推导参考原始代码中的 B 矩阵构造)
定义: - 一阶差分:( x^{(0)}(k) = x^{(0)}(k) - x^{(0)}(k-1), k=2,,n ) - 构造矩阵 (B) 和常数向量 (Y): [ B = \[\begin{bmatrix} - x^{(0)}(2) & -z^{(1)}(2) & 1 \\ - x^{(0)}(3) & -z^{(1)}(3) & 1 \\ \vdots & \vdots & \vdots \\ - x^{(0)}(n) & -z^{(1)}(n) & 1 \end{bmatrix}\] , Y = \[\begin{bmatrix} x^{(0)}(2)-x^{(0)}(1) \\ x^{(0)}(3)-x^{(0)}(2) \\ \vdots \\ x^{(0)}(n)-x^{(0)}(n-1) \end{bmatrix}\]]
6. 最小二乘估计
[ = (B^T B)^{-1} B^T Y = \[\begin{bmatrix} a_1 \\ a_2 \\ b \end{bmatrix}\]]
7. 特解与齐次解
非齐次方程的特解:( x_p = )(若 (a_2 ))。
特征方程:( r^2 + a_1 r + a_2 = 0 ),判别式 (= a_1^2 - 4a_2)。
- 若 (> 0):两个不同实根 (r_1, r_2)。
- 若 (= 0):重根 (r)。
- 若 (< 0):共轭复根 (i)。
8. 时间响应函数
根据边界条件 (x^{(1)}(0) = x^{(0)}(1)) 和 (x^{(1)}(n-1) = x^{(1)}(n)) 确定常数 (C_1, C_2)。
- 两个不同实根: [ ^{(1)}(t) = C_1 e^{r_1 t} + C_2 e^{r_2 t} + ]
- 重根: [ ^{(1)}(t) = (C_1 + C_2 t) e^{r t} + ]
- 共轭复根: [ ^{(1)}(t) = e^{t} ( C_1 (t) + C_2 (t) ) + ]
9. 累减还原得拟合值
[ ^{(0)}(1) = ^{(1)}(0) ] [ ^{(0)}(k) = ^{(1)}(k-1) - ^{(1)}(k-2), k=2,,n ]
若之前进行了平移,拟合值减去平移量。
10. 预测外推
对 (t = n, n+1, , n+m-1) 计算 (^{(1)}(t)),累减得到未来 (m) 个预测值。
11. 模型检验
相对误差检验: [ (k) = % ] 平均相对误差 ({}),判断等级:优(<1%)、良(<5%)、合格(<10%)、不合格(≥10%)。
后验差检验: [ S_1^2 = (x^{(0)}(k) - {x})^2, S_2^2 = ((k) - {})^2 ] [ C = , P = I(|(k) - {}| < 0.6745 S_1) ] 精度等级:好(C<0.35, P>0.95)、合格(C<0.5, P>0.8)、勉强合格(C<0.65, P>0.7)、不合格(其他)。
案例分析
案例背景:某地区 2015‑2020 年的 GDP 数据(亿元)如下:
| 年份 | 2015 | 2016 | 2017 | 2018 | 2019 | 2020 |
|---|---|---|---|---|---|---|
| GDP | 120 | 135 | 148 | 162 | 179 | 198 |
目标:预测 2021‑2023 年 GDP。
计算过程(简略)
- 原始序列:(x^{(0)} = [120, 135, 148, 162, 179, 198]),n=6,均为正。
- 一阶累加:(x^{(1)} = [120, 255, 403, 565, 744, 942])。
- 构造 B 与 Y(略),解出: (a_1 , a_2 , b )。
- 特征方程:(r^2 -0.287r +0.0091=0),判别式正,实根 (r_1, r_2)。
- 时间响应函数: (^{(1)}(t) = C_1 e^{0.254t} + C_2 e^{0.033t} + 2057.14)。
- 解得常数 (C_1, C_2) 后计算拟合值。
- 检验:
- 平均相对误差 ≈ 1.2%,属“良”。
- 后验差 C ≈ 0.23,P=1,属“好”。
- 预测: 2021 年 ≈ 219.3,2022 年 ≈ 243.7,2023 年 ≈ 270.1。
常见问题
Q1: GM(2,1) 与 GM(1,1) 有何区别?
A: GM(1,1) 适用于指数增长趋势,GM(2,1) 增加了二阶导数,可模拟增长加速度变化(S 型曲线或拐点)。若数据非线性较强,GM(2,1) 通常拟合更好。
Q2: 为什么程序会平移数据?
A: 灰色模型要求原始数据为正。若含零或负数,模型可能失效。程序自动平移使数据全为正,预测后平移回原尺度。
Q3: 特征根为复数意味着什么?
A: 表示数据呈现周期性振荡衰减或增长。此时预测值可能出现波动,需结合实际情况判断是否合理。
Q4: 数据长度有何要求?
A: 至少 4 个点。理论上越长建模越稳定,但灰色模型适用于少量数据(4~10 个点),过多点可能降低预测精度。
Q5: 如何解读模型精度等级?
A: 结合后验差 C 和小误差概率 P 综合判断。若 C<0.35 且 P>0.95 为“好”,可直接使用预测结果;若“合格”或“勉强合格”,建议修正或结合其他方法;“不合格”则不宜用于决策。
平台功能
GM(2,1) 灰色预测平台提供以下核心功能:
数据输入
- 支持 Excel(.xlsx, .xls)、CSV、TXT 格式。
- 第一列为时间标识,第二列为观测值。
- 自动校验数据完整性、正负性。
参数设置
- 结果保留小数位:1~10 位,默认 4 位。
- 预测长度:未来预测点数(默认 10)。
- 显示中间计算过程:展示级比值、累加序列等。
结果展示
- 预测结果表:历史拟合值 + 未来预测值。
- 模型检验:
- 级比检验(是否需平移)
- 相对误差检验(平均相对误差及等级)
- 后验差检验(C、P 及精度等级)
- 模型参数:a1, a2, b, 特解, 特征根。
- 精度等级说明:对照表。
- 可视化:
- 可高度自定义的预测曲线图(颜色、线型、点型、字体等)。
- 支持实时更新绘图参数。
- AI 智能分析:基于 DeepSeek V4 自动解读模型精度、参数含义,提供预测可靠性建议(每日限 3 次)。
- 多格式导出:Excel 和 HTML 报告,包含所有检验表格和预测结果。
多工作表支持说明
- 当前版本每次仅分析一个工作表(单序列)。若需分析多组时间序列,可分别上传文件或在工作表中切换。
使用建议
- 数据准备:
- 收集至少 4 个连续时间点的观测值,最好 5~8 个。
- 避免缺失值和异常值。
- 若数据波动剧烈,可先进行平滑处理。
- 参数设置:
- 预测长度不宜超过数据长度的 2 倍,避免外推误差过大。
- 保留足够小数位(默认 4 位)以保证精度。
- 模型诊断:
- 首先查看“后验差比值 C”和“小误差概率 P”,判定模型精度是否可用。
- 若相对误差过大(>10%),考虑对数据取对数或差分后再建模。
- 留意特征根是否为复数,复根预测值可能振荡。
- 结果解读:
- 发展系数 a1 和 a2:反映系统惯性。a1 负值表示加速增长,正值表示减速。
- 灰色作用量 b:外部驱动力大小。
- 结合 AI 分析获得更深入解释。
- 报告导出:
- Excel 报告包含汇总表、预测结果表、检验结果表、精度等级说明。
- HTML 报告适合存档和分享,自动渲染带颜色标识的精度等级。
- 故障排除:
- 若提示“数据包含非数值”,检查第二列是否为纯数字。
- 若级比检验不通过且平移后仍不通过,可尝试缩短预测长度或更换模型。
平台界面
灰色预测工具界面预览)
平台界面包含:数据上传区、参数设置区、数据预览、结果选项卡(预测结果、模型检验、模型参数、计算过程)、高度可定制可视化图形和 AI 分析模块
参考文献:
- 邓聚龙. 灰色控制系统[M]. 华中理工大学出版社, 1985.
- Liu S, Yang Y, Forrest J. Grey Data Analysis: Methods, Models and Applications[M]. Springer, 2017.
- 基于 GM(2,1) 模型的中国能源消费预测[J]. 系统工程理论与实践, 2010, 30(6): 1118-1123. ```