m基于GA遗传优化的GRNN广义回归神经网络销售数据预测算法matlab仿真

news2024/11/28 0:33:08

目录

1.算法描述

2.仿真效果预览

3.MATLAB核心程序

4.完整MATLAB


1.算法描述

      随着市场经济的发展和全球化,国内外企业面临着越来越残酷的市场竞争,要想赢得竞争,赢得市场,从事商品销售的单位必须在短时间内,以最低的成本将产品提供给客户,这使得对市场的变化和本身业务的发展前景进行估计。

        制冷压缩机的主要功能是将低压气体提升为高压气体,是制冷设备的核心部件,其广泛应用在空调冰箱等各类电器设备中。因此制冷压缩机有着十分广泛的市场前景,为了获得较为准确的市场预期,我们需要使用已有的理论知识和科学方法,对制冷压缩机的市场发展趋势进行预先估计,从而进一步减少风险,避免企业决策的盲目性。

      遗传算法(Genetic Algorithm)是一类借鉴生物界的进化规律演化而来的随机化搜索方法。它是由美国的J.Holland教授1975年首先提出,其主要特点是直接对结构对象进行操作,不存在求导和函数连续性的限定;具有内在的隐并行性和更好的全局寻优能力;采用概率化的寻优方法,能自动获取和指导优化的搜索空间,自适应地调整搜索方向,不需要确定的规则。遗传算法的这些性质,已被人们广泛地应用于组合优化、机器学习、信号处理、自适应控制和人工生命等领域。它是现代有关智能计算中的关键技术。

       算法的算法流程图如下图所示:

从图1的算法流程图可知,遗传算法,其主要步骤如下所示:

        步骤一、选择问题解的一个编码,给出一个包含N个染色体的初始种群。

        步骤二、对种群中的每一个染色体 ,分别计算其对应的适应函数值。

        步骤三、若停止规则满足,则算法停止,否则计算概率P,并以此概率分布,从中随机选取N个染色体构成一个新的种群。

        步骤四、通过交叉(交叉概率为),得到N个染色体的交叉概率值。

        步骤五、以较小的变异概率,使得某染色体的一个基因发生变异,形成新的群体重复第步骤二步。

       对GRNN网络来说,当确定了学习样本,则相应的网络结构和各神经元之间的连接权值也就确定出来,网络的训练实际上只是确定平滑参数的过程。GRNN网络中的即相当于径向基函数的分布密度SPREAD。一般情况下,SPREAD越大,逼近过程就越平滑,但误差也增大;SPREAD越小,函数逼近越精确,但逼近过程也越不平滑。

      平滑参数的取值会在很大程度上影响着广义回归神经网络的预测性能,根据式子:

2.仿真效果预览

matlab2022a仿真结果如下:

 

 

 

 

3.MATLAB核心程序


