input transformation in backpropagation neural network (prediction task)

1 view (last 30 days)
coqui
coqui on 16 Nov 2015
Answered: Greg Heath on 17 Nov 2015
I have used historical prices to predict future price based on backpropagation neural network (fitnet). I have obtained a mse eaquals to 1.27. but when I transformed prices into returns I found a mse=5.266.
in this case, I must maintain the historical prices and no transformed it to returns???

Accepted Answer

Greg Heath
Greg Heath on 17 Nov 2015
Regardless of the original target transformations, I suggest that you normalize MSE by the average target variance MSE00. The latter is the MSE that would result if your output model is as naïve as possible: a constant y = y00 that cannot model target variations. If you minimize the resulting MSE you will find
MSE = MSE00 = mean(var(target',1))
For any reasonable model that attempts to model target variations
0 <= MSE <= MSE00
In terms of the normalized MSE, NMSE:
NMSE = MSE/MSE00
0 <= NMSE <= 1
In terms of the coefficient of determination, Rsquare,
https://en.wikipedia.org/wiki/Coefficient_of_determination
Rsq = 1 - NMSE
0 <= Rsq <= 1
This is interpreted as the fraction of target variance that is "explained" by the model.
I typically use a goal of 0.99 for regression and classification.
For timeseries I use a goal of 0.995 for open-loop designs.
Details can be found in zillions of my posts.
Bottom line: compare the NMSE or Rsq of the two models.
Beware that the best models for each may have different number of hidden nodes and different initial random training weights. Therefore, in each case you will have to find the best of multiple designs.
Hope this helps.
Thank you for formally accepting my answer
Greg

More Answers (0)

Community Treasure Hunt

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

Start Hunting!

Translated by