GM(1,1)-马尔可夫预测计算说明

提示:本指南只针对GM(1,1)-马尔可夫预测特有的内容进行描述,关于软件的通用操作流程(如文件上传、参数设置、结果下载等),请查看:通用计算说明

1. 方法概述

GM(1,1)-马尔可夫预测模型,也有论文叫做灰色马尔可夫,它是在传统GM(1,1)灰色预测模型基础上,结合马尔可夫链理论对预测误差进行状态分析和修正的改进模型。

该方法通过分析GM(1,1)预测的相对误差序列,建立马尔可夫状态转移矩阵,利用状态转移概率来修正预测值,从而显著提高预测精度。特别适用于波动较大、误差具有一定规律性的时间序列预测。

2. 模型原理与优势

2.1 基本原理

第一步:GM(1,1)基础预测

  • 对原始数据进行级比检验,必要时进行平移变换
  • 对原始数据进行一次累加生成
  • 构建灰色微分方程:$x^{(0)}(k) + az^{(1)}(k) = b$
  • 利用最小二乘法求解发展系数a和灰色作用量b
  • 得到时间响应公式:$\hat x^{(1)}(k+1) = \left[x^{(0)}(1) - \frac{b}{a}\right]e^{-ak} + \frac{b}{a}$
  • 还原得到GM(1,1)基础预测值:$\hat x^{(0)}(k+1) = (1 - e^{-a})\left[x^{(0)}(1) - \frac{b}{a}\right]e^{-ak}$

第二步:马尔可夫状态分析

  • 计算GM(1,1)预测的相对误差序列(不取绝对值):$\omega^{(0)}(k) = \frac{x^{(0)}(k) - \hat{x}^{(0)}(k)}{x^{(0)}(k)}$
  • 根据误差范围将其划分为不同状态:$S ={S_1, S_2, \ldots, S_m}$,其中 $S_i = [e_i^1, e_i^2]$
  • 统计相邻时刻之间状态转移的次数,建立状态转移次数矩阵
  • 计算状态转移概率矩阵:$P = \begin{bmatrix} p_{11} & p_{12} & \cdots & p_{1m} \ p_{21} & p_{22} & \cdots & p_{2m} \ \vdots & \vdots & \ddots & \vdots \ p_{m1} & p_{m2} & \cdots & p_{mm} \end{bmatrix}$

第三步:马尔可夫修正

  • 基于马尔可夫预测模型:$Q(k) = Q(0)P^k$
  • 对有实际值的预测值进行修正:$\hat{L}^{(0)}(k) = \frac{\hat{x}^{(0)}(k)}{1-0.5(e_j^1 + e_j^2)}$
  • 对未来预测值进行修正:$\hat{L}^{(0)}(n+k) = \frac{\hat{x}^{(0)}(n+k)}{1-0.5(e_j^1 + e_j^2)}$

2.2 模型优势

  • 提高精度:通过马尔可夫修正显著降低预测误差
  • 适应性强:能够处理波动较大的时间序列
  • 误差分析:提供详细的误差状态分析
  • 理论完备:结合灰色系统理论和马尔可夫链理论

3. 适用条件与数据要求

3.1 适用条件

  • 误差规律性:GM(1,1)预测误差具有一定的状态转移规律
  • 数据量要求:建议至少6-8个历史数据点(比纯GM(1,1)要求更高)
  • 波动性数据:特别适合处理有一定波动性的时间序列
  • 状态可分:预测误差能够合理划分为不同状态区间

3.2 与GM(1,1)的比较

方面 GM(1,1) GM(1,1)-马尔可夫
数据要求 4-20个数据点 6-20个数据点
适用场景 单调趋势数据 波动性数据
预测精度 基础精度 修正后精度更高
计算复杂度 较简单 较复杂
误差分析 基本统计 状态转移分析

4. 数据文件格式

GM(1,1)-马尔可夫需要上传包含两个工作表的Excel文件:

4.1 "数据"工作表格式

<div style=“text-align: center;”> <img src=“/guide/figures/gm11-markov/数据.png” width=“180” alt=“数据工作表格式”> </div>

数据工作表要求:

  • 工作表名称必须为"数据"
  • 第一列:时间序列数据(按时间顺序排列)
  • 数据类型:非负数值
  • 数据量:建议6-20个数据点
  • ==数据必须按时间顺序排列,不能有缺失值==

4.2 "状态空间"工作表格式

