Min-Max normalization for uniform vectors

Hi,
Can anyone have any point on how to normalize a single number, say 1000, into a range of [-1,1]? Or even a uniform vector of say [1000 1000 1000 1000] into the same range as suggested above?
Normalizing a non-uniform data is trivial. Say the data is v=[1 3 5 7] and we normalize input 5, then
(v(3)-(min(v)))*(1-(-1))/(max(v)-min(v))+(-1)
is the formula I should follow. How about, v is uniform, thus generates a zero denominator in the formula?
JD

2 Commenti

If it's uniform (all the same value), do you want the output value to be -1, 0, 1, or something else? It can be only one number, unless of course you just want to ignore it and replace the whole thing by random numbers or some other scheme.
I thought to assign 0 for the uniform vector, however this made me think of what the difference should be between [1000 1000 1000] and [2 2 2] if I scale down them to same number between [-1,1]? If I do that, I loose information.

Accedi per commentare.

Risposte (2)

Jan
Jan il 9 Ott 2016
A normalization requires a range of data. Either this range is predefined or it is determined by the values. A single number or a vector of equal numbers does not have a range. Therefore a normalization requires a predefined knowledge of the possible range of values. Without knowing "min(v)" and "max(v)", a normalization is not possible.

1 Commento

You are right, however from scaling up or down point of view, there should be a way to represent points that are not in a given interval at another one. I suspect a probability distribution does the job.

Accedi per commentare.

KSSV
KSSV il 9 Ott 2016
Other ways of normalizing are:
Divide each element by the norm of the array. doc norm for this.
Divide each element by maximum of the array.

1 Commento

JohnDylon
JohnDylon il 9 Ott 2016
Modificato: JohnDylon il 19 Nov 2016
I thought such as z-score normalization as well, however it also may gives zero variance, which would make normalization broken at some point.

Accedi per commentare.

Categorie

Richiesto:

il 9 Ott 2016

Modificato:

il 19 Nov 2016

Community Treasure Hunt

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

Start Hunting!

Translated by