Spread of RBFNN for prediction

9 次查看(过去 30 天)
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.

采纳的回答

Greg Heath
Greg Heath 2015-11-7
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

更多回答(0 个)

Community Treasure Hunt

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

Start Hunting!

Translated by