Привет народ! Не могли бы вы мне помочь пожалуйста?

Я хочу предсказать One Step за пределами исходных данных, используя NARNET. Исходные данные имеют 62000 шагов. Хочу узнать 62001.

Но то, что я получаю для прогнозирования, — это точно такие же существующие шаги в обучающих данных. (Те же N шагов, те же кривые)

Почему сеть не может предсказать следующий будущий шаг за пределами исходных данных? Я использовал Removedelay. (Хочу N+1)

В приложении: исходные данные (EURUSD), статистика производительности. Беллоу, используемый код.

% Solve an Autoregression Time-Series Problem with a NAR Neural Network
% Script generated by Neural Time Series app
% This script assumes this variable is defined:
%   EURUSD - feedback time series.
 T = tonndata(EURUSD,true,false);
 % Choose a Training Function
trainFcn = 'trainbr';  % Bayesian Regularization backpropagation.
 % Create a Nonlinear Autoregressive Network
feedbackDelays = 1:1;
hiddenLayerSize = 30;
net = narnet(feedbackDelays,hiddenLayerSize,'open',trainFcn);
 % Choose Feedback Pre/Post-Processing Functions
net.input.processFcns = {'removeconstantrows','mapminmax'};
net.trainParam.min_grad = 3e-8;
 % Prepare the Data for Training and Simulation
[x,xi,ai,t] = preparets(net,{},{},T);
 % Setup Division of Data for Training, Validation, Testing
net.divideFcn = 'dividetrain';
net.divideMode = 'time';  % Divide up every sample
 % Choose a Performance Function
net.performFcn = 'mse';  % Mean Squared Error
 % Choose Plot Functions
net.plotFcns = {'plotperform','plottrainstate', 'ploterrhist', ...
    'plotregression', 'plotresponse', 'ploterrcorr', 'plotinerrcorr'};
 % Train the Network
[net,tr] = train(net,x,t,xi,ai);
 % Test the Network
y = net(x,xi,ai);
e = gsubtract(t,y);
performance = perform(net,t,y)
 % Step-Ahead Prediction Network
% For some applications it helps to get the prediction a timestep early.
% The original network returns predicted y(t+1) at the same time it is
% given y(t+1). For some applications such as decision making, it would
% help to have predicted y(t+1) once y(t) is available, but before the
% actual y(t+1) occurs. The network can be made to return its output a
% timestep early by removing one delay so that its minimal tap delay is now
% 0 instead of 1. The new network returns the same outputs as the original
% network, but outputs are shifted left one timestep.
 nets = removedelay(net);
nets.name = [net.name ' - Predict One Step Ahead'];
view(nets)
[xs,xis,ais,ts] = preparets(nets,{},{},T);
ys = nets(xs,xis,ais);
stepAheadPerformance = perform(nets,ts,ys)

ОТВЕЧАТЬ

Matlabsolutions.com предоставляет последнюю Помощь по домашним заданиям MatLab, Помощь по заданию MatLab для студентов, инженеров и исследователей в различных отраслях, таких как ECE, EEE, CSE, Mechanical, Civil со 100% выходом. Код Matlab для BE, B.Tech , ME, M.Tech, к.т.н. Ученые со 100% конфиденциальностью гарантированы. Получите проекты MATLAB с исходным кодом для обучения и исследований.

Не используйте команду REMOVEDELAY

It is not necessary
 and
 it is too confusing.

Если вам нужна подробная помощь, используйте один из наборов примеров MATLAB.

help nndatasets

и/или

doc nndatasets.

Почти все, что вам нужно сделать, находится в предыдущем посте. Попробуйте выполнить поиск в ОБА ГРУППЕ НОВОСТЕЙ и ОТВЕТАХ, используя

СМОТРИТЕ ПОЛНЫЙ ОТВЕТ НАЖМИТЕ НА ССЫЛКУ