0
$\begingroup$

I have some questions about what is normalization. The obvious way to do that is

x_max = max([max(x), abs(min(x))]);
x=x-mean(x);
x_norm=x./x_max;
  • Can somebody explain how it is done?
  • And could you please explain what is the benefit of this method?
$\endgroup$
  • $\begingroup$ I have heavily rephrased the answer, after a second thought $\endgroup$ – Laurent Duval Apr 3 '17 at 14:05
3
$\begingroup$

[EDIT] After a second read, the proposed normalization looks non standard. Suppose that $m\le x \le M$ ($m$ and $M$ denote the min and max). The scaling factor will be, depending on the situation:

  1. if $m\le M\le 0$: $-m$,
  2. if $m\le 0\le M$, and $|m|\ge M$: $-m$
  3. if $m\le 0\le M$, and $|m|\le M$: $M$
  4. if $0\le m\le M$: $M$

It turns out to be (if I do not err) the largest of the absolute values of $m$ or $M$. A more standard writing, more symmetric, could be:

x_max = max([abs(max(x)), abs(min(x))]);

or directly:

x_max = max(abs(x));

This computes the maximum x_max in absolute amplitude. This corresponds to an $\ell_\infty$ norm dispersion-type. Then you center $x$ around the mean (in some $\ell_2$ sense), then divide by the above maximum x_max.

If $\mu$ denotes the mean, you will end up:

  • for the first two cases, in $[\mu/m-1,\mu/m-M/m]$
  • for the last two cases, in $[m/M-\mu/M,1-\mu/M]$

And there is not a lot more I can say, without more information. If the extrema values are sufficiently symmetric around the mean, with a close-to-$0$ average, the outcomes would lay around the $[-1,1]$ interval, because $M/m \approx -1 $ and $\mu/M$ or $\mu/m$ are close to $0$. But you could have different behaviors: if $m=-10$, $M=1$, $\mu=-9$, you will have x_norm in $[-0.1,1]$. But if the mean is $0.5$, the interval would be $[-1.05,0.05]$.

Variable reduction is something one could take classically as an input to a decorrelating or source separation technique; a PCA for instance, or related tools (SVD, independent component analysis) for instance. But subtracting the central location (here the average) before computing extremas and rescaling a dispersion after that is more standard.

And however, mixing different norms in normalization is not the practice I would recommend. So:

  • subtracting the mean and dividing by the (residual) standard deviation
  • subtracting the median and dividing by the MAD (median absolute deviation)
  • subtracting the midrange and dividing by the max or min of the residual (ie the half range)
  • mapping the values between fixed bounds, such as $[0,1]$

are much more common.

$\endgroup$
  • 1
    $\begingroup$ As an additional note, I would remove the mean first, and then find $M$ and normalize the amplitude. Otherwise, I don't think the signal is guaranteed to be between -1 and 1. $\endgroup$ – MBaz Jan 2 '17 at 17:55

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.