MATLAB: Which one can be better for noisy time series: the Autoregressive model or Non-Linear Autoregressive Neural network

forecastneural network

I created a time delay neural network in MATLAB to forecast the coming day's value. My time series is very noisy, but there are repeating patterns, which could be useful for the network.
I compared the results of neural network with Autoregressive model and the prediction of AR(1) and AR(2) are extremly better. Is my script wrong? Is it over fitted?
input = ...; % Normalised data [0-1]
T = tonndata(input,false,false);
trainFcn = 'trainlm'; % Levenberg-Marquardt
% Create a Nonlinear Autoregressive Network
feedbackDelays = 1:2;
hiddenLayerSize = 5;
net = narnet(feedbackDelays,hiddenLayerSize,'open',trainFcn);
net.trainParam.showWindow = false;
net.performFcn = 'mse';
[x,xi,ai,t] = preparets(net,{},{},T);
% Setup Division of Data for Training, Validation, Testing
net.divideFcn = 'divideind';
net.divideParam.trainInd = 1:270;
net.divideParam.testInd = 271:280;
net.divideParam.valInd = 281:300;
for i = 1:50
% Train the Network
[net,tr] = train(net,x,t,xi,ai);
nets = removedelay(net);
[xs,xis,ais,ts] = preparets(nets,{},{},T);
ys = nets(xs,xis,ais);
ys_results(b,i) = ys(end);
end

Best Answer

1. Significant autocorrelation delays were not calculated
2. No reason was given for for H = 5. What is the length of the series?
What is the comparison of No. of training equations to No. of unknown weights?
3. No reason was given for the unusual choice of a 90/6.6/3.3 datadivision.
What is wrong with the 70/15/15 default?
4. The net was not reconfigured (help/doc configure) at the top of the loop.
Therefore, training was just continued with the same net and same weights.
5. The use of removedelay makes no sense, especially for a NARNET with
min(FD) = 1. ( min(FD) = 0 is not allowed for NARNET and NARXNET)
6. Please take a look at my NARNET tutorials.
Hope this helps.
Thank you for formally accepting my answer
Greg