input transformation in backpropagation neural network (prediction task)
1 view (last 30 days)
Show older comments
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???
0 Comments
Accepted Answer
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
0 Comments
More Answers (0)
See Also
Categories
Find more on Sequence and Numeric Feature Data Workflows in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!