分享

在统计学中为什么要对变量取对数?

 pgl147258 2015-01-27

【ZenjoYao的回答(35票)】:

对数据做一些变换的目的是它能够让它符合我们所做的假设,使我们能够在已有理论上对其分析。

对数变换(log transformation)是特殊的一种数据变换方式,它可以将一类我们理论上未解决的模型问题转化为已经解决的问题。我将说两类比较有代表性的模型。

  • 理论上:随着自变量的增加,因变量的方差也增大的模型。

先给个很经典的例子,如分析美国每月电力生产数。

左边是正常数据,可以看到随着时间推进,电力生产也变得方差越来越大,即越来越不稳定。这种情况下常有的分析假设经常就不会满足(误差服从独立同分布的正态分布,时间序列要求平稳)。

这必然导致我们寻求一种方式让数据尽量满足假设,让方差恒定,即让波动相对稳定。而这种目的可以通过对数转换做到。

理论上,我们将这类问题抽象成这种模型,即分布的标准差与其均值线性相关

,其中

由定义可推:

,利用log函数的性质:

(当x足够小)

那么

.

那么很容易就知道

.

所以对数变换能够很好地将随着自变量的增加,因变量的方差也增大的模型转化为我们熟知的问题。

  • 经验上:研究数据的增长率分布存在一定规律的模型。
再给个例子:实际研究中,某一研究对象自身性质难以研究,但其增长率是服从一定分布。例如说:

,其中

是每年增长率(不很大)。

我们可以考虑对数变换:

这样,我们又可以将研究数据的增长率分布存在一定规律的模型转化为我们熟知的问题。

在对数转换后,人们又思考了很多其他的转换方式(如Cox-Box转换)。但总而言之,每一种转换方式都是为了让数据符合我们的假设,来对其进行分析。我所说的对数变换原因只是冰山一角,如有不正确的地方还请各位多多指正。

【五雷的回答(4票)】:

To transform ornot to transform? That is the question!

总的说来,对数变换是数据变换的一种常用方式,数据变换的目的在于使数据的呈现方式接近我们所希望的前提假设,从而更好的进行统计推断。但需要注意的是,数据是离散变量时进行对数变换要额外小心!

当然,我们可以追问的更多:

  1. (Why)为什么需要做数据变换?
  • 从直观上讲,是为了更便捷的发现数据之间的关系(可以理解为更好的数据可视化)。举个栗子,下图的左图是各国人均GDP和城市人口数量的关系,可以发现人均GDP是严重左偏的,并且可以预知在回归方程中存在明显的异方差性,但如果对GDP进行对数变换后,可以发现较明显的线性关系。为什么呢?因为我们度量相关性时使用的Pearson相关系数检验的是变量间的线性关系,只有两变量服从不相关的二元正态分布时,Pearson相关系数才会服从标准的t-分布,但如果变量间的关系是非线性的,则两个不独立的变量之间的Pearson相关系数也可以为0.

  • 所以,数据变换后可以更便捷的进行统计推断(t检验、ANOVA或者线性回归分析)。例如通常构造估计量的置信区间时是使用样本均值加减两倍标准差的方式,而这就要求样本均值的分布是渐近正态分布,如果数据呈现出明显的偏度,则此时使用上述统计推断方式就是不适用的;另外,最经典的例子就是回归分析中的异方差性,误差项的方差随着自变量的变化而变化,如果直接进行回归估计残差的方差会随着自变量的变化而变化,如果对变量进行适当变换,此时残差服从同一个正态分布。
