【数学建模方法概论作业】BP神经网络药品销售预测

一、 问题

神经网络药品销售预测:用预测方法采用前三个月的销售量来预测第四个月的销售量.如用1、2、3月的销售量为输入预测第4个月的销售量,用2、3、4月的销售量预测第5个月的销售量等.
网络结构:输入层有3个结点,隐含层有5个结点,输出层有1个结点.隐含层的激活函数为tansig;输出层的激活函数为logsig。
数据:
月份 1 2 3 4 5 6
销量 2056 2395 2600 2298 1634 1600
月份 7 8 9 10 11 12
销量 1873 1478 1900 1500 2046 1556

二、方法

构造BP神经网络,其中输入层有3个结点,隐含层有5个结点,输出层有1个结点.隐含层的激活函数为tansig;输出层的激活函数为logsig。输入一年共9组数据进行有监督的训练。

三、结果

如图所示,多轮训练后。神经网络拟合结果较理想,我们得出了一个多元线性预测函数。
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

四、 代码

p=[2056 2395 2600 2298 1634 1600 1873 1478 1900 1500 2046 1556];%输入一年的销售量数据
P=[];%训练集
T=[];%期望输出
%构造训练集及期望输出集
for i = 1:9
    a=[p(i),p(i+1),p(i+2)];
    P=[P;a];
    T=[T,p(i+3)];
end
%利用maxmin归一化
pmax=max(P);
pmin=min(P);
[r,c]=size(P);
for i = 1:r
    for k = 1:c
        P(i,k) = (P(i,k)-pmin)/(pmax-pmin);
    end
end
[r,c]=size(T);
pmax=max(pmax,[],2);
pmin=min(pmin,[],2);
for i=1:c
    T(1,i)=(T(1,i)-pmin)/(pmax-pmin);
end
%构建并训练神经网络
net=newff([0 1;0 1;0 1],[5,1],{'tansig','logsig'},'traingd');%第一个参数体现范围,输入数
net.trainParam.epochs=15000;
net.trainParam.goal=0.01;

net=train(net,P',T); 
Y = sim(net,P)
plot(P,T,P,Y,'o')
  • 0
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值