<div style=“text-align: center;”> <img src=“/guide/figures/gm11-markov/状态空间.png” width=“420” alt=“状态空间工作表格式”> </div>

状态空间工作表要求:

  • 工作表名称必须为"状态空间"
  • 第一列:状态编号
  • 第二列:“相对误差下限(%)”
  • 第三列:“相对误差上限(%)”
  • ==状态区间必须完全覆盖GM(1,1)预测结果与实际值的相对误差范围==

示例表中给出了6个状态空间编号,最小的相对误差为-10%,最大的为10%,则说明GM(1,1)预测结果与实际值的相对误差在[-10%, 10%]范围内,否则无法修正,软件会报错提示。

状态空间设计原则:

  • 状态数量:通常4-6个状态较为合适
  • 区间连续:相邻状态区间应当连续
  • 实际导向:需根据实际GM(1,1)预测结果与实际值的相对误差范围设计状态区间
  • 按需调整:状态空间的设计直接关系到马尔可夫修正的效果,需要根据预测的精度指标要求进行调整。

5. 参数设置

GM(1,1)-马尔可夫包含以下计算和绘图参数:

5.1 基本计算参数

  • 预测长度:设置需要预测的期数(默认10期)
  • 结果保留小数位:设置计算结果的小数位数(1-10位)

5.2 时间设置

  • 时间类型:年份或月份
  • 起始年份:历史数据的起始年份
  • 起始月份:当选择月份类型时的起始月份

5.3 绘图设置

<div style=“text-align: center;”> <img src=“/guide/figures/gm11-markov/绘图设置.png” width=“1200” alt=“绘图设置”> </div>

GM(1,1)-马尔可夫提供丰富的三线对比图表自定义选项:

基本设置:

  • 绘图风格:默认、经典、ggplot、bmh、深色背景、灰度
  • 字体选择:宋体、黑体、微软雅黑、楷体、仿宋
  • 字体大小:修改文字大小

坐标轴设置:

  • x轴标签:自定义x轴标签文字
  • y轴标签:自定义y轴标签文字

数据点样式:

  • 原始值散点样式:星形(*)、圆形(o)、三角形(^)、正方形(s)等
  • GM(1,1)散点样式:星形(*)、圆形(o)、三角形(^)、正方形(s)等
  • 马尔可夫散点样式:星形(*)、圆形(o)、三角形(^)、正方形(s)等
  • 散点大小:修改散点大小

图例设置:

  • 原始值图例:自定义原始值在图例中的名称
  • GM(1,1)图例:自定义GM(1,1)预测值在图例中的名称
  • 马尔可夫图例:自定义马尔可夫修正值在图例中的名称

颜色和线型:

  • 三种数据的颜色:支持颜色选择器自定义
  • 线型选择:实线(-)、虚线(–)、点划线(-.)

6. 计算结果

6.1 计算结果预览

计算结果页面可以预览到以下内容,直观看到部分结果,更多结果可以下载结果文件到本地查看。

<div style=“text-align: center;”> <img src=“/guide/figures/gm11-markov/计算结果.png” width=“1200” alt=“GM11-马尔可夫计算结果”> </div>

  • GM(1,1)级比检验结果:包括原始值、级比值列表,级比检验区间,是否需要平移,平移量
  • GM(1,1)模型参数:发展系数 $a$,灰色作用量 $b$,保留10位小数,供精确验算
  • GM(1,1)相对误差、级比偏差、后验差比和小误差概率检验:检验指标数值和达到要求的程度描述,如达到较高要求等。
  • 灰色马尔可夫相对误差、级比偏差、后验差比和小误差概率检验:检验指标数值和达到要求的程度描述,如达到较高要求等。

==通过对比灰色马尔可夫与GM(1,1)预测结果的精度指标,判断马尔可夫修正是否有效。==

除了计算结果页面可以预览部分结果,在页面下方还可以下载结果文件,结果文件的Excel里包含以下工作表:

6.2 预测结果

主要的预测结果对比表格:

<div style=“text-align: center;”> <img src=“/guide/figures/gm11-markov/预测结果.png” width=“1000” alt=“预测结果表”> </div>

  • 时间:根据时间类型显示的时间序列
  • 原始值:历史观测数据
  • GM11预测值:传统GM(1,1)的预测结果
  • 马尔可夫修正值:经过马尔可夫修正后的最终预测值
  • GM11残差:原始值与GM(1,1)预测值的差值
  • GM11相对误差(%):GM(1,1)预测的相对误差百分比
  • GM11相对误差(不取绝对值)(%):用于状态分析的相对误差
  • 状态:相对误差对应的马尔可夫状态
  • 马尔可夫残差:原始值与马尔可夫修正值的差值
  • 马尔可夫相对误差(%):马尔可夫修正后的相对误差百分比

