基于灰色神经网络的预测算法——订单需求预测

       大家好,我是带我去滑雪!

       灰色系统理论的不确定性处理与神经网络的非线性建模相结合,有望更好地处理实际问题中的不确定性和复杂性。本期使用灰色神经网络实现预测冰箱订单需求。

一、问题背景与模型建立

(1)灰色理论

        灰色系统理论(Grey System Theory)是由中国学者李明提出的一种系统科学理论,它主要应用于处理那些信息不完备、不确定性较大、难以精确描述的系统问题。该理论最初应用于经济领域,但后来被拓展到了工程、环境科学、社会科学等多个领域。

       灰色系统中建立的模型称为灰色模型,该模型是以原始数据序列为基础建立微分方程。灰色建模中最有代表的模型是针对时间序列的GM建模,它直接将时间序列数据转化为微分方程,利用系统信息,使抽象的模型量化。进而在缺乏系统特性知识的情况下预测系统输出。

(2)灰色神经网络

       灰色神经网络是指一种基于神经网络框架,同时结合了灰色系统理论的方法。包括使用神经网络进行数据建模和模式识别,同时考虑到灰色系统理论中处理不完整信息的特点。灰色神经网络的学习流程如下:

  • 步骤1:根据训练数据特征初始化网络结构,初始化参数a,b,并根据a,b的值计算u;
  • 步骤2:根据网络权值定义计算权值;
  • 步骤3:对每一个输入序列,计算每层的输出;
  • 步骤4:计算网络预测输出和期望输出的误差,并根据误差调整权值和阈值;
  • 步骤5:判断训练是否结束,若否,返回步骤3。

(3)冰箱订单预测背景

        对于冰箱市场来说,影响需求量的因素很多,比如季节性因素、成本、产品质量、品牌认可度、售后服务、产品结构、产品生命周期、价格波动及销售力度、竞争对手、市场特征、性能价格比等,根据各因素对订单需求影响的大小,从中选取需求趋势、产品市场份额预测、销售价格波动、订单缺货情况和分销商的联合预测情况5个因素作为主要因素预测冰箱订单量。

需求趋势:涉及分析市场对产品或服务的需求如何变化的趋势。这可能包括季节性变化、长期趋势、新兴市场的增长等。了解需求趋势有助于企业调整生产计划、库存策略和市场营销活动,以满足不断变化的市场需求。

产品市场份额预测:预测产品在市场上的份额变化。这包括了解竞争对手的动态、消费者偏好的变化、市场份额的增长或减少等。有效的市场份额预测有助于企业制定竞争策略、定价策略和产品创新战略。

销售价格波动:考察销售价格的波动情况,即产品或服务价格如何随时间变化。这可能受到原材料成本、竞争状况、市场需求等多种因素的影响。了解销售价格波动有助于企业确定合适的定价策略,最大化盈利并保持市场竞争力。

订单缺货情况:分析订单履行过程中产品缺货的情况。这包括了解导致缺货的原因,如生产问题、供应链中断等。解决订单缺货问题对于维护客户满意度和保持业务正常运作至关重要。

和分销商的联合预测情况:与分销商合作,共同预测产品的需求。这有助于建立更为准确的供应链和库存管理系统,减少库存过剩或缺货的风险。有效的合作预测可以提高供应链的敏捷性,同时确保分销商和制造商之间的合作更为紧密。

(4)模型建立

        基于灰色神经网络的冰箱订单预测算法流程:其中,灰色神经网络构建根据输入、输出数据维数确定灰色神经网络结构。由于本案例输入数据为5维,输出数据为1维,所以灰色神经网络结构维1-1-6-1,即LA层有1个节点,输入为时间序列,LB层有1个节点,LC层有6个节点,第2-6个分别输入需求趋势、产品市场份额预测、销售价格波动、订单缺货情况和分销商的联合预测5个因素的归一化数据,输出为预测订单需求。

二、代码实现与结果分析

(1)数据处理

clc
clearload data[n,m]=size(X);
for i=1:ny(i,1)=sum(X(1:i,1));y(i,2)=sum(X(1:i,2));y(i,3)=sum(X(1:i,3));y(i,4)=sum(X(1:i,4));y(i,5)=sum(X(1:i,5));y(i,6)=sum(X(1:i,6));
end

(2)网络初始化

