灰色预测模型学习

灰色预测模型是通过少量、不完全信息,建立的一种预测方法。灰色预测模型所需建模信息少,运算方便,建模精度高,在各种预测领域都有着广泛的应用,是处理小样本预测问题的有效工具。我们把既有已知信息又含有未知信息的系统称为灰色系统。一般表达方式GM(n,x)模型,其含义是:用n阶微分方程对x个变量建立模型。

灰色系统特点

1.用灰色数学处理不确定量,使之量;
2.充分利用已知信息寻求系统运动规律(灰色生成)
3.灰色系统理论能处理贫信息系统

灰色生成

将原始数据列中的数据,按某种要求作数据处理称为生成。对原始数据的生成就是企图从杂乱无章的现象中去发现内在规律。常用的灰色系统生成方式有:累加生成,累减生成,均值生成,级比生成等。
公式推导——https://blog.youkuaiyun.com/weixin_39212776/article/details/82221230
我的理解是假设该值和前后累计项存在固定的关系,利用最小二乘求出参数来表征这种关系。

Matlab代码

例题和数据来源——添加链接描述
在这里插入图片描述

1.级比检验

data = [174 179 183 189 207 234 220.5 256 270 285]; data_divide = data(1,2:end)./data(1,1:end-1); % 计算级比
在这里插入图片描述
由于结果属于(0.8338 1.1994),故可以将数据用作满意的GM(1,1)建模。

2.GM(1,1)建模
data = [174 179 183 189 207 234 220.5 256 270 285];
data_sum = cumsum(data)% 计算累加
data_neighbour = 0.5*data_sum(1:end-1)+0.5*data_sum(2:end)% 等权邻值生成
Y = data(2:end)';
B =[-data_neighbour', ones(size(data_neighbour'))];
U = inv(B'*B)*B'*Y;% 得到a为-1.0568,b为-6.2618
a=U(1);b=U(2);
%通过其白化型公式求解(非齐次线性微分方程求解,高数知识)
i=1:20; %20年
F =exp((1-i).*a).*(data(1)-b/a)+ b/a;
[data(1) F(2:end)-F(1:end-1)] %得到的预测值
3.模型检验
C =[data(1) F(2:end)-F(1:end-1)]; %得到的预测值
E =data - C(1:10) %残差
X = abs(E)./data %相对误差
4.绘制图表
hold on;
plot(i, C,'g-'); 
plot(1:10, data, 'bo');
xlabel('年份'); ylabel('污水量/亿吨');
legend('预测污水排放量','实际污水排放量');
title('长江污水排放量增长曲线');
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值