数学建模-灰色预测模型基本原理及其编程实现
作者:互联网
目录
一、灰色生成序列
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.第三步
四、案例分析
解题:
由
可得
标签:累减,灰色,数列,基本原理,编程,建模,累加,邻值,生成 来源: https://blog.csdn.net/weixin_49053303/article/details/119293274