Spread of RBFNN for prediction

4 views (last 30 days)
Bass
Bass on 5 Oct 2014
Answered: Greg Heath on 7 Nov 2015
Hi, I am trying to use newrb on a set of data inputs to predict the next day's closing stock price. I have read in the neural network toolbox user guide that spread should be large enough for generalisation but should not be too large. Can I then check, how do I know what value of spread is large enough?
I have tested values of spread from 1 to 60 in most cases for the stocks (with MSE goal of 0.01 or 0.001). In general, the generalisation to unseen data is better as spread increases. But how do I know when is a good spread to stop and when is it considered too large?
Also, does MSE goal of 0.01 or 0.001 make sense for my targets/inputs which has been normalised to [-1,1] using mapminmax?
my inputs are 570*9 (456 for training, 114 for testing) matrix and output targets are 570*1. I have normalised both input and targets by mapminmax();
and used
net=newrb(inputs,targets,goal,spread) to train the network on training data (1:456)
after which i used y=net(inputs) on the testing inputs (457:570)
and mapminmax('reverse') to map the outputs back to original range.

Accepted Answer

Greg Heath
Greg Heath on 7 Nov 2015
Use timeseries NARX for prediction.
help narxnet
doc narxnet
Determine input delays via the significant lags of the input/target crosscorrelation function and feedback delays via the significant lags of the target autocorrelation function.
Search the NEWGROUP and ANSWERS using
narxnet nncorr
Hope this helps.
Greg

More Answers (0)

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!