how to improve netc performance for prediciting ?
3 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
Shar
el 24 de Mayo de 2016
Editada: Greg Heath
el 25 de Mayo de 2016
I'm dealing with a timeseries problem. I've chosen NARX network to solve the problem. I have three Inputs (Ambient Temp, Total Solar Radiation and Diffuse Solar Radiation) and eight Outputs (8 Temperatures of a collector). I've tried to find the significant Lags by means of cross-correlation and autocorrelation.
Corr=nncorr(Input,Output,10);
ACorr=nncorr(Output,Output,10);
I've plotted Corr and ACorr for finding the significant Lags but the maximum or minimum value are always one point after "maxlag". (for example with my code at 11). what does it mean?
I've trained the Network with data of 10 days. The training function is "trainbr", I've trained the Closedloop Network after training the Network too. I've used "divideblock" as well. For ID and FD I've used by try and error 4 delays. But the network is yet not good for predicting the other 20 days. I've have about 5% error in average . Can anyone give me some advice?
thanks in advance
Arsalan
0 comentarios
Respuesta aceptada
Greg Heath
el 25 de Mayo de 2016
Editada: Greg Heath
el 25 de Mayo de 2016
"I"nput dimension is I=3 and "O"utput dimension is O=8. However, WHAT IS N ??, the length of the total time span? If Ntrn ~ 0.7*N the number of training equations is Ntrneq = Ntrn*O. It is desirable that Ntrneq is not less than the number of parameters that you are trying to estimate Nw = ((NID+1)*I + NFD*O)*H+(H+1)*O.
The only data division option that makes sense for future prediction with constant timesteps is DIVIDEBLOCK!
You might want to start easy using TIMEDELAYNET, NARNET and/or a reduced number of input and output dimensions.
Practice datasets are found using
help nndatasets
doc nndatasets
Please search BOTH the NEWSGROUP & ANSWERS using
greg nncorr narxnet
and see how I estimate the significant correlation lags from the data & Random zero-mean/unit-variance Gaussian Noise of the same length, N.
Consult the posts in reverse chronological order.
HOWEVER, Including the VAL and TEST subsets by using N will optimistically bias your performance results. THEREFORE, ONLY USE THE TRAINING SUBSET OF LENGTH Ntrn to estimate the significant delays!
The form of NNCORR that agrees with the fft of the TRAINING SUBSET POWER SPECTRUM is
crosscorxttrn = nncorr(zxtrn,zttrn,Ntrn-1,'biased');
autocorrttrn = nncorr(zttrn,zttrn,Ntrn-1,'biased');
where
zxtrn = zscore(xtrn',1)';
zttrn = zscore(ttrn',1)';
Are you using TRAINBR because N is not sufficiently large?
Hope this helps.
Greg
0 comentarios
Más respuestas (0)
Ver también
Categorías
Más información sobre Modeling and Prediction with NARX and Time-Delay Networks en Help Center y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!