Skip to content

关于对数变换的一个误解

A Misconception About Log Transform

ds p401 1

对数变换(log transform)常被用来消除数据中的偏度(skewness)。然而,它并不总是消除偏度的理想方案。需要特别注意的是,对数变换:

  • 并不能消除左偏(left-skewness)。
  • 只对右偏(right-skewness)有效,而且仅当数值较小且为正时才起作用。

为了更好地理解,来看下面这个左偏分布(distribution)及其对数变换:

ds p401 2

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

ds p401 3

这一次,它消除了偏度。

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

ds p402 1

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

ds p402 2

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

ds p402 3

ds p403 1

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

ds p403 2

这是因为对数函数的拉伸效应在数值很大时会减弱:

我经常发现 box-cox 变换在消除右偏和左偏方面都相当有效,如下图所示:

ds p403 3

本站内容仅供学习交流,版权归原作者所有。