matlab进行预测误差过大,神经网络预测误差太大怎么办,如何看预测结果

%% 清空环境变量

clc

clear

%% 训练数据预测数据提取及归一化

%下载输入输出数据

X=[294.14 2394 71.3036 1.38 23.91087 11.24

292.66 2626.218 78.2200492 1.364 25.30087 11.72

293.08 2888.8398 86.04205412 1.298 42.53465        12.22

293.51 3157.501901 94.04396515 1.2233 39.42162 12.73

294.13 3482.724597 103.7304936 1.1483 33.73966 13.84

298.75 3848.41068 114.6221954 0.994        33.8096        23.42

270.51 4337.158836 129.1792142 0.9689 34.68439 24.43

276.92 4887.978009 145.5849744 0.9353 45.46365 25.83

277.07 5440.319523 162.0360765 0.9042 52.51849 27.16

277.22 5940.82892 176.9433956 0.8814 49.14181 28.77

277.83 6457.681036 192.337471 0.7572 49.90456 30.4];

Y=[98.53

113.67

119.36

139.56

144.51

153.07

170.36

186.08

199.47

212.35

215.24];

%从1到2000间随机排序

k=rand(1,11);

[m,n]=sort(k);

%找出训练数据和预测数据

input_train=X(n(1:5),:)'; %130组训练数据,22组预测数据

output_train=Y(n(1:5))';

input_test=X(n(6:11),:)';

output_test=Y(n(6:11))';

%选连样本输入输出数据归一化

[inputn,inputps]=mapminmax(input_train);

[outputn,outputps]=mapminmax(output_train);

%% BP网络训练

% %初始化网络结构

%net=newff(inputn,outputn,10);

net=newff(minmax(inputn),[50 50 1],{'logsig','logsig','purelin'},'trainlm');

net.trainParam.epochs=100;

net.trainParam.lr=0.01;

net.trainParam.goal=0.00001;

%网络训练

net=train(net,inputn,outputn);

%% BP网络预测

%预测数据归一化

inputn_test=mapminmax('apply',input_test,inputps);

%网络预测输出

an=sim(net,inputn_test);

%网络输出反归一化

BPoutput=mapminmax('reverse',an,outputps);

%% 结果分析

figure(1)

plot(BPoutput,':og')

hold on

plot(output_test,'-*');

plot(BPoutput-output_test,'-r');

legend('预测输出','期望输出')

title('BP网络预测输出','fontsize',12)

ylabel('函数输出','fontsize',12)

xlabel('样本','fontsize',12)

%预测误差

error=BPoutput-output_test;

figure(2)

plot(error,'-*')

title('BP网络预测误差','fontsize',12)

ylabel('误差','fontsize',12)

xlabel('样本','fontsize',12)

figure(3)

plot((output_test-BPoutput)./BPoutput,'-*');

title('神经网络预测误差百分比')

errorsum=sum(abs(error))

这样感觉误差小一些

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值