univariate time series prediction with neural network
6 visualizzazioni (ultimi 30 giorni)
Mostra commenti meno recenti
hi all, I want to use neural network for predicting a univariate time series. I have a series of 1000 points, I want to use a sliding window (the size of my window is 35 points) to predict next 5 points. I am beginner in neural network so I dont know how to choose my inputs and outputs ( since I have to enter each 35 points for a response of 5 points over all my 1000 points I imagine! ). plz could you help me by giving a detailed programm? I looked at time delay neural network, but I dont know how to choose the number of delays and the number of hidden layers.
thanks
0 Commenti
Risposta accettata
Greg Heath
il 25 Ott 2012
TIMEDELAYNET predicts future outputs from present and past inputs only
NARNET predicts future outputs from past outputs only
NARXNET predicts future outputs from past outputs in addition to present and past inputs.
Choose the delays from the significant values of the input/output crosscorrelation function at NONEGATIVE lags and output autocorrelation function at POSITIVE lags.
Choose the number of hidden nodes, H, by trial and error. The default is H = 10
[x,t] = simplenarx_dataset;
X = zscore(cell2mat(x));
T = zscore(cell2mat(t));
[ I N ] = size(X)
[ O N ] = size(T)
crosscorrXT = nncorr(X,T,N-1);
autocorrT = nncorr(T,T,N-1);
crosscorrXT(1:N-1) = []; % Delete negative delays
autocorrT(1:N-1) = [];
sigthresh95 = 0.21 % Significance threshold
sigcrossind = crosscorrXT( crosscorrXT >= sigthresh95 )
sigautoind = autocorrT( autocorrT >= sigthresh95 )
inputdelays = sigcrossind(sigcrossind <= 35)
feedbackdelays = sigautoind(sigautoind <= 35)
feedbackdelays(1)=[] % Delete zero delay
If your N = 1000 series is relatively stationary (i.e., the local means and variances are relatively constant) you should be able to reduce the window size below 35 (15?).
Hope this helps.
Thank you for formally accepting my answer.
Greg
Più risposte (3)
Greg Heath
il 30 Ott 2012
1. Search the website documentation for sample code and/or demo.
2. Search the command line documentation for sample code.
help narnet
doc narnet
3+4. Search Answers and the Newsgroup using
nar
narnet
5. Try some designs.
6. If you have problems, post the relevant code and complete error messages.
Have fun,
Greg
0 Commenti
Greg Heath
il 16 Nov 2012
If you differenced the original series to reduce nonstationarity, did you check the new series for stationarity? You may have to difference again.
if d(j) = o(j)-o(j-1) then
o(j) = o(j-1) + d(j)
Hope this helps.
Greg
0 Commenti
Vedere anche
Categorie
Scopri di più su Deep Learning Toolbox in Help Center e File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!