⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 3输入.m

📁 利用人工神经网络进行预测的Matlab程序 其中包括好几种例子
💻 M
字号:

%%%%%%%%%%%%%%%%从EXCEL载入初始数据%%%%%%%%%%%%%%%%
a=[data]';
%%%%%%%%%%%%%%%%变量定义%%%%%%%%%%%%%%%%
L=269 ;    %%%%%股价历史数据总数%%%%%
n=3  ;     %%%%%神经网络输入数据数量%%%%%
m=1  ;     %%%%%神经网络输出数据数量%%%%%
k=L-(n+m)+1;    %%%%%样本个数%%%%%

%%%%%%%%%%%%%%%%%经验公式计算初始隐节点数%%%%%%%%%%%%%%%%%
s=sqrt(0.43*m*n+0.12*n*n+2.54*m+0.77*n+0.35)+0.51;
s=round(s)

%%%%%%%%%%%%%%%%%定义输入向量:p_1%%%%%%%%%%%%%%%%
p_1(k,n)=1;     %K行三列的矩阵
for i=1:k
    p_1(i,:)=a(1,i:(i+n-1));
end
p_2=p_1';
%%%%%%%%%%%%%%%%定义目标向量:t_1%%%%%%%%%%%%%%%%
t_1(1,k)=1;
for i=1:k
    t_1(1,i)=a(1,n+i);
end

%%%%%%%%%%%%%%%%定义测试向量:test_1%%%%%%%%%%%%%%%%
test_1(5,n)=1;
for i=1:5
    test_1(i,:)=a(1,i:i+n-1);
end
test_2=test_1'
%%%%%%%%%%%%%%%%定义测试真值向量:testrue_1%%%%%%%%%%%%%%%%
testrue_1(1,5)=1;
for i=1:5
    testrue_1(1,i)=a(1,n+i);
end
%%%%%%%%%%%%%%%%归一化  界定在[0,1]%%%%%%%%%%%%%%%%


for i=1:n
    p_2(i,:)=(p_2(i,:)-min(a))/(max(a)-min(a)); %%%%%输入数据%%%%%
end

   t_1(1,:)=(t_1(1,:)-min(a))/(max(a)-min(a)); %%%%%目标数据%%%%%

for i=1:n
    test_2(i,:)=(test_2(i,:)-min(a))/(max(a)-min(a)); %%%%%测试数据%%%%%
end

testrue_1(1,:)=(testrue_1(1,:)-min(a))/(max(a)-min(a)); %%%%%测试真值%%%%%



%%%%%%%%%%%%%%%%训练%%%%%%%%%%%%%%%%
for  i=1:n
    threshold(i,1)=0;
   threshold(i,2)=1;
end
       %%%%%确定输入神经元个数及取值范围%%%%%

net=newff(threshold,[4,1],{'tansig','logsig'},'trainlm');
net.trainParam.epochs=1000;  %%%%%训练次数%%%%%
net.trainParam.goal=0.001;   %%%%%训练目标%%%%%
net.trainParam.show=20;
LP.lr=0.8;                   %%%%%学习速率%%%%%

net=train(net,p_2,t_1);       %%%%%训练%%%%%

%%%%%%%%%%%%%%%%仿真预测%%%%%%%%%%%%%%%%
out=sim(net,test_2);      


%%%%%%%%%%%%%%%%反归一化%%%%%%%%%%%%%%%%
for i=1:5
   out_1(i)=out(i)* (max(a)-min(a))+ min(a);
end
out_1

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -