Data got you down? Have you discovered that 20% of your observations account for 80% of the total in your response variable? You probably want to grab a handy log and beat, er, “transform” your data with it. No shame in it, practically everyone has done this. Except some of your values are 0. So you add 1 to everything, making the old 0 the new 0 as well. But you also have some values below -1. Ok, don’t panic, you can just add a larger constant to bring your smallest observation arbitrarily close to 0. Except how close to 0 do you want to be? And bear in mind, the larger the constant the more you compress differences among all of your other observations. So… code all negatives as 0, then add 1? If negative numbers make biological sense, so can you really say -22 and -1 are the same?
- Clear concise formula: IHS(x) = log(x + (x^2 + 1)^0.5)
- Distance between values of x > 1 asymptotically approximate those of log-transformed data as x grows
- Value at 0 is 0!
- Scaling reflects across the y-axis and preserves signs, so
IHS(-x) = -IHS(x)
Possible side-effect consists of reduced inflation of values as they approach 0.