数学建模-灰色预测模型基本原理及其编程实现
2021/8/1 22:07:43
本文主要是介绍数学建模-灰色预测模型基本原理及其编程实现,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
目录
- 一、灰色生成序列
- 1.累加生成
- 举例:
- 累加生成的特点
- 2.累减生成
- 累减生成计算实例
- 3.加权邻值生成
- 二、灰色模型GM(1,1)
- 三、灰色预测的步骤
- 1.第一步
- 2.第二步
- 3.第三步
- 四、案例分析
一、灰色生成序列
1.累加生成
表示第一次累加生成第k个数据
表示原始数列的前i个数据相加
比如说我们的原始数列是[1,3,5,7,9]
第一个数就是1,第二个数是1+3,第三个数是1+3+5
那么数列就是[1,4,9,16,25]
举例:
累加生成的特点
左边是原始数据,很难用来做预测,右边是经过一次累加变成有规律的
我们通过一次累加作图,对后边的某个时间的销量做出预测,然后再通过一次累减,求出真正的预测值
2.累减生成
比如x(1)为[1,4,9,16,25],
x(0)第一个数字和x(1)的相同,第二个等于4-1,第三个等于9-4,第四个等于16-9,第五个等于25-16
x(0)为[1,3,5,7,9]
累减生成计算实例
我们可以从
和
对比看出,把德尔塔t看成1,他们两个格式是一样的,所以累减生成具有求导的性质,
但是他又不是导数,因为导数德尔塔t是趋近于0的,而x(0)(k)中的一直是1
他是灰导数,只是假的,虚拟的,近似的导数
3.加权邻值生成
z(0)(k)这个数列就是邻值除以2,把系数0.5提出去就可以看出来,相当于就是求了个均值
二、灰色模型GM(1,1)
由累减有求导的性质可知d(k)可近似看成dy/dx的形式
一阶微分方程是什么:
z(1)(k)我们可以求出来,因为他就是一个邻值生成数
x(0)(k)是原始数列我们也可以求出来,所以只有a和b是未知数,
两个未知数一般需要两个方程就可以求出来。例如图中我们给出的时刻表,我们在平常解决问
题也不可能只给我们两个点,一般都是多于两个。那么我们就存在多余的方程,因为我们只有
两个未知数,不需要这么多方程。
那么怎么求多余解?
这个时候要用到最小二乘思想
我们引入矩阵向量u就是我们要求的a和b,Y是原始数列,B是邻值生成数
我们光求出这个因为k是一个点一个点的离散的,只能带入已知的数字符合这个式子,不能预测,所以我们要想预测必须要让式子和时间有一个关系,所以就按照上图所说,把连续的k作为t
三、灰色预测的步骤
1.第一步
一定要进行级比检验,不进行级比检验就不满足微分方程建模的理论依据
解题的时候,一定要加上一句话,经过级比检验,本文选择了灰色预测模型。
因为有的数据不能用灰微分方程来构建,如果贸然用灰微分方程来处理,就比较容易出现问题,所以要检验和处理
2.第二步
3.第三步
四、案例分析
解题:
由
可得
这篇关于数学建模-灰色预测模型基本原理及其编程实现的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-12-22项目:远程温湿度检测系统
- 2024-12-21《鸿蒙HarmonyOS应用开发从入门到精通(第2版)》简介
- 2024-12-21后台管理系统开发教程:新手入门全指南
- 2024-12-21后台开发教程:新手入门及实战指南
- 2024-12-21后台综合解决方案教程:新手入门指南
- 2024-12-21接口模块封装教程:新手必备指南
- 2024-12-21请求动作封装教程:新手必看指南
- 2024-12-21RBAC的权限教程:从入门到实践
- 2024-12-21登录鉴权实战:新手入门教程
- 2024-12-21动态权限实战入门指南