取对数!取对数?

发布时间:2021-04-30 阅读 19359

Stata连享会   主页 || 视频 || 推文 || 知乎

温馨提示: 定期 清理浏览器缓存,可以获得最佳浏览体验。

New! lianxh 命令发布了:
随时搜索推文、Stata 资源。安装命令如下:
. ssc install lianxh
详情参见帮助文件 (有惊喜):
. help lianxh

课程详情 https://gitee.com/lianxh/Course

课程主页 https://gitee.com/lianxh/Course

⛳ Stata 系列推文:

作者: 秦范 (四川大学)
E-mail: qf13032861571@163.com


目录


1. 引言

变量到底取不取对数?取对数又意味着什么?这看似是一个经验问题。

本文主要依据知乎“在设计计量经济学模型时,怎么判断是否应该对变量取对数?”的讨论展开分析,试图帮助大家判断变量是否需要取对数,并进一步掌握变量取对数后对估计参数的合理解释。

2. Why 取对数?

Source: 以下分析主要根据知乎网友 司马懿在设计计量经济学模型时,怎么判断是否应该对变量取对数? 中的高赞回答整理而得,编排过程中文字略有改动。

(1) 缩小数据之间的绝对差异;避免个别极端值的影响

考虑一个场景,比如二手车交易市场数据中,有奔驰、奔奔,两者价格差异巨大。现在要研究二手车性质(如公里数、新旧程度)对二手车成交价格的影响,并采用线性回归,会出现什么问题呢?

结果是回归出来的参数会被昂贵车的数据所绑架,而便宜车的特性在回归中得不到充分体现。因为奔驰车价格的任意波动可能是整个二手奔奔的价格了。

而取对数后,昂贵车与便宜车原本几十倍的价格差距可能变成了个位数的微小差异,从而使得便宜车二手车性质能在回归模型中体现。

取对数可以视为“不改变原始数据相对大小的单调变换”,取对数本身也不会改变变量间的相关性,因此如果数据中存在个别极端异常值,取对数则是对正常数据的保护,能避免线性回归时参数估计被个别极端异常值绑架。

(参考知乎网友:司马懿

(2) 尽可能满足经典线性模型假定(Classic Linear Model)

  • 避免共线性(参考知乎网友:唐柠

  • 避免异方差,满足同方差基本假定

再次回到研究二手车性质对二手车成交价格的影响这一问题:直接线性回归所得到的估计参数被昂贵车数据所绑架,即昂贵车在决定估计参数时的权重天然增大了。

这在统计上被称为异方差问题,即 var(e|x)σ2,从而违背了 CLM 同方差假定。

而取对数能很大程度上缓解异方差,更有可能通过方差齐性检验。(参考知乎网友:司马懿

  • 尽可能符合正态分布
    • 取对数只是 Box-Cox tansformation(广义幂变换方法,将非正态分布转换为正态分布的一系列方法)的一种最普遍的方法(参考知乎网友:三田园
    • 一些数据的分布经常呈长尾形态,而这种带长尾的斜度为正的数据分布往往在取对数之后近似正态分布(参考知乎网友:司马懿
    • 比如在 Wooldridge 的 Introductory Econometrics (2009, 4e,pp.119) 中提到“通常利用对数转换使变量更符合正态分布假定。比如 ln(Price) 就比 Price 更符合正态分布假定”。

(3) 经济学意义

  • 用线性模型估计非线性关系

比如,考虑教育回报方程,相比于“每多接受一年教育,增加的工资相同”,“每多接受一年教育,工资增长的百分数相同”更合理。具体而言,相比于“每多接受一年教育,小时工资都增加 54 美分”,“每多接受一年教育,工资都增长 8%”更合理。因为后者更能刻画工资增长量随受教育程度的增加而增加的规律,即教育回报递增,受教育程度对工资水平的偏效应随着受教育程度的增加而增加(见 Wooldridge 的 Introductory Econometrics,2009,4e,pp.43)。

  • 直接估计弹性/半弹性

弹性是经济学中一个重要指标,衡量了一个变量的百分比变动会导致另一个变量百分比变动的程度。半弹性,即因变量取对数,自变量不取,表示自变量变动一个单位引起因变量多少的百分比变化。

比如产出对资本和工人劳动时间回归,变量都取对数。(参考知乎网友:司马懿

因此 α1 就表示资本变化 1%,产量变动百分之 100ϵYK%,则 α1 表示弹性。

  • 取对数背后的经济理论模型

    • 上述这个例子中,如果背后假设的是 CD 生产函数

    Y=eα0Kα1Lα2

    其中,eα0 是全要素生产率,在 α0 上加一个扰动,再两端取对数即回归模型,由此,回归方程式里的参数都能对应到模型中的参数,此时,回归从一个 reduced-form 变为了 structural-form。

    由此可以发现,同样一个对数回归的式子,根据背后假设的多寡和强弱,其实是可以有不同解释的(参考知乎网友:司马懿

    • 经济理论模型中,某些变量本身就以对数形式存在,则应取对数。

    比如,劳动经济学中研究教育投资回报率的决定因素,通常以工资对数为被解释变量,这是从 Mincer 模型推导出来的(参考计量经济学服务中心公众号

  • 为更便于研究,可能会取对数。

比如金融学中常说的 log-return,其实是计算 return 的一种方法(参考知乎网友:三田园

return Ri=PiPi1Pi1

log-return logPiPi1 是常见 Ri 的连续时间版,当变化时间  时, PiPi1Pi10

根据 Taylor 展开公式,logPiPi1=log(1+PiPi1Pi1)PiPi1Pi1

使用 log-return logPiPi1 的另一个好处是“可加性”,每个月的收益是每天收益的加总。便于应用中心极限定理和大数定理研究资产的长期走势。

3. How 取对数?

  • 当数据均为正数时,可直接取对数;当数据为非负数据,且有较多 0 时,可ln(x+1),尽可能保留更多的样本;当数据存在负数时,可能需要再看一下数据本身是否存在问题,此时没法直接取对数(参考计量经济学服务中心公众号

  • Stata 中,log(·)ln(·)都以自然对数为底。如果要换底,比如log10(·)表示以 10 为底。

4. 如何解释估计系数?

4.1 取对数意味着什么?

将 log(y) 在 y0 处 Taylor 展开,

可发现,取对数后的变量的变动(变量对数的变动*100)近似等于变量的百分比变动(增长率)。

4.2 对数-水平模型:Y 取对数

4.2.1 β1 的解释,考虑度量单位变换

(1) 简单估计

考虑工资方程

估计系数 β1 的解释可从下式中获知:

即每多接受一年教育,工资将增加 100β1%

NB 变量对数的变动*100 近似变量的百分比变动,上式等式左侧 *100,根据度量单位变换相关知识,解释估计系数 β1 时也要 *100。

(2) 精确估计

如果要精确估计 x 变动一单位,y 变动多少,则考虑

(3) 举例

其中,0.083 意味着每多受一年教育将带来小时工资增长 8.3%;而精确估计下,多受一年教育将带来小时工资增长 8.65%。

4.2.2 当 X 为哑变量时

Source: 以下分析根据知乎网友 颢卿在设计计量经济学模型时,怎么判断是否应该对变量取对数? 中的高赞回答整理而得,编排过程中文字略有改动。

知乎网友颢卿以 Angrist and Pischke (Mostly Harmless Econometics: An Empiricists Companion, 2008) 书中的例子说明了当结果变量取对数,解释变量为虚拟变量时,对估计系数的解释。

现在,我们研究这样一个问题 : 年轻的时候上私立学校到底会不会对之后的劳动回报产生影响?

最简单的思路是观察这样一个回归模型:

其中 Yi 表示 i 参加工作之后的工资水平, Pi 等于 1 意味着年轻的时候读私立学校, 0 意味着读公立学校, ei 则代表了影响工资的经济学家观测不到的其它因素,如个人能力。

上述模型,在“其它变量保持不变的情况下" ,一个年轻时候读私立学校的员工工作之后的收入是:

而一个年轻时候读公立学校的员工参加工作之后的收入是:

模型对于系数 β 的解释是读公立学校和读私立学校给员工 i 的收入带来的潜在影响差:

这意味着系数 β 具备的意义是:

也就是说 : 当找们把输出变量取对数时,所得到的模型估计的结果近似告诉我们相比读公立学校,私立学校对未来收入造成的百分比影响。

4.3 水平-对数模型:X 取对数

一个 X 取对数,Y 为百分数的例子

研究学校规模对学生成绩的影响,估计出如下模型(见 Wooldridge 的 Introductory Econometrics,2009,4e,pp.126-128)。

其中,math10 表示标准化十分制数学测验通过百分比,totcomp 年均教师薪资;staff 平均每千名学生拥有的教职工人数;enroll 表示学校注册人数,用以衡量学校规模。

如何解释-1.29 这一估计系数呢?

NB x 取对数后,要解释为 x 的百分比变动,则意味着解释变量的度量单位乘以 100,则估计系数的解释要除以 100。

可以解释为,学校注册人数每增加 10%,预计数学测验通过率将下降 0.13 个百分点(注意,math10 为百分比,取值 35.3 则表示 35.3%的学生通过测验)。

4.4 对数-对数模型:常弹性模型

弹性模型在这一例子中已经体现,不再赘述。

α1 表示弹性(参考知乎网友:司马懿)。

5. 总结

由此可以发现,变量是否要取对数,最好立足于对经济理论的理解和或经济问题本身,而不是单纯地“操控数据”(知乎网友 颢卿 )。一旦决定取对数,则要注意对于估计系数的解释发生了变化。

6. 参考资料

7. 相关推文

Note:产生如下推文列表的 Stata 命令为:
lianxh 离群值 时间趋势
安装最新版 lianxh 命令:
ssc install lianxh, replace

相关课程

免费公开课

最新课程-直播课

专题 嘉宾 直播/回看视频
最新专题 文本分析、机器学习、效率专题、生存分析等
研究设计 连玉君 我的特斯拉-实证研究设计-幻灯片-
面板模型 连玉君 动态面板模型-幻灯片-
面板模型 连玉君 直击面板数据模型 [免费公开课,2小时]
  • Note: 部分课程的资料,PPT 等可以前往 连享会-直播课 主页查看,下载。

课程主页

课程主页

关于我们

  • Stata连享会 由中山大学连玉君老师团队创办,定期分享实证分析经验。
  • 连享会-主页知乎专栏,400+ 推文,实证分析不再抓狂。直播间 有很多视频课程,可以随时观看。
  • 公众号关键词搜索/回复 功能已经上线。大家可以在公众号左下角点击键盘图标,输入简要关键词,以便快速呈现历史推文,获取工具软件和数据下载。常见关键词:课程, 直播, 视频, 客服, 模型设定, 研究设计, stata, plus, 绘图, 编程, 面板, 论文重现, 可视化, RDD, DID, PSM, 合成控制法

连享会小程序:扫一扫,看推文,看视频……

扫码加入连享会微信群,提问交流更方便

✏ 连享会-常见问题解答:
https://gitee.com/lianxh/Course/wikis

New! lianxh 命令发布了:
随时搜索连享会推文、Stata 资源,安装命令如下:
. ssc install lianxh
使用详情参见帮助文件 (有惊喜):
. help lianxh