How do i denormalize the data after i have used the "normalize" function?
Show older comments
Hi,
I have normalized my data using the formula given and now i need to renormalize it to the original version, not (0,1) or (-1,1). What function do i use? Pls help! i couldnt find a "denormalize" function anywhere!
%Data needs to be normalized
inputs = normalize(inputs);
targets = normalize(targets);
inputs2020 = normalize(inputs2020);
targets2020 = normalize(targets2020);
7 Comments
Star Strider
on 7 Mar 2020
If you used the default 'zscore', you would have to have saved the mean and standard deviation (std) of your data first in order to ‘denormalise’ it. If you did not do that, likely all hope is lost.
It is always appropriate to save all the original data so reversing a potentially irreversible process is not necessary.
CLHE
on 7 Mar 2020
Star Strider
on 7 Mar 2020
Then do not bother with the denormalisation and just use the original data.
CLHE
on 7 Mar 2020
dpb
on 7 Mar 2020
If z=(x-mu)/s, then x=z*s+mu
It can make quite a bit of difference in the result if do not standardize inputs if they (the inputs) are of markedly differing amplitudes. As the "More About" section of thd documenation for normalize says, using it scales the data to a zero mean and variance of 1 for all variables, retaining shape. This can aid quite a lot in numerical calculations where otherwise differences can become insiginficant of one variable to another or apparent importance owing to magnitude alone.
It would seem to have been a convenience for the user if normalize had also the ability to return the needed parameters when called as optional additional outputs or if rescale had the option to convert back from z-scores besides just the linear scaling it does.
I'd never used either; it's so trivial an operation always just code it inline so had to go look up what each actually did as implemented...
Star Strider
on 7 Mar 2020
@CLHE —
The neural network information is new. To denormalise the results of the neural network, multiply them by the standard deviation and then add the mean.
dpb
on 7 Mar 2020
Isn't the output rescaled back to the same units as the original? I've not used the ML NN models/don't have the TB so not sure how they actually work in that regards...
Accepted Answer
More Answers (0)
Categories
Find more on Deep Learning Toolbox 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!