3
$\begingroup$

I have an array of numbers I'd like to normalize. Problem is that I do not want a linear normalization. The numbers represent a ranking of people and I want the values to be spread between 0 and 10 inclusive and it should be easy to climb the lower ranks and hard for the hard ones.

I was thinking about distributing them similar to a logarithmic scale, but have no idea on how to do that.

Any idea

1 Answers 1

6

You can certainly make breakpoints anything you want. For example, if the range of raw scores is $1$ to $1024$, you could take the base $2$ log and get $0$ to $10$. Then to get from $9$ to $10$ you need $512$ added raw points. If your range is $a$ to $b$ you can just do a linear rescaling to get to $1$ to $1024$: $scaled=1+1023\frac{raw-a}{b-a}$, then take the log. Does this help?

  • 1
    Presumably you prescale the minimum to 1. In that case your minimum will now be a little larger than$1$(the $-a$'s in my expression took care of that). But it is small, and if it works for you, great.2011-04-25