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

📄 hzh_nn_ar.m

📁 利用神经网络预测时间序列
💻 M
字号:

close all
%---------- Generate training and test set ----------
clc

%%%% -------------------*******------------------
load sunspot2003
[x,xmin,xmax]=scale(sunspot2003,0,1);  

plot(x);
  xlabel('Year');
  ylabel('Sunspot activity');
  title('Sunspot benchmark data');
%=====================------------------------------
nlag=11;
[x0,train,test]=tsgenf_hzh(x,304,244,1,nlag);

%------------******-----------------
%  W1    : Input-to-hidden layer weights. The matrix dimension is
%          dim(W1) = [(# of hidden units) * (inputs + 1)] (the 1 is due to the bias)
%  W2    : hidden-to-output layer weights.
%           dim(W2) = [(outputs)  *  (# of hidden units + 1)]
rand('seed',0);
  W1         = rand(6,nlag+1)-0.5;  % Weights to hidden layer 权值加减-0。5 +0。5有助于预测的准确性
  W2         = rand(1,7)-0.5;  % Weights to output
  NetDef = ['HHHHHH'       
            'L-----'];     
        
    maxiter = 1000;
    stop_crit = 1e-12;
    lambda=1;
    D=1;%加动量项有助于快速收敛
    trparms=[maxiter stop_crit lambda D];
           
    [W1,W2,PI_vector,iter,lambda]=marq(NetDef,W1,W2,train(:,1:nlag)',train(:,nlag+1)',trparms);
        
    % -----------  Validate Network  -----------
    [Y_sim,E0,PI]=nneval(NetDef,W1,W2,train(:,1:nlag)',train(:,nlag+1)');
    
    %[Y_sim,E,PI,tr,E1,PI1] = nneval_hzh(NetDef,W1,W2,test(:,1:nlag)',test(:,nlag+1)');%增加了递归方式预测输出
    [Y_sim,E] = nneval(NetDef,W1,W2,test(:,1:nlag)',test(:,nlag+1)');
    % -----------  Plot Cost function  -----------
    figure
    semilogy(PI_vector)
    title('Criterion evaluated after each iteration')
    xlabel('Iteration (epoch)')
    ylabel('Criterion')
    grid
    
    sum(E0.*E0)/length(train)
    sum(E.*E)/length(test)
    %sum(E1.*E1)/length(test)

⌨️ 快捷键说明

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