a=0.3+rand(1)/4;
b1=0.3+rand(1)/4;
b2=0.3+rand(1)/4;
b3=0.3+rand(1)/4;
b4=0.3+rand(1)/4;
b5=0.3+rand(1)/4;u1=0.0015;
u2=0.0015;
u3=0.0015;
u4=0.0015;
u5=0.0015;t=1;
w11=a;
w21=-y(1,1);
w22=2*b1/a;
w23=2*b2/a;
w24=2*b3/a;
w25=2*b4/a;
w26=2*b5/a;
w31=1+exp(-a*t);
w32=1+exp(-a*t);
w33=1+exp(-a*t);
w34=1+exp(-a*t);
w35=1+exp(-a*t);
w36=1+exp(-a*t);
theta=(1+exp(-a*t))*(b1*y(1,2)/a+b2*y(1,3)/a+b3*y(1,4)/a+b4*y(1,5)/a+b5*y(1,6)/a-y(1,1));kk=1;

(3)网络学习

for j=1:10
%循环迭代
E(j)=0;
for i=1:30%% 网络输出计算t=i;LB_b=1/(1+exp(-w11*t));   %LB层输出LC_c1=LB_b*w21;           %LC层输出LC_c2=y(i,2)*LB_b*w22;    %LC层输出LC_c3=y(i,3)*LB_b*w23;    %LC层输出LC_c4=y(i,4)*LB_b*w24;    %LC层输出LC_c5=y(i,5)*LB_b*w25;    %LC层输出LC_c6=y(i,6)*LB_b*w26;    %LC层输出 LD_d=w31*LC_c1+w32*LC_c2+w33*LC_c3+w34*LC_c4+w35*LC_c5+w36*LC_c6;    %LD层输出theta=(1+exp(-w11*t))*(w22*y(i,2)/2+w23*y(i,3)/2+w24*y(i,4)/2+w25*y(i,5)/2+w26*y(i,6)/2-y(1,1));   %阀值ym=LD_d-theta;   %网络输出值yc(i)=ym;%% 权值修正error=ym-y(i,1);      %计算误差E(j)=E(j)+abs(error);    %误差求和       error1=error*(1+exp(-w11*t));     %计算误差error2=error*(1+exp(-w11*t));     %计算误差error3=error*(1+exp(-w11*t));error4=error*(1+exp(-w11*t));error5=error*(1+exp(-w11*t));error6=error*(1+exp(-w11*t));error7=(1/(1+exp(-w11*t)))*(1-1/(1+exp(-w11*t)))*(w21*error1+w22*error2+w23*error3+w24*error4+w25*error5+w26*error6);%修改权值w22=w22-u1*error2*LB_b;w23=w23-u2*error3*LB_b;w24=w24-u3*error4*LB_b;w25=w25-u4*error5*LB_b;w26=w26-u5*error6*LB_b;w11=w11+a*t*error7;
end
end  

(4)结果预测

     

for i=31:36t=i;LB_b=1/(1+exp(-w11*t));   %LB层输出LC_c1=LB_b*w21;           %LC层输出LC_c2=y(i,2)*LB_b*w22;    %LC层输出LC_c3=y(i,3)*LB_b*w23;    %LC层输出LC_c4=y(i,4)*LB_b*w24;    %LC层输出LC_c5=y(i,5)*LB_b*w25;LC_c6=y(i,6)*LB_b*w26;LD_d=w31*LC_c1+w32*LC_c2+w33*LC_c3+w34*LC_c4+w35*LC_c5+w36*LC_c6;    %LD层输出theta=(1+exp(-w11*t))*(w22*y(i,2)/2+w23*y(i,3)/2+w24*y(i,4)/2+w25*y(i,5)/2+w26*y(i,6)/2-y(1,1));   %阀值ym=LD_d-theta;   %网络输出值yc(i)=ym;
end
yc=yc*100000;
y(:,1)=y(:,1)*10000;%计算预测的每月需求量
for j=36:-1:2ys(j)=(yc(j)-yc(j-1))/10;
end

 (5)结果分析

      灰色神经网络训练过程:

       可以看出,灰色神经网络收敛速度很快,但是网络很快陷入局部最优,无法进一步修正参数。用训练好的灰色神经网络预测冰箱订单,预测结果:


更多优质内容持续发布中,请移步主页查看。

若有问题可邮箱联系:1736732074@qq.com 

博主的WeChat:TCB1736732074

   点赞+关注,下次不迷路!

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

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

测试Bard和ChatGPT关于双休的法规和推理

