BP神经网络变量筛选MIV算法

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

clear;closeall;clc%输入输出数据data=load('data.txt');p=data(1:end,1:end-1)';%输入数据t=data(1:end,end)';%输出数据[pn,minp,maxp,tn,mint,maxt]=premnmx(p,t)%%变量筛选MIV算法初步实现p=p';[m,n]=size(p);%输入数据p的sizeyy_temp=p;%p_increase为增加10%的矩阵fori=1:np=yy_temp;pX=p(:,i);pa=pX*1.1;p(:,i)=pa;aa=['p_increase'int2str(i)'=p'];eval(aa);end%p_decrease为减少10%的矩阵fori=1:np=yy_temp;pX=p(:,i);pa=pX*0.9;p(:,i)=pa;aa=['p_decrease'int2str(i)'=p'];eval(aa);end%%利用原始函数训练一个正确的神经网络nntwarnoff;p=p';%bp网络建立net=newff(minmax(p),[20,1],{'tansig','purelin'},'trainlm');%初始化BP网络net=init(net);%网络训练参数设置net.trainParam.show=5;%net.trainParam.lr=0.05;%net.trainParam.mc=0.9;net.trainParam.epochs=300;net.trainParam.goal=1e-5;[net,tr]=train(net,p,t);%%变量筛选MIV算法的后续实现(差值计算)%转置后simfori=1:neval(['p_increase',num2str(i),'=transpose(p_increase',num2str(i),')'])endfori=1:neval(['p_decrease',num2str(i),'=transpose(p_decrease',num2str(i),')'])end%result_in为增加10%后的输出result_de为减少10%后的输出fori=1:neval(['result_in',num2str(i),'=sim(net,','p_increase',num2str(i),')'])endfori=1:neval(['result_de',num2str(i),'=sim(net,','p_decrease',num2str(i),')'])endfori=1:neval(['p_increase',num2str(i),'=transpose(result_in',num2str(i),')'])endfori=1:neval(['p_decrease',num2str(i),'=transpose(result_de',num2str(i),')'])end%%MIV_n的值为各个项网络输出的MIV值,MIV被认为是在神经网络中评价变量相关的最好指标之一,其符号代表相关的方向...%绝对值大小代表影响的重要性fori=1:nIV=['result_in',num2str(i),'-result_de',num2str(i)];eval(['MIV_',num2str(i),'=mean(',IV,')'])end

1 / 2
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功