外观
关于对数变换的一个误解
A Misconception About Log Transform

对数变换(log transform)常被用来消除数据中的偏度(skewness)。然而,它并不总是消除偏度的理想方案。需要特别注意的是,对数变换:
- 并不能消除左偏(left-skewness)。
- 只对右偏(right-skewness)有效,而且仅当数值较小且为正时才起作用。
为了更好地理解,来看下面这个左偏分布(distribution)及其对数变换:

很明显,对数变换并没有消除偏度。不过,现在再来看一个右偏分布:

这一次,它消除了偏度。
这是因为对数函数在数值较小时增长得更快,因此它对较低值的拉伸程度要大于对较高值的拉伸。

更具体地说,在左偏的情况下,尾部在左侧,这部分被拉伸的程度超过了右侧概率质量的主要部分,因此偏度受到的影响不大。

而在右偏的情况下,大部分概率质量都在左侧,这部分被拉伸得更多。


话虽如此,需要注意的是:即使我们面对的是右偏分布,如果数值很大,对数变换也不会有效。

这是因为对数函数的拉伸效应在数值很大时会减弱:
我经常发现 box-cox 变换在消除右偏和左偏方面都相当有效,如下图所示:
