优化的灰色模型

优化的是μ值和C值,若有错误希望大家多多指出

MATLAB 算法实现

clear;clc;
ysh =[0.851,0.66733333,0.603,0.779,0.857666667,0.374666667,0.669,0.813333333,0.252,0.536333333,0.190666667]; %输入的数据
n = length(ysh);
AGO = zeros(1,n);
AGO(1,1) = ysh(1,1);
for k = 2:nAGO(1,k) = AGO(1,k-1) + ysh(1,k);
end                                          %一次累加序列
for i = 1:nP(n) = ysh(n-1)/AGO(n);if P(n) <0.5continueelsedisp('不满足光滑性检验')end
end                                           %光滑性检验
for i = 1:nO(n) = AGO(n-1)/AGO(n);if 1<=O(n)<=1.5continueelsedisp('不满足指数规律检验要求')end
end                                            %指数规律检验
for i = 2:nS(n) = ysh(n)/ysh(n-1);if exp(-2/(n+1))<=S(n)<=exp(-2/(n+1))continueelsedisp('不满足级比检验要求')end
end                                             %级比检验i = 0;
M = []; A = [];C = [];S = [];F = [];
for m = 0:0.001:1        %确定权重系数起始值、递增值和终止值i = i + 1;z = zeros(1,n-1);                            %计算背景值 for k = 1:n - 1z(1,k) = m*AGO(1,k+1) + (1-m)*AGO(1,k);   %邻值生成序列endB = zeros(n-1,2);Y = zeros(n-1,1);                             %计算数据矩阵 B 和数据向量 Y for k = 1:n-1B(k,1) = -z(1,k);B(k,2) = 1;Y(k,1) = ysh(1,k+1);endN = zeros(2,1);N = inv(B'*B)*B'*Y;a = N(1,1);u = N(2,1);                                       %计算a,u值c1 = 0;c2 = 0;for k = 2:nc1 = c1 + ysh(1,k)*exp(-a*(k-1));c2 = c2 + exp(-2*a*(k-1));endc = ((ysh(1,1)-u/a)/(1-exp(a)) + c1)/((1-exp(a))^(-2)+c2);   %计算改进模型参数 CycAGO = zeros(1,n);for k = 0:n-1ycAGO(1,k+1) = c*(1-exp(a))^(-1)*exp(-a*k)+u/a;          %计算预测值一次累加生成(1AGO)endyc = zeros(1,n);for k = 1:n-1yc(1,1) = ycAGO(1,1);yc(1,k+1) = c * exp(-a*k);                              %yc即预测值ends = sum((ysh - yc).^2);                                     %s即离差平方和M(1,i) = m;A(1,i) = a;U(1,i) = u;C(1,i) = c;S(1,i) = s;F(1,i) = m;F(2,i) = s;
end
Y = sortrows(F',2)                                           %依据残差大小进行排序
yc
plot(M,S)                                         %绘制离方平均和与权重系数的关系图

结果
由结果可知,当权重系数为0.500的时候,离差平方和最小,所以选择权重系数为0.500(下面的离差平方和相等的权重系数也可以)

## 若不满足级比检验的要求,则应该对原始数据进行适当的平移:Y(0k) = Y(0k) + C,直到满足要求为止。`clear;clc;

ysh = [0.5997,0.597,0.559,0.542,0.509,0.437,0.409,0.395,0.391,0.393333333,0.371666667]; %输入的数据
n = length(ysh);
AGO = zeros(1,n);
AGO(1,1) = ysh(1,1);
for k = 2:n
AGO(1,k) = AGO(1,k-1) + ysh(1,k);
end

for j = -10:0.01:10
aysh(n) = ysh(n) + j;
aS(n) = aysh(n)/aysh(n-1);
for i = 2:n
if exp(-2/(n+1))<=aS(n)<=exp(-2/(n+1))
i
j
disp(‘满足’)
else
j;
end
end
end

从上述代码的结果中找到适当的平移数C##

选择权重系数为0.500,进行灰色模型的构建,具体代码如下所示:

clear;clc;
ysh = [0.851,0.66733333,0.603,0.779,0.857666667,0.374666667,0.669,0.813333333,0.252,0.536333333,0.190666667];
n = length(ysh);
AGO = zeros(1,n);
AGO(1,1) = ysh(1,1);
for k = 2:nAGO(1,k) = AGO(1,k-1) + ysh(1,k);
end
z = zeros(1,n-1);
for k = 1:n - 1z(1,k) = 0.5*AGO(1,k+1) + 0.5*AGO(1,k);            %权值选择为0.5
end
B = zeros(n-1,2);
Y = zeros(n-1,1);
for k = 1:n-1B(k,1) = -z(1,k);B(k,2) = 1;Y(k,1) = ysh(1,k+1);
end
N = zeros(2,1);
N = inv(B'*B)*B'*Y;
a = N(1,1);
u = N(2,1);
c1 = 0;c2 = 0;
for k = 2:nc1 = c1 + ysh(1,k)*exp(-a*(k-1));c2 = c2 + exp(-2*a*(k-1));
end
c = ((ysh(1,1)-u/a)/(1-exp(a)) + c1)/((1-exp(a))^(-2)+c2);
ycAGO = zeros(1,n);
for k = 0:n-1ycAGO(1,k+1) = c*(1-exp(a))^(-1)*exp(-a*k)+u/a;
end
yc = zeros(1,n);
for k = 1:n-1yc(1,1) = ycAGO(1,1);yc(1,k+1) = c * exp(-a*k);
end
s = sum((ysh - yc).^2);
yc                           %预测值
H = yc(1:11);
%计算残差序列
epsilon = ysh - yc;%法一:相对残差Q检验
%计算相对误差序列
delta = abs(epsilon./ysh);
%计算相对误差Q
disp('相对残差Q检验:')
Q = mean(delta)%法二:方差比C检验
disp('方差比C检验:')
C = std(epsilon, 1)/std(ysh, 1)%法三:小误差概率P检验
S1 = std(ysh, 1);
tmp = find(abs(epsilon - mean(epsilon))< 0.6745 * S1);
disp('小误差概率P检验:')
P = length(tmp)/n%绘制曲线图
t1 = 1:11;
t2 = 1:11;plot(t1, ysh,'ro'); hold on;
plot(t2, yc, ':b*');
xlabel('xx'); ylabel('yy');
legend('实际值','预测值');grid on;

结果如下图所示

可以根据三个检验的值来判断模型的精度,具体如下图所示:


参考文献> 1.杨旭. 改进的灰色预测GM(1,1)模型的MATLAB实现[J]. 江苏科技信息, 2014(7):69-70.
2.组合灰色模型在黑土区玉米产量预测中的应用

回归模型1:优化的灰色模型matlab实现相关推荐

  1. 《灰色系统理论及其应用》第7版 刘思峰 P193 9.3基于Captuo模型分数阶导数的灰色模型

    %<灰色系统理论及其应用>第7版 刘思峰 P193 9.3基于Captuo模型分数阶导数的灰色模型 %实现 ,采用例9.2.1的数据完成分析clear all,clc,close all ...

  2. 等维递推GM(1,1)模型、无偏灰色模型

    (1)等维递推GM(1,1)模型 通常, 全数据GM(1,1)模型是使用固定的 nnn 期数据进行建模,但随着时间的推移,老数据的新息意义将逐步降低,未来的一些抗干扰因素将不断地侵入系统并产生影响,因 ...

  3. 灰色模型 java代码_灰色模型的简单Java实现

    前几天在以前的遗留代码中发现一个问题,就是我生成的一个数据的走势曲线的预测值(用于灰色时间序列预测)总是和老代码里的不一致,具体来说就是:遗留代码里面的预测值的斜率总是为零,相比之下我生成的就比较合理 ...

  4. 【用户增长模型-上篇】从AARRR模型到RARRA模型,互联网到底经历了什么?

    做用户运营的同学必然学过比较经典的AARRR模型,随着互联网环境变迁,这两年RARRA模型也可谓大行其道,今天我们聊聊两个模型的概念,以及从AARRR模型到RARRA模型变迁过程. AARRR模型的概 ...

  5. Stable Diffusion公司新作Gen-1:基于扩散模型的视频合成新模型,加特效杠杠的!...

    点击下方卡片,关注"CVer"公众号 AI/CV重磅干货,第一时间送达 点击进入->[扩散模型]微信技术交流群 转载自:机器之心 | 编辑:蛋酱 从文本生成图像,再到给视频加 ...

  6. 【Matlab优化预测】布谷鸟算法优化灰色模型预测【含源码 1244期】

    一.代码运行视频(哔哩哔哩) [Matlab优化预测]布谷鸟算法优化灰色模型预测[含源码 1244期] 二.matlab版本及参考文献 1 matlab版本 2014a 2 参考文献 [1]屈迟文,傅 ...

  7. 【电力预测】基于matlab GUI灰色模型电力负荷预测【含Matlab源码 769期】

    一.获取代码方式 获取代码方式1: 完整代码已上传我的资源: [电力负荷预测]基于matlab GUI灰色模型电力负荷预测[含Matlab源码 769期] 获取代码方式2: 通过订阅紫极神光博客付费专 ...

  8. MATLAB实现基于遗传算法/引力搜索算法优化新安江水文模型

    MATLAB实现基于遗传算法/引力搜索算法优化新安江水文模型 1 新安江模型 1.1 新安江模型结构 1.2 模型参数种类及意义 2 新安江模型优化参数 2.1 蒸散发参数: KC.WUM.WLM.C ...

  9. 多变量灰色模型matlab程序,多变量灰色预测模型算法的Matlab实现

    !""# 年 ! 月 引 言 自从邓聚龙教授提出灰色系统理论以来,灰色预测模型在许多领域得到了广泛应用.许多的研究工作者对 于动态微分方程模型 $%( &, &)进 ...

  10. 基于粒子群优化的灰色预测方法(Matlab)——附代码

    目录 摘要: 研究背景: GM(1,1)模型 基于PSO的灰色预测算法 运行结果: 本文Matlab代码分享 摘要: 本文对灰色预测算法进行了研究.在GM(1,1)模型中,发展系数a和灰色作用量u是两 ...

最新文章

  1. Python之pip命令指定安装源和版本
  2. Minimal Square CodeForces - 1360A(简单思维和图形判断)
  3. JavaScript常用单词整理总结
  4. Windows 2008上安装VS2008SP1时的怪异错误
  5. 判断java String中是否有汉字的方法
  6. 手机这5个反人类的设计,你能容忍到第几个?
  7. Java自动化测试框架-04 - TestNG之Test Method篇 - (详细教程)
  8. 插值问题(拉格朗日插值、牛顿插值)
  9. 计算机速录学什么,学速录需要哪些能力
  10. Java 读取txt文件生成Word文档
  11. linux命令ftps,Linux下FTP服务器应用之FTPS(FTP+SSL)
  12. 从特斯拉AI团队学到的九条方法论
  13. 激荡2020——四大通信设备商年报分析
  14. 华为p20支持手机云闪付吗_华为哪些手机支持云闪付
  15. 小米路由器R3G 原厂BootLoader,eeprom备份
  16. 重温数据结构(C语言版)(第二版)
  17. Solidworks篮球建模
  18. MES系统——工艺管理篇
  19. npm ERR! code E404 npm ERR! 404 Not Found - GET
  20. Android手机cpu架构详解

热门文章

  1. 雷云驱动2从云服务器,雷蛇云驱动 2 for mac(Mac雷蛇鼠标驱动设置工具)V1.88 官方版...
  2. 解锁虚拟服务器,华为解锁码忘记了可以用云服务器
  3. 华为存储更换故障硬盘
  4. 制作ftl文件通过FreeMarke生成PDF文件(含图片处理)
  5. Android阿里云推送离线通知集成踩坑之路
  6. 轻量级网络——ShuffleNetV2
  7. wifi信号增强android,WiFi信号增强放大器
  8. java+nanomsg(jnanomsg)
  9. 向量的方向余弦公式_方向余弦矩阵(DCM)简介
  10. python 余弦值,Python向量余弦值 Python 求向量的余弦值操作