一、什么时候应该取对数?

  满足以下两个条件之一,可以考虑取对数:

  1. 被解释变量 Y 与核心解释变量 X 数据的数量级差距很大,例如 Y 取值普遍小于 10,X 的取值一般在 100~1000 之间分布,就可以考虑对 X 取对数,也可以更改 X 的单位;
  2. 某个变量取值差异极大,例如家庭的工资收入,最低的为 0,普遍为 2~4 万,最高有上百万,这种情况下为避免极端值的影响,可以考虑取对数,同时为了避免工资收入为 0 的家庭取对数后为缺失值(因为对 0 取对数没有意义),可以 +1 元后再取对对数,可以在避免对收入数据造成较大影响的情况下,保留工资收入为 0 的样本。

  但是,取对数的变量不应该有负数。如果一个变量取负数是合理的,取对数会造成样本的选择性偏差。例如可能由于经营企业等亏损,家庭总收入可能小于 0,这是合理的,如果取对数,会造成使用家庭总收入的对数值进行计量时,家庭总收入小于 0 的样本被忽略。

  ‍

二、如何解释取对数后的偏回归系数?

  伍德里奇的《计量经济学导论》第二章,“对于线性模型中取对数后,如何解释片回归系数”这一问题做了很详细的说明。

  在线性回归中,对数常应用于“常弹性模型”,因此被解释变量 Y 取对数可以被解释为弹性(Y、X 都取对数)或半弹性(仅 Y 取对数)。

  

  

  

  【水平值-水平值】如果 X、Y 都是水平值,此时 Y 随 X 发生数值变化,系数可以解释为 X 的数值变化 1 个单位,Y 平均变化 \(\beta_1\)

  【水平值-对数】如果只有 X 取对数,Y 是水平值,此时 Y 随 X 发生数值变化,系数可以解释为 X 每变化 1%,Y 平均变化 \(\frac {\beta_1} {100}\)

  【对数-水平值】如果只有 Y 取对数,X 是水平值,那就是半弹性,此时 Y 随 X 发生比例变化,也就是说 X 地取值每变化 1 个单位,Y 的取值平均变化 \(100\beta_1\)%;

  【对数-对数】如果 X 和 Y 都取对数,就可以解释为弹性,此时 Y 随 X 发生比例变化,也就是 X 每变化 1%,Y 平均变化 \(\beta_1\)%;

  注意:上述所有结论是对【线性回归】结果的解释。

  ‍


  ‍

  上面的分析里,伍德里奇的表述比较难理解。可以从以下逻辑理解该问题:

  • 在 X 与 Y 都不取对数时,X 与 Y 的关系是数值的变化关系,即 X 的取值变化 1 单位(如取值增大 1),Y 的取值变化 \(β_1\) 个单位(如均值增大 \(β_1\) )。
  • 当取对数时,这种数值变化会转变为比例变化。
    • 如果 X 取对数,那么就是 X 发生比例变化;
    • 如果 Y 取对数,那么就是 Y 发生比例变化。
  • 例如:表 2.3 中的情况 2,X 取对数,Y 不取对数,因此解释该系数是,X 发生比例变化(变化 1%),Y 发生数值变化(变化 \(\frac {\beta_1} {100}\))。

相关链接:

线性回归模型,哪些变量取对数形式?- 知乎

如何解读 stata 对于取对数的数据处理?- 知乎

计量经济圈 - 金融TOP3: log(1+Y)转换可能拒稿! (类)计数变量可以这么干!

连享会 - Stata:为什么计数类变量不宜采用log(1+y)的形式?-ppmlhdfe