Bard是试验品,chatgpt是3.5版的。 首先带着问题,借助网络搜索,从政府官方网站等权威网站进行确认,已知正确答案的情况下,再来印证两个大语言模型的优劣。 想要了解的问题是,在中国,跟法定工作…

达标进度条

1.效果 1. 2.代码与使用 1.自定义组合控件 kotlin import android.annotation.SuppressLint import android.content.Context import android.graphics.drawable.Drawable import android.util.AttributeSet import android.view.Gravity import android.view.LayoutInflat…

进程之理解进程的概念

你必须非常努力,才能看起来毫不费力。文章目录 进程的基本概念描述进程——pcbtest_struct pcb的一种task_struct 内容分类 组织进程查看进程通过系统调用获取进程标示符总结 进程的基本概念 课本概念:进程是一个执行实列,正在执行的程序等。…

C语言——1.入门须知

文章目录 1.C语言的简要概述1.1.C语言类比自然语言1.2.计算机语言的发展1.3.C语言在当今的地位1.4.C语言的优势和劣势1.4.1.C语言的优势1.4.2.C语言的劣势 2.C语言的应用场景3.C语言的学习路径3.1.学习目的3.2.学习路径3.3.学习资源3.3.1.推荐书籍3.3.2.推荐课程3.3.3.推荐题库…

Codeforces Round 910 (Div. 2)(D~F)

1898D - Absolute Beauty 题意:给定长度为n的数组a和b,定义b数组的价值为,现可以交换一次b数组中的任意两个元素,求b数组的价值最大值。 思路:绝对值问题可以放在数轴上去解决。绝对值即为区间长度 观察上述三种情况&…

《微信小程序开发从入门到实战》学习十九

3.3 开发创建投票页面 3.3.7 wx:for列表渲染 接下来为创建的投票页面添加一个“添加选项”的功能。需要用户输入文字,应该使用input组件。头投票的数量是不确定的,面对不确定数量的组件的情况时,可以使用wx:for属性对组件进行列表渲染。 使…

【腾讯云 HAI域探秘】——即时职场生存指南小游戏以及【自行搭建Stable Diffusion图片AI绘制 | ChatGLM2-6B AI进行智能对话 | Pytorch2.0 AI框架视频处理】

利用HAI的ChatGLM2 6B做一个即时对话小游戏 ChatGLM2-6B 是开源中英双语对话模型 ChatGLM-6B 的第二代版本,在保留了初代模型对话流畅、部署门槛较低等众多优秀特性的基础之上,ChatGLM2-6B 引入了更强大的性能、更长的上下文、更高效的推理,…

git使用及常用命令

在初入公司中,若使用的是git管理工具,需要做以下步骤: 1,常用命令在: (1),git config --global user.name xxx(名字) //若不设置 那么下次提交代码时会报错 其次该设置名字和…

【运维篇】Redis常见运维命令详解

文章目录 1. 前言2. 连接管理命令详解2.1 AUTH命令2.2 PING命令2.3 SELECT命令2.4 QUIT命令 3. 服务器管理命令详解3.1 FLUSHALL命令3.2 SAVE/BGSAVE命令3.3 SHUTDOWN命令 4. 安全管理命令详解4.1 CONFIG命令4.1.1 CONFIG SET命令用法4.1.2 CONFIG GET命令用法 4.2 AUTH命令 5.…

六、文件上传漏洞

下面内容部分:参考 一、文件上传漏洞解释 解释:文件上传漏洞一般指的就是用户能够绕过服务器的规则设置将自己的木马程序放置于服务器实现远程shell(例如使用蚁剑远程连接),常见的木马有一句话木马(php) 无需启用sho…

【C++】【Opencv】霍夫直线检测即cv::HoughLinesP()函数详解和示例

cv::HoughLinesP()(函数霍夫直线)功能分析是一种用于检测图像中直线的算法,它基于霍夫变换的原理。通过该算法,我们可以从图像中提取出直线信息,从而对图像进行分析和处理。主要经理边缘检测和霍夫直线处理两个步骤。本…

EDA实验-----4*4矩阵键盘与数码管显示测试(Quartus ‖)

目录 一、实验目的 二、实验仪器设备 三、实验原理 四、实验要求 五、实验步骤 六、实验报告 七、实验过程 1.矩阵键盘按键原理 2.数码管原理 3.分频器代码 4.电路图连接 5.文件烧录 一、实验目的 了解数码管的工作原理;掌握4*4矩阵键盘和数码管显示的编…