data     = [data2010',data2011',data2012'];
data0    = data;
%归一化
Xmin     = min(data);
Xmax     = max(data);
data     = (data-min(data))/(max(data)-min(data));
 
figure;
plot(data(1:12),'b-x');
hold on
plot(data(13:24),'r-s');
hold on
plot(data(25:36),'k-o');
hold on
legend('2010销售量','2011销售量','2012销售量');
xlabel('Times(month)');
ylabel('销售量');
axis([0,12,0,1]);
grid on;
figure;
plot(data0(1:12),'b-x');
hold on
plot(data0(13:24),'r-s');
hold on
plot(data0(25:36),'k-o');
hold on
legend('2010销售量','2011销售量','2012销售量');
xlabel('Times(month)');
ylabel('销售量');
axis([0,12,0,1500]);
grid on;
%%
%使用遗传算法获得最优的平滑参数
MAXGEN = 30;
NIND   = 50;
Chrom  = crtbp(NIND,1*10);
 
%14个变量的区间
%优化变量如下:
%多边形个数N,1~100
Areas  = [0;
          1];
 
FieldD = [rep([10],[1,1]);Areas;rep([0;0;0;0],[1,1])];
 
alpha  = zeros(NIND,1);
alphas = zeros(MAXGEN,1);
 
 
for a=1:1:NIND 
    a
    alpha(a)= 0.5;       
    %计算对应的目标值
    Result = func_obj(alpha(a),data,Xmax,Xmin);
    E      = mean(abs(Result-data0(25:36)));
    J(a,1) = E;
end
Objv  = J;
gen   = 0; 
 
while gen < MAXGEN;   
      gen
      FitnV=ranking(Objv);    
      Selch=select('sus',Chrom,FitnV);    
      Selch=recombin('xovsp', Selch,0.95);   
      Selch=mut( Selch,0.05);   
      phen1=bs2rv(Selch,FieldD);   
      
      for a=1:NIND  
          alpha(a)= phen1(a,1);      
          %计算对应的目标值
          Result  = func_obj(alpha(a),data,Xmax,Xmin);
          E       = mean(abs(Result-data0(25:36)));
          JJ(a,1) = E;
      end 
      Objvsel      = JJ;    
      [Chrom,Objv] = reins(Chrom,Selch,1,1,Objv,Objvsel);   
      gen          = gen + 1; 
      Error(gen)   = mean(JJ);
      alphas(gen)  = mean(alpha);
end 
Result  = func_obj(alphas(end),data,Xmax,Xmin);
%画图
figure;
subplot(121)
plot(alphas,'b-o');
hold on;
xlabel('迭代次数');
ylabel('平滑因子');
axis square;
grid on;
 
subplot(122)
plot(Error,'b-o');
hold on;
xlabel('迭代次数');
ylabel('Error');
axis square;
grid on;
 
load NET.mat
Result  = sim(net,1:12);
Result  = Result*(Xmax-Xmin)+Xmin;
 
figure
plot(data0(25:36),'b-o');
hold on
plot(Result,'r-s');
legend('2012销售量','预测值');
xlabel('Times(month)');
ylabel('销售量');
grid on;
 
figure
S = [data0(25:36);Result]';
bar(S);
legend('2012销售量','预测值');
xlabel('Times(month)');
ylabel('销售量');
save Rgrnn.mat Result
A = (Result-data0(25:36))./Result;
A = 100*A';
A
02_021m

4.完整MATLAB

matlab源码说明_我爱C编程的博客-CSDN博客

V

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/42051.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【图多预警】Pandas绘图函数总结

文章目录简介条形图折线图箱线图直方图饼图散点图和六边形分箱图简介 pandas中提供了plot函数用以绘图&#xff0c;并通过kind参数选择具体的图像类型。 method绘图类别method绘图类别line折线图[默认使用]area堆叠面积图bar纵向条形图barh横向条形图kde概率分布图density概率…

企企通:数字化浪潮下,企业如何利用间接采购策略,实现降本增效?

01、什么是间接采购&#xff1f; 通常&#xff0c;我们将采购分为直接物料和间接物料。 直接采购&#xff1a;用于产品生产及销售的物料与服务的购买&#xff0c;服务于外部客户&#xff0c;也叫生产性采购。如原材料、产品包装、物流服务等。直接采购无论是生产所需的原材料、…

backup (攻防世界)

前言: 这篇文章还是是为了帮助一些 像我这样的菜鸟 找到简单的题解 题目描述 进入网址 解题工具: 浏览器? 问题解析: X老师忘记删除备份文件&#xff0c;他派小宁同学去把备份文件找出来,一起来帮小宁同学吧&#xff01; 先说一下备份文件 科普时间叕到 网站备份 分…

怎样录屏没有外界杂音?3个十分好用的方法,码住收藏!

在互联网时代&#xff0c;使用电脑娱乐、工作逐渐成为了日常生活的一部分。而其中&#xff0c;电脑录屏是经常使用的功能之一。不过对于电脑录屏领域不熟悉的小伙伴就会问了&#xff1a;“为什么录制的视频会有杂音&#xff0c;怎样录屏没有外界杂音&#xff1f;”别着急&#…

对于xshell连接不上虚拟机的一些解答

如果你发现你可以在虚拟机内ping通 之后&#xff0c;在你电脑dos下也可以ping通。 然而&#xff0c;还是发现你的xshell连接不上虚拟机。 这里使用ifconfig 我发现这个地址是在变化的&#xff0c;之前是129&#xff0c;现在是131&#xff0c;所以这样再到xshell&#xff0c;…

【Java面试】谈谈你对HashMap的理解(Map接口)

文章目录说一下 HashMap 的实现原理&#xff1f;HashMap在JDK1.7和JDK1.8中有哪些不同&#xff1f;HashMap的底层实现&#xff1f;HashMap的put方法的具体流程&#xff1f;HashMap的扩容操作是怎么实现的&#xff1f;HashMap是怎么解决哈希冲突的&#xff1f;能否使用任何类作为…

C++ Reference: Standard C++ Library reference: Containers: deque: deque: rbegin

C官网参考链接&#xff1a;https://cplusplus.com/reference/deque/deque/rbegin/ 公有成员函数 <deque> std::deque::rbegin C98 reverse_iterator rbegin(); const_reverse_iterator rbegin() const; C11 reverse_iterator rbegin() noexcept; const_reverse_iterato…

类加载机制和类加载器

文章目录类加载机制为什么需要类加载类加载的时机主动使用——会触发类的初始化被动使用的例子关于接口的初始化类加载详细过程加载链接初始化类加载器类与类加载器,类的实例的关系回顾类的卸载类加载的基本特征类加载器的分类Java虚拟机自带的类加载器用户自定义类加载器Class…

web前端期末大作业 在线电影网页设计与制作 HTML+CSS+JavaScript仿叮当电影网页制作

HTML实例网页代码, 本实例适合于初学HTML的同学。该实例里面有设置了css的样式设置&#xff0c;有div的样式格局&#xff0c;这个实例比较全面&#xff0c;有助于同学的学习,本文将介绍如何通过从头开始设计个人网站并将其转换为代码的过程来实践设计。 文章目录一、网页介绍一…

【Elasticsearch】kibana 操作es文档详细总结

前言 在上一篇&#xff0c;分享了使用kibana如何对索引进行增删改查等操作&#xff0c;事实上在日常开发与运维中&#xff0c;操作索引毕竟是比较谨慎的事情&#xff0c;但是对于索引中文档的增删查改却是随处可见的&#xff0c;es对文档的操作不仅频繁&#xff0c;而且涉及到…

HTML+CSS一个简单的电影网页制作作业,学生个人html静态网页制作成品代码, html电影速递网

HTML实例网页代码, 本实例适合于初学HTML的同学。该实例里面有设置了css的样式设置&#xff0c;有div的样式格局&#xff0c;这个实例比较全面&#xff0c;有助于同学的学习,本文将介绍如何通过从头开始设计个人网站并将其转换为代码的过程来实践设计。 文章目录一、网页介绍一…

细说react源码中的合成事件

&#x1f495; 温馨提示: 下边是对React合成事件的源码阅读&#xff0c;全文有点长&#xff0c;但是&#xff01;如果你真的想知道这不为人知的背后内幕&#xff0c;那一定要耐心看下去&#xff01; 最近在做一个功能&#xff0c;然后不小心踩到了 React 合成事件 的坑&#xf…

【 web网页设计期末课程大作业】基于HTML+CSS+JavaScript智慧路灯综合管理系统

&#x1f389;精彩专栏推荐 &#x1f4ad;文末获取联系 ✍️ 作者简介: 一个热爱把逻辑思维转变为代码的技术博主 &#x1f482; 作者主页: 【主页——&#x1f680;获取更多优质源码】 &#x1f393; web前端期末大作业&#xff1a; 【&#x1f4da;毕设项目精品实战案例 (10…

(附源码)计算机毕业设计Java宠物销售管理系统

项目运行 环境配置&#xff1a; Jdk1.8 Tomcat8.5 Mysql HBuilderX&#xff08;Webstorm也行&#xff09; Eclispe&#xff08;IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持&#xff09;。 项目技术&#xff1a; Springboot mybatis Maven Vue 等等组成&#xff0c;B/…

PGL图学习之基于GNN模型新冠疫苗任务[系列九]

PGL图学习之基于GNN模型新冠疫苗任务[系列九] 项目链接&#xff1a;https://aistudio.baidu.com/aistudio/projectdetail/5123296?contributionType1 # 加载一些需要用到的模块&#xff0c;设置随机数 import json import random import numpy as np import pandas as pdimp…

叠氮荧光染料:Azide-FL-BDP|1379771-95-5|BDP FL N3叠氮

BDP FL叠氮化物是一种类似于BODIPY FL叠氮化物的荧光染料&#xff0c;是一种具有点击化学性质的荧光染料。该荧光团是硼二吡咯甲基类荧光染料的代表&#xff0c;在水环境中具有较高的量子产率。azide系列产品包括可用于进一步连接的azide-acid&#xff1b;azide-amine&#xff…

CDGA|促进数据生产要素在大湾区自由流动,培养数据治理人才先行

在数字经济时代&#xff0c;数据已经成为社会经济发展的关键要素&#xff0c;是世界各国竞相争夺的基础性战略资源。 探究如何在掌握数字经济自主权基础上优化跨境数据流动的路径&#xff0c;需要考虑平衡跨境数据流动所引起的数据主权、数据保护和数据自由流动的利益冲突&…

李铁不用归化球员的真正原因 #小姐姐爱体育#第9部

中国自古以来是人情社会&#xff0c;不论走到哪里都要讲关系&#xff0c;只要你有足够铁的关系&#xff0c;就没有办不了的事情。不过对于中国男足前教练来说&#xff0c;虽然他的名字叫作李铁&#xff0c;但是办的事情却不是关系很铁的所作所为。 在李铁上任国家队总教练之前&…

【学习笔记51】ES6的新增属性Set和Map

一、Set set类似于数组的一种数据结构&#xff0c;内部按照索引排序(但是不能通过索引取值)语法&#xff1a;let s new Set([数据1, 数据2, 数据3])特点: 天生不支持重复数据 let arr [1, 2, 2, 3, 4, 4, 4, 3];let s new Set(arr);console.log(原数组&#xff1a;,arr);con…

为什么要申请实用新型专利呢?

问题一&#xff1a;实用新型专利从申请到拿证需要多长时间&#xff1f; 有三种申请通道。 1、普通申请通道&#xff1a;通常4-6个月就能获得授权&#xff1b; 2、优先审查通道&#xff1a;通常2-6个月就能拿证&#xff1b; 3、快速预审通道&#xff1a;通常不超过7个工作日…