I'm trying to understand z scores and how to use them. As far as I understand, I can use the z transformation to be able to compare different variables with different value range, that were not comparable beforehand; i.e. to get comparable values across different variables, I can use the z transformation.

Now, the data is not normally distributed, so I understand I cannot use the normal z table to check for percentages.

However, as far as I understand, what I could do is to calculate the percentiles myself instead.

There is one thing more that I do not understand. To compare z-scores, someone transformed the data to a new scale (between 1 and 100), so that all variables are on the same scale. The reason being that z scores from variables with a high span result in a high span of the z scores as well, which makes them not-comparable. Is this even true? I don't understand why we would do that (as the values are already comparable?).

The questions I have are:

  1. I can use the z transformation to standardize my variables, so that I can compare different variables. Is this correct?

  2. I can calculate the percentiles myself and the values I get are still comparable across different variables. Is this correct?

  3. Can I transform my z-scores to a new scale, so that all variables use the same scale and what would I expect the median and/or average to be? Important here is that my minimum has to be 1, maximum has to be 100.


One approach is to simply translate each variable to a common scale, say 1 to 100. This will keep the distribution of each variable the same as its original distribution. There is a formula on Stack Exchange. This makes sense if you want the variables to truly be on the same scale. That is, e.g., the lowest value will be 1 and the highest will be 100.

If you wanted the variables to be transformed to a common, normal, distribution, you might use normal scores transformation, such as Blom scores, or the more refined Elfving scores. These will typically result in the distribution to be normal, the mean to be zero, and the standard deviation to be 1.

There's no reason why you can't use z score transformation. It's just a mathematical translation. z-score transformation will result in a mean of 0 and a standard deviation of 1, but it won't force the distribution to be normal.

You are right that both z-score transformation and normal scores transformation won't adhere to having the same range. Overall, the range will increase with the sample size. So for example, for normal scores, a sample size of 10 might lead to a maximum of 1.6, a sample size of 100 to a maximum of 2.5, a sample size of 1000 might lead to a maximum of 3.2.

| cite | improve this answer | |
  • $\begingroup$ "One approach is to simply translate each variable to a common scale, say 1 to 100.": Can this be done with variable that have no upper limit, like profits from a trading system? From one backtest to another, net profits can vary but there is no higher limit to anchor to. $\endgroup$ – Robert Brax Sep 24 '19 at 18:06
  • $\begingroup$ Well, no. You need to know what "maximum" value is going to map to 10. For any given sample, you would know this, and you could redo the conversion for each sample, if that makes sense. Or if you want the conversion to stay the same, you could highball the expected maximum, or accept that future samples might include an 11, 12, or 13. $\endgroup$ – Sal Mangiafico Sep 24 '19 at 22:08

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.