一文速学数模-时序预测模型(一)灰色预测一文详解+Python实例代码_灰色关联度时序预测(1)
前言
一、模型理论
特点
二、模型场景
1.预测种类
2.适用条件
三、建模流程
1.级比校验
2.数据累加和微分方程构造
3.系数求解
4.残差检验与级比偏差检验
四、Python实例实现
总结
前言
博主参与了十几次规模不一的数学建模竞赛,并收获了多项荣誉奖项。在处理数量有限的数据时进行预测或分析其内在规律时,灰度预测方法通常推荐作为首选方案。这种算法以其较高的透明度和易用性著称,在整体操作上也较为简便。当面对变量间关系尚不明确或具有特定位置特征的情况时,在这种情况下尤其表现出色——通过变量筛选减少的方法来揭示变化趋势。作为解决实际问题的有效工具之一,在许多领域都展现出出色的应用前景。然而,在应用过程中我们仍需深入了解其适用场景及优缺点以充分发挥价值——这也将是我为备战美赛期间的重点工作之一:整理总结常见算法及其代码实现方式并分享解题思路与经验总结
一、模型理论
该种模型能够通过有限量的零散数据构建数学模型用于预测。它遵循客观事物发展特征并运用系统的方法对潜在趋势与状况进行刻画与分析从而提出合理的假设与判断。
我们可以将完全未确定的信息体系称为黑箱体系,在这种体系中所有要素均为可预知状态时则被视为白箱体系;而灰箱体系则处于两者之间的过渡状态其中一部分数据是已知的而另一部分数据则是未知的状态系统的内部要素之间存在相互制约的关系
不知道大家是否了解白盒测试和黑盒测试呢?我们可以用一种更加直观的方式来理解这两种概念:将黑盒视为一个完全不可见的背景区域,在这种背景下有一些隐藏的信息或元素等待被发现;而白盒则像是一块透明的背景板,在这里所有的内容都在明明白白地呈现给使用者;至于灰盒,则处于两者之间——它呈现出一种半透明的状态,在这种状态下我们只能大致观察到其中的一些信息或元素,并且可能还存在其他类型的元素或内容尚未被识别。
灰⾊预測通過分析系統各要素發展趨勢間的差異性،並展開關聯性分析來研究系統要素之間相互影響的关系机制,在此基础上對原始數據進行加工處理以提取系統發展規律,并生成具備明確規律性的數據序列;随后根據這些數據序列构建相應的微分⽅程模型⽤於預測事物未來的发展 ⽹势;该⽅法基於等時距觀察數據對象的主要特徵數量信息進行建模並推測某個特定时刻的特徵數值或預計達到某種⽔平所需的時間跨度
特点
- 通过灰色数学将不确定量实现量化。
- 充分运用已知信息探索系统的运动规律。
- 灰色系统理论具有处理贫信息系统的能力。
二、模型场景
1.预测种类
基于灰色理论的时间序列分析;通过构建基于观测数据的灰色模型来推断未来某一时刻的特征量或达到特定特征值的时间点;其核心方法是利用历史数据建立灰 prepaid模型,并通过模型外推实现对未来的定量评估。
针对复杂系统的动态行为特性,构建多个相互关联的灰 prepaid模型;利用这些模型预判异常值出现的时间节点;并通过统计分析方法研究该异常值在预定时空域内的发生规律和分布特点。
针对复杂系统的动态行为特性,构建多个相互关联的灰 prepaid模型;以量化方法分析各变量间协调关系的变化趋势;并通过综合评估确定系统的运行状态和发展轨迹。
将原始数据转化为曲线形态,并在此曲线上识别所有对应特定数值出现的时间点集合;然后通过建立灰 prepaid模型对这些时间点进行外推和分析;从而实现对关键事件发生时间的准确预判和提前预警功能。
2.适用条件
对于仅包含4个数据的数据序列而言(例如仅有4组观测值),灰度模型能够有效地进行外推分析与未来趋势预判,在运用微分方程理论深入挖掘数据内在规律的前提下(即无需明确知道系统的动态机制),建模所需的先验信息相对较少,并且能够实现较高的精度;同时运算过程较为简便且易于检验评估结果的合理性。然而灰度模型主要适用于短期预报场景,并不建议用于长期趋势分析;其适用性主要集中在呈现指数增长趋势的现象上(如人口规模、航班流量、用水需求及工业产值等)。
三、建模流程
总体建模流程可以参考:

1.级比校验
为了确保该组数据满足使用GM(1,1)模型的条件,在应用之前必须对其进行适用性验证以确保其有效性和可靠性。在应用过程中,则需要对已知数据进行验证以确定其可用性。
假设原始数据

:

计算数列的级比

:

如果所有的级比

都落在

内,则数列

可以作为模型GM(1,1)的数据进行灰色预测。如果没通过,对数列

做变化处理,使其落入范围内。即取适当的常数c ,做平移交换:

再进行级比检验,直至通过或者更换模型。
2.数据累加和微分方程构造
对原始数据列

做一次累加(AGO)生成数列

:

其中:

对应的微分方程为:(a为发展系数,u为灰作用量)

3.系数求解
接下来就到了最关键的一部,想要求解上述微分方程:

需要确定参数a和b以使微分方程的解与观测数据最为吻合。在函数表达式中其中参数a以及u尚待确定 而变量t以及x^(1) 的值均为已知 因此此类问题通常采用最小二乘法 通过最小化预测值与实际观测值之间的残差平方和来确定最佳拟合参数。
1、数据是离散的而不是连续的,所以:

写作

2.根据累加生成序列公式可知:

3.由1和2可得到

4.移项得:

左侧为已知数据,则右侧则包含未知变量的函数。此时可通过应用最小二乘法来确定参数a和u的值
对于最小二乘法的求解在我的一篇文章有详细描述:
本指南旨在帮助读者快速掌握最小二乘法在曲线拟合中的应用,并深入解析其工作原理及实现细节。通过本教程的学习, 您将能够独立完成实践案例中的完整代码开发, 并通过附带的项目代码获得直接上手的机会
以上内容涵盖了理论与实践相结合的学习路径, 适合希望深入理解数据建模技术的读者
这里就不再展开描述求解过程,仅对于计算后的结果构成:
数据矩阵

:

数据向量

:

其中

为加权平均值:

计算系数

(最小二乘法):

对前面的微分方程求解可得:

由上面三式可得:(最终结果)

4.残差检验与级比偏差检验
残差检验

:



包含针对初学者提供的基础学习资源和专为资深数据专家设计的深入学习内容,并全面覆盖了95%以上的相关知识点。这些课程经过精心设计与整合,确保了完整的知识体系。
因为数量较多的文件存在,
这里仅此展示了部分目录截图。
不仅包含了大厂面经、学习笔记等资源库,
还包括源码讲义、实战项目等实用内容,
并包括大纲路线和讲解视频等内容,
并将持续更新。
[外链图片转存中…(img-SWotMMac-1714280912130)]
为零基础学习者提供了丰富的入门资料;同时又针对有丰富实践经验的学习者设计了专业进阶课程;这些课程涵盖了大数据核心知识点95%以上;整体上呈现出高度系统化的特征。
因为文件数量较多,在此处仅用于展示部分目录结构。其中包含:大厂面经、学习笔记、源码讲义等核心资源。后续计划持续补充更多内容。
