• kyfeeeee
    了解作者
  • matlab
    开发工具
  • 67KB
    文件大小
  • zip
    文件格式
  • 0
    收藏次数
  • 1 积分
    下载积分
  • 2
    下载次数
  • 2020-05-10 17:15
    上传日期
使用指数平滑对数据进行初步处理,在使用bp神经网络进行预测
data_guess.zip
  • data_guess
  • data1
  • data1.xls
    26.5KB
  • data.mat
    240B
  • date1.m
    518B
  • data6
  • data6.xls
    26.5KB
  • data.mat
    238B
  • data6.m
    359B
  • data4
  • data4.m
    359B
  • data4.xls
    26.5KB
  • data.mat
    287B
  • data7
  • data7.m
    357B
  • data7.xls
    26.5KB
  • data.mat
    240B
  • data3
  • data3.m
    357B
  • data3.xls
    26.5KB
  • data.mat
    240B
  • data5
  • data.mat
    241B
  • data5.xls
    26.5KB
  • data5.m
    358B
  • data2
  • data.mat
    240B
  • data2.m
    360B
  • data2.xls
    26.5KB
  • FD.xls
    32KB
  • forecast.m
    1.5KB
  • date.mat
    763B
  • pass.m
    738B
内容介绍
clear; clc; %清空 load date.mat input output %输入数据 k=rand(1,30); [m,n]=sort(k); %随机排序 intrain=input(n(1:27),:)'; outtrain=output(n(1:27)); intest=input(n(28:30),:)'; outtest=output(n(28:30)); %从30组数据中抽出28组作为训练组,2组作为测试组 [inn,inps]=mapminmax(intrain); [outn,outps]=mapminmax(outtrain); net=newff(inn,outn,[5 1],{'tansig' 'purelin'},'trainlm'); net.trainParam.lr=0.1; net.trainParam.epochs=1000; net.trainParam.goal=0.0001; net=train(net,inn,outn); %训练网络 intest=mapminmax('apply',intest,inps); A=sim(net,intest); B=mapminmax('reverse',A,outps); %测试训练网络 figure(1) plot(B,':og') hold on plot(outtest,'-*'); legend('预测输出','期望输出') title('BP网络预测输出','fontsize',12) ylabel('函数输出','fontsize',12) xlabel('样本','fontsize',12) E=B-outtest; figure(3) plot(E,'-*') title('BP网络预测误差','fontsize',12) ylabel('误差','fontsize',12) xlabel('样本','fontsize',12) figure(4) plot((outtest-B)./B,'-*'); title('神经网络预测误差百分比') %输出测试情况 ERRORsum=sum(abs(E)); QQ=abs(outtest-B)./B; %QQ为测试组误差 UP=readmatrix('FD.xls','Sheet','Sheet1','Range','A2:F21');%读取预测数据 UP=UP.';%转置 [UPN,UPPS]=mapminmax(UP);%归一 UP1=sim(net,UPN);%预测 UP2=readmatrix('data7\data7.xls','Sheet','Sheet1','Range','A2:A21');%读取初次预测的结果 UP2=UP2.';%转置 [UP2N,UP2PS]=mapminmax(UP2);%归一 UP3=mapminmax('reverse',UP1,UP2PS);%反归一 xlswrite('FD.xls',UP3.','Sheet1','G2:G21');%输出预测数据
评论
    相关推荐