灰色模型学习记录

灰色模型(GM(1,1))学习记录


学习思路:

1.灰色模型的原理
2.灰色模型的求解思路
3.灰色模型的实例分析

一、 灰色模型的建模步骤及原理

1.灰色模型的基本概念
(1)基本定义
灰色系统是介于黑色模型及白色模型之间的,既包含未知信息又包含已知信息同时系统内各因素具有不确定性关系。
(2)一般表达式
GM(a,b):用a阶微分方程去对b个变量进行求解。
(3)基本求解原理
通过对原始数据数列进行处理,生成相关性较强的数据数列,同时建立相关的微分方程,进而预测其未来的发展趋势。
2.灰色模型的建模步骤
(1)把原始数据加工成相关数列
(2)利用生成的相关数列进行求解,得到相应的微分方程参数
(3)利用得到的参数进行求解预测值
(4)对预测值进行相关检验


二、灰色模型的求解思路

1.首先确定一组原始数列数据:
– n为未知数个数在这里插入图片描述

对原始数列进行累加的方式生成具有相关规律的新的数据数列:
在这里插入图片描述
整个序列对应的通式为:
在这里插入图片描述
即每一个对应的数值为原始数据序列对应位置的值以及之前的数值的累加和。
2.同时生成一个新数列的邻均值等权数列
在这里插入图片描述
其中每一个数值就是从第二个数值开始的对应数值于前一个数值的和的一般,对应的通式为:
在这里插入图片描述
3.建立关于t的白化形式一阶一元微分方程GM(1,1)
在这里插入图片描述a,u是我们所要求解的系数,分别为发展系数和灰色作用量,a的有效区间是(-2,2)
4.利用矩阵去求解参数
根据 Y=B*a即下式:
在这里插入图片描述
在这里插入图片描述
求解得到相对应的参数:
在这里插入图片描述
5.得到的参数反代入建立的一阶微分方程中进行求解
解得式子如下列所示:
在这里插入图片描述
利用累减法得到结果:
在这里插入图片描述
6.建立的灰色模型进行精度检验。


三、灰色模型的实际代码


clear
syms a u;
c=[a,u]';%构成矩阵
A=[15 16.1 17.3 18.4 18.7 19.6 19.9 21.3 22.5];%输入数据,可以修改
Ago=cumsum(A);%原始数据一次累加,得到1-AGO序列xi(1)。
n=length(A);%原始数据个数
for k=1:(n-1)
    Z(k)=(Ago(k)+Ago(k+1))/2; %Z(i)为xi(1)的紧邻均值生成序列
end
Yn =A;%Yn为常数项向量
Yn(1)=[]; %从第二个数开始,即x(2),x(3)...
Yn=Yn';
E=[-Z;ones(1,n-1)]';%累加生成数据做均值
c=(E'*E)\(E'*Yn);%利用公式求出a,u
c= c';
a=c(1);%得到a的值
u=c(2);%得到u的值
F=[];
F(1)=A(1);
for k=2:(n)
    F(k)=(A(1)-u/a)/exp(a*(k-1))+u/a;%求出GM(1,1)模型公式
end
G=[];
G(1)=A(1);
for k=2:(n)
    G(k)=F(k)-F(k-1);%两者做差还原原序列,得到预测数据
end
t1=1:n;
t2=1:n;
plot(t1,A,'bo--');
hold on;
plot(t2,G,'r*-'); 
title('预测结果');
legend('真实值','预测值');
%后验差检验
e=A-G;
q=e/A;%相对误差
s1=var(A);
s2=var(e);
c=s2/s1;%方差比
len=length(e);
p=0;  %小误差概率
for i=1:len
    if(abs(e(i))<0.6745*s1)
        p=p+1;
    end
end
p=p/len;

  • 3
    点赞
  • 38
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
粒子群优化灰色模型(Particle Swarm Optimization Grey Model, PSOGM)是通过结合粒子群优化算法和灰色模型建立的一种数学模型。 粒子群优化算法是一种群体智能优化算法,模拟了鸟群或鱼群等生物群体的行为,通过迭代搜索的方式逐渐优化目标函数。而灰色模型是一种特殊的非线性数学模型,主要用于处理时间序列数据。 PSOGM中,粒子群优化算法被应用于灰色模型的参数优化。首先,将需要建模的时间序列数据进行灰度化处理,转化为灰色序列。然后,用粒子群优化算法对灰色模型的参数进行优化,以获得最佳的模型参数。通过不断优化模型参数,可以得到更准确的预测结果。 在Matlab中实现PSOGM,可以使用粒子群优化算法的相关函数,如pso和psoptimset等函数,来进行粒子群优化的参数设置和求解。同时,也需要编写自定义的灰色模型函数,用于计算模型的预测结果和误差评估。 具体步骤为:首先,读取时间序列数据并进行灰度化处理。然后,定义灰色模型函数,包括模型的建立、参数估计和预测等步骤。接着,设置粒子群优化算法的相关参数,如粒子个数、迭代次数等。最后,利用pso函数对灰色模型的参数进行优化,并得到最佳的模型参数。最终,可以利用优化后的模型进行时间序列的预测和分析。 通过粒子群优化灰色模型,可以充分利用粒子群优化算法的全局搜索能力和灰色模型的很好的预测效果,提高模型的准确性和预测能力。同时,在Matlab中实现PSOGM,可以借助丰富的优化函数和数据处理工具,快速实现模型的建立和参数优化。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值