2. (Why)为什么可以做数据变换?
  • 这个问题很难,每当做数据变换时,禁不住会想这样原始的数据信息是否经过变换后存在损失?数据变换有没有标准程序原始数据的统计推断又该怎么进行?我也没有完全理清思路,但想通过几个例子抛砖引玉。
  • 先从理论情形下去考虑,例子1,如果一个数是连续的,并且服从对数正态分布

    ,可以很容易知道

    的概率密度函数(PDF)

    ,这样

    ,此时可以看到已知变换后的数据的统计特征可以反过来推导出原始数据的统计特征,不存在数据信息的损失(可以看到对数转换后变量的均值可以直接由样本数据的均值得到,但不进行变化却需要由样本均值方差两方面去推断得到);例子2,如果一个数是离散的,服从负二项分布,概率质量函数(PMF)可以写成

    ,如果对这个变量进行对数变换后,情形又会怎样呢?此时,

    ,假设数据的生成过程服从负二项分布,并且在不同的

    下模拟生成数据,再用不同的方式去估计

    ,可以设计评价指标

    ,可以看到不同的数据变换方式下的估计精度是不同的。可以看到,如果假设数据服从负二项分布,估计的误差很小,如果假设数据对数变换后服从正态分布时会出现较大误差(由于离散分布时数据可以取0,此时对数变换需要用

    的形式,可以发现

    取值并非随意),如果假设数据根号变换后服从正态分布时的误差要小于对数变换。所以,从一个小的随机模拟实验可以看出,数据的变换方式并非随意,并且对数变换也不一定是最好的变换,尤其是离散数据情况下(详见"Do not log-transform count data").

  • 但上述仅仅是在理论前提下数据变换的讨论,但实际应用中呢?理论前提下,即使再复杂总能找到处理的办法,但应用问题却没有标准答案。在我看来,数据变换方法的使用更是一门艺术(先验知识+经验+运气),需要结合应用领域的专门知识。例如,在宏观计量中,许多不平稳的经济数据要进行时间序列建模,就需要进行差分变换或者去除趋势,按照经济增长理论,经济数据应该存在趋势,那对数据应该进行去除趋势变换,但后来实证发现数据进行差分变换后的ACF/PACF图更符合模型的假设,这就要求建模时使用差分变换而非去除趋势变换(从理论上可以证明一个非平稳的变量如果错误进行变换仍然是非平稳的),所以这就存在困惑(貌似说的有点远……)。

至于,怎么去做数据变换(Box-Cox正态性变换还是均匀变换)?(When)什么时候需要做什么样的数据变换?(What)数据变换后的结果是什么,如何解释?当理清上述两个为什么时,我想应该基本就能回答了。当然,我的回答一定还存在问题与遗漏,不当之处还望指正^_^

【徐惟能的回答(4票)】:

一般当研究自变量和应变量的弹性关系的时候,需要取对数,得到的参数解释的是,在其他条件不变的前提下,当自变量变化1%时,因变量(若也取了对数)变化a%。另外,在作线性回归分析的时候,如果变量不满足正态分布,但取了对数以后满足或接近正态分布,则可以取对数以后作回归。

【xiaoxuwu的回答(1票)】:

当变量程指数增长的时候,如果不取对数,就会有大量的信息被堆积在零附近。而取了对数,就可以把这些信息展开来了。

【霍霍大叔的回答(1票)】:

前面各位都解释的很专业,这里我想从另外一个角度来扩展一下,希望可以丰富答案多样性。

------------------------------------------------日常生活和工作中离不开自然计数法,但在一些自然科学和工程计算中,对统计量的描述往往采用对数计数法。从人的心理感知的角度来说,在这些场合用对数形式描述变量是因为它们符合人的心理感受特性。在一定的刺激范围内,当所研究的变量呈指数变化时,人们的心理感受是呈线性变化的,这就是心理学上的韦伯-费希钠定律。它揭示了人的感官对宽广范围刺激的适应性和对微弱刺激的精细分辨,好像人的感受器官是一个对数转换装置一样。生活中的例子大家可以参考一下八度音程的概念和分贝的应用。采用对数描述变量,一是如上面各位所说的变化率的问题。二是用对数能够描述较大的动态范围。三是符合人的心理感知特性。

【知乎用户的回答(0票)】:

想到极大似然估计中的取对数,把连续乘机通过

转换成求和形式。

例如:

取对数之后转化为

拉格朗日乘数法

求得极值得出极大似然估计。

还有在信号处理中,通常在描绘幅频特性曲线的时候,横坐标为 Hz 的时候非常麻烦,有的元件通频带很宽达到 M 级,总不可能在一张纸中分割出1M 个小格子吧。

取对数之后就方便很多了。

========================楼上的公式表达有误===============================

【潘家邦的回答(0票)】:

把一些非线性的东西变成线性的。

【JohnGao的回答(0票)】:

因为你的变量不是线性。要用线性回归,所以要取对数。

原文地址:知乎

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多