6.3 级比检验

与GM(1,1)相同的级比检验结果:

<div style=“text-align: center;”> <img src=“/guide/figures/gm11/级比检验.png” width=“280” alt=“级比检验结果”> </div>

6.4 建模过程量

展示GM(1,1)建模的中间计算过程:

<div style=“text-align: center;”> <img src=“/guide/figures/gm11-markov/建模过程量.png” width=“380” alt=“建模过程量”> </div>

6.5 模型参数

模型的关键参数和精度指标对比:

<div style=“text-align: center;”> <img src=“/guide/figures/gm11-markov/模型参数.png” width=“520” alt=“模型参数”> </div>

  • 级比检验结果:级比检验区间、是否需要平移、平移量
  • GM(1,1)基础参数:发展系数a(保留10位小数)、灰色作用量b(保留10位小数)
  • GM(1,1)精度指标:平均相对误差、后验差比C、小误差概率p
  • 马尔可夫精度指标:修正后的平均相对误差、后验差比C、小误差概率p

注意:a、b在模型计算预测值时没有保留小数,如果需要手动本地计算,建议使用10位小数的a、b验算,否则预测结果可能有差别。

6.6 状态转移次数矩阵

记录各状态间的实际转移次数:

<div style=“text-align: center;”> <img src=“/guide/figures/gm11-markov/状态转移次数矩阵.png” width=“600” alt=“状态转移次数矩阵”> </div>

  • 显示从状态 i 转移到状态 j 的实际次数
  • 用于构建状态转移概率矩阵的基础数据

6.7 状态转移概率矩阵

马尔可夫链的核心概率矩阵:

<div style=“text-align: center;”> <img src=“/guide/figures/gm11-markov/状态转移概率矩阵.png” width=“600” alt=“状态转移概率矩阵”> </div>

  • 显示从状态 i 转移到状态 j 的概率
  • 每行概率之和为1
  • 用于修正预测值的依据

6.8 状态向量详情

详细的状态分析和转移过程:

<div style=“text-align: center;”> <img src=“/guide/figures/gm11-markov/状态向量详情.png” width=“1200” alt=“状态向量详情”> </div>

  • 转移步数:到达当前状态所需的转移步数
  • 状态1、2、3、4、5、6概率:各状态的概率分布,组合即可得到状态分布向量,即 [状态1概率,状态2概率,状态3概率,状态4概率,状态5概率,状态6概率]
  • 选择状态:最大概率对应的状态
  • 转移说明:转移过程的详细说明

6.9 预测对比图

系统自动生成三线对比图表:

<div style=“text-align: center;”> <img src=“/guide/figures/gm11-markov/预测图.png” width=“650” alt=“GM11-马尔可夫预测对比图”> </div>

  • 蓝色线(原始值):历史观测数据
  • 橙色线(GM(1,1)预测值):传统GM(1,1)的预测结果
  • 绿色线(马尔可夫修正值):经过马尔可夫修正的最终预测值
  • 图例:清晰区分三种数据类型
  • 对比效果:直观展示马尔可夫修正的改善效果

提醒:预测对比曲线,可以在绘图设置页面右侧预览的图片上右键-图片另存为,也可以在结果文件的【预测图】sheet表里在图片上右键另存为,即可保存到本地使用。

7. 结果解读

7.1 精度评价指标

指标计算公式

平均相对误差: $$\omega^{(0)}(k) = \frac{|x^{(0)}(k) - \hat{x}^{(0)}(k)|}{|x^{(0)}(k)|}$$

平均级比偏差: $$\rho(k)= \left|1-\left(\frac{1-0.5 a}{1+0.5a}\right)\lambda(k)\right|, \quad k=2,3 \cdots,n$$

后验差比C: $$C = \frac{S_2}{S_1}$$

小误差概率p: $$p = P\left{\left|{\varepsilon}^{(0)}(i) - \bar{\varepsilon}^{(0)}\right| < 0.6745S_1\right}$$

相对误差类指标评价标准

指标名称 非常优秀 优秀 良好 一般
平均相对误差 < 5% 5%-10% 10%-20% > 20%
平均级比偏差 < 0.05 0.05-0.1 0.1-0.2 > 0.2

统计检验类指标评价标准

