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.
Best Answer