用matlab编程实现用RBF神经网络预测客流 100

本人完全是小白。。。请大神帮忙编写个程序。回答的很有帮助的再追加分数,开始最高给100。。。程序实现的就是RBF神经网络的预测。但是不同之处在于我的数据太多,不能像传统程... 本人完全是小白。。。请大神帮忙编写个程序。回答的很有帮助的再追加分数,开始最高给100。。。
程序实现的就是RBF神经网络的预测。但是不同之处在于我的数据太多,不能像传统程序那样,在matlab中直接输入data=(12,13,25,21,13,34……),(22,21,33,12,11,23……),……这样的很多组数据。要从excel中读取。
我将这现在有的672个数据放在了excel表格的一列中,想用前500个数据作为训练用,后172个数据作为检测用。
这500个训练数据是用第1到10个数据作为输入,第11个数据作为输出。然后用第2到11个数据作为输入,第12个数据作为输出,这样的一个规律。。。。(最后应该是有490组测试样本)
后172个数据也用这样的规律组成测试样本。(最后应该是有162组测试样本)

如果这个太难实现。。。那就我一个个输入数据。。。。
假设有这样的数据,第一组的11个数据为:(1,2,3,2,3,4,1,2,3,4,1),前边10个是输入,那个1是输出。(2,3,4,5,3,4,3,1,2,3,6);(2,3,4,2,4,5,6,3,2,1,2);(1,3,3,8,4,5,3,3,2,2,2);(4,3,4,1,4,2,6,3,1,1,2);(1,3,6,3,4,5,3,1,2,1,5);(7,3,1,2,4,3,6,3,1,1,3);(2,3,5,2,1,5,6,2,4,1,2);(1,3,4,1,4,1,6,1,2,1,2);(2,3,3,2,6,5,2,3,1,1,2)。这十组是训练样本。
测试样本就用(1,3,4,1,4,1,6,1,2,1,2)。
需要出基本的几个图,比如预测出来的数值和现实的数值放在一张图上对比。

当然最好是用上边的那种不用重新输入的方法。。。。谢谢!!!下边是之前一个人编写的有点类似于这个的程序,我看不懂,留作参考吧。。。。
展开
 我来答
liujiaoatcd2
2014-01-20
知道答主
回答量:19
采纳率:0%
帮助的人:14.1万
展开全部
%% 清空环境变量
clc
clear
close all
%%
a=load('walk1.txt');%读取数据 % xlsread(‘ ‘);读取execl文件
data=a(1:500,5);%样本数据和测试数据
order=5;%输入数据个数
snum=200;%训练样本数
step=3;%预测步数
input=data(1:snum);
output=data(1+order+step:snum+order+step);
delay=200;%训练样本与测试样本间时延
input1=data(1+delay:snum+delay);
output1=date(1+order+delay+step:snum+order+delay+step);
input_train=zeros(snum,order);input_test=zeros(snum,order);
for i=1:snum
input_train(i,:)=data(i:i+order-1);
input_test(i,:)=data(i+delay:i+delay+order-1);
end
%% RBF神经网络预测
%% 网络建立和训练
net=newrb(input_train',output',0.001,100,300,25);
% net=newrbe(input_train',output',100);
% net=newgrnn(input_train',output',10);
%% 网络验证
ty=sim(net,input_train');
errR=abs(output-ty');
ty1=sim(net,input_test');
errR1=abs(output1-ty1');

figure
plot(1:snum,output1,'r*-');
hold on;
plot(1:snum,ty1','kx-');
title('三步RBF');
xlabel('数据序号');
ylabel('数据值');
legend('实际值','预测值');

figure
subplot(2,1,1);
stem(1:snum,errR1,'r*');
title('三步RBF');
xlabel('数据序号');
ylabel('绝对误差值');
rbfmean = mean(errR1)
subplot(2,1,2);
stem(1:snum,
abs(errR1./output1),'r*');
title('三步RBF');
xlabel('数据序号');
ylabel('绝对误差率');
rbfpmean = mean(abs(errR1./output1))*100%%
自己对着改一下。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
houshannanhai
2014-09-02
知道答主
回答量:22
采纳率:0%
帮助的人:5.4万
展开全部
可否介绍一下的你数据的意义
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
Dawzeng
2014-01-22
知道答主
回答量:41
采纳率:0%
帮助的人:13.2万
展开全部
其实核心很简单,你要用到神经网络的训练函数,百度好多的
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式