指标名称 合格 勉强 不合格
后验差比C ≤ 0.35 0.35-0.50 0.50-0.65 > 0.65
小误差概率p ≥ 0.95 0.80-0.95 0.70-0.80 < 0.70

7.2 模型参数意义

发展系数 $a$: 反映系统内在的​​发展趋势或速率​​,是序列增长或衰减的固有特性的量化体现。

  • $a > 0$:系统处于衰减状态
  • $a < 0$:系统处于增长状态
  • $|a|$的大小​​ 反映了这种增长或衰减的​​速度​​。$|a|$越大,说明趋势越强劲,变化越快;$|a|$越小,则变化越平缓

灰色作用量 $b$: 代表所有​​外部因素​​(已知和未知)对系统产生的​​综合影响​​的量化,其​​具体数值的绝对值大小​​反映了外部作用的强度

7.3 状态转移分析

状态转移矩阵解读:

  • 分布均匀:表示状态转移随机性较强
  • 集中分布:表示某些状态转移具有明显规律

状态向量分析:

  • 单步转移:正常的马尔可夫转移
  • 多步转移:用于解决多状态同最大概率的情况
  • 转移步数越多:表示状态预测的不确定性越大

7.4 GM(1,1)预测可靠性判断

  1. 级比检验必须通过(软件自动处理)
  2. 平均相对误差 $< 20%$
  3. 后验差比 $C < 0.65$
  4. 小误差概率 $p > 0.70$

7.5 模型选择建议

选择GM(1,1)-马尔可夫的情况:

  1. GM(1,1)预测误差较大(平均相对误差 > 15%)
  2. 数据波动性较强
  3. 误差具有一定的状态转移规律
  4. 对预测精度要求较高

继续使用GM(1,1)的情况:

  1. GM(1,1)预测精度已经很高(平均相对误差 < 10%)
  2. 数据呈现明显的单调趋势
  3. 马尔可夫修正效果不明显

8. 常见问题

8.1 文件格式问题

:上传文件后提示工作表缺失?

:Excel文件必须包含名为"数据"和"状态空间"的两个工作表。请检查:

  • 工作表名称是否完全正确(区分大小写)
  • 是否存在这两个工作表
  • 工作表是否为空

8.2 级比检验问题

:原始数据不满足级比检验能用GM(1,1)吗?

:可以,系统会自动进行平移变换处理:

  • 软件会自动寻找合适的平移量C
  • 对所有原始数据加上常数C,使新数据满足级比检验
  • 预测结果会自动减去C得到真实预测值

8.3 状态空间设计问题

:提示相对误差值无法被状态空间覆盖?

:这表示GM(1,1)的预测误差超出了定义的状态空间范围。解决方法:

  • 扩大状态空间的范围(如[-10%, 10%]扩展为[-20%, 20%])
  • 检查数据质量,排除异常值

8.4 状态转移问题

:提示某个状态没有转移记录?

:这通常发生在以下情况:

  • 状态划分过细,某些状态没有出现
  • 数据量不足,无法形成有效的状态转移
  • 最后一个状态是孤立状态

解决方法:

  • 合并相近的状态区间
  • 增加历史数据量
  • 重新设计状态空间
  • 建议状态数量控制在3-6个

8.5 精度改善问题

:为什么马尔可夫修正后精度没有提升?

:可能的原因:

  • 原始GM(1,1)预测精度已经很高,改善空间有限
  • 状态空间设计不合理
  • 数据不适合马尔可夫修正(如单调性过强)
  • 样本量不足,状态转移规律不明显

8.6 预测长度问题

:马尔可夫修正能预测多长时间?

:虽然理论上可以预测任意长度,但建议:

  • 短期预测(1-3期):效果最佳
  • 中期预测(4-6期):效果良好
  • 长期预测(>6期):不确定性增大
  • 推荐预测长度不超过历史数据量的1/2

9. 应用领域

  • 经济预测:GDP、股价、汇率等波动性经济指标
  • 需求预测:销售额、客流量等具有不确定性的业务指标
  • 工程预测:设备故障率、维护成本等工程管理指标
  • 环境预测:污染物浓度、气候变化等环境监测数据
  • 医疗预测:疫情发展、病例数量等医疗健康数据

10. 模型局限性

  • GM(1,1)-马尔可夫模型适用于单变量时间序列预测
  • 对于强非线性、多周期性数据效果可能有限
  • 状态空间设计对预测效果影响较大
  • 需要足够的历史数据来建立稳定的状态转移规律