取对数:如何应对零值和负数

发布时间:2023-06-10 阅读 1398

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

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

New! lianxh 命令发布了:
随时搜索推文、Stata 资源。安装:
. ssc install lianxh
详情参见帮助文件 (有惊喜):
. help lianxh
连享会新命令:cnssc, ihelp, rdbalance, gitee, installpkg

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

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

⛳ Stata 系列推文:

PDF下载 - 推文合集

作者:毕英睿 (中央财经大学)
邮箱judybi2017@163.com

编者按:本文主要摘译自下文,特此致谢!
Source:Bellégo C, Benatia D, Pape L. Dealing with logs and zeros in regression models[J]. arXiv preprint arXiv:2203.11820, 2022. -PDF-


目录


1. 背景

对数线性和对数模型是实证研究中最常用的方法之一。对数线性回归在研究中被用于许多目的,例如:

  • 参数估计值是一个弹性或一个半弹性;
  • 对数可以使理论模型线性化,例如 Cobb-Douglas 生产函数;
  • 对数可以使异方差在某些情况下消失;
  • 数据有时自然地与对数线性关系相关;
  • 它为高度分散的结果提供了一个凹形转换。

通过调查 2016-2020 年 AER (American Economic Review) 发表的论文,我们发现近 40% 的实证论文使用了对数规格,其中 36% 的论文面临对数为零的问题。针对对数为零的问题,在实践中采用了几种解决方案:

  • 大多数论文选择保留零观测值,并有以下几种方案:
    • 给因变量增加一个正值 (48%);
    • 使用泊松估计 (35%);
    • 应用反双曲正弦 (IHS) 变换 (15%)。
  • 31% 的论文中出现了丢弃非正观测值的情况。

2. 主流解决方案

五种已确定的“零对数”解决方案:

  • 在所有观测值中加入一个正的常数;
  • 丢弃样本中的非正值观测值;
  • 使用响应变量的转换,如 IHS,类似于对数函数;
  • 泊松模型在许多情况下可以很好地处理零的存在;
  • 混合模型 (如 Tobit 或 Heckit) 也提供了一个解决方案,将非正观测值作为一个样本选择问题进行建模。

2.1 流行方法 log(Y+1)

最流行的方案是在 Y 上加入正的常数 Δ,使得对数转换 Yi^=Yi+Δ>0

局限性Δ 的选择是随意的,可能会使估计值和标准误差任意偏离。此外,偏差的大小将取决于手头的数据。这表明添加最小的常数不一定是最“无害”的选择。加入常数项的对数模型如式 (1) 所示:

误差项 ωi=log(Ui+Δexp(Xiβ)) 在结构上与 Xi 相关,即使 Ui 和 Xi 在统计上是独立的,也会产生内生性偏差。尽管 Δ 的选择很重要,但 exp(Xiβ) 可以任意地接近于零,这可能导致很大的偏差。因此,log(Y+1) 估计量一般来说是不一致的。此外,标准误差可能会太小,因为转化为 log(Δ) 的零观测值会人为地减少转化后因变量的方差。

参考文献:Silva J M C S, Tenreyro S. The log of gravity[J]. The Review of Economics and statistics, 2006, 88(4): 641-658. -PDF-

2.2 删除零值

最简单的解决方案是删除零观测值,然后直接用 OLS 估计 log(Yi)=Xiβ+εi。从形式上看,丢弃零值会引入选择偏差,除非 E[ε|ξ=1,X] 是一个常数。同样地,我们也可以放弃零点,假设 E[exp(ε)|ξ=1,X] 为常数,估计 Yi=exp(Xiβ)+ϵi。这样做是为了排除零点所起的任何作用,并产生了与环境有关的后果。

局限性:这样做是不可取的,它将改变研究的范围,把重点缩小到 Yi>0 的观察上。

2.3 其他转换

另一种方法是依靠适用于非正值的类对数转换。最受欢迎的是 IHS 或相关的变换。它包括将 Yi 转化为 Yi~=log(θYi+θ2Yi2+1)/θ,并且使用 OLS 估计 Yi~=Xiβ+ωi。如果基础模型写的是对数,那么这种转换可能会产生有偏差的估计。几乎所有的经济应用都将 θ 设置为 1,这样 Y~ 在大的 Y 值中就会趋向于 log(2Y)

这种转换主要是在应用对数函数之前,在响应变量上增加一个正的观察特定值。它与对数函数的相似性可能导致被互换处理。然而,对于 Yi 较小的数值,这些转换会有不同的表现。此外,系数的解释并不简单,潜在的弹性有可能是有偏的或未定义的。因此,在应用凹形转换为主要目标的情况下,它是令人满意的,但与 log(Y+1) 相比,它有类似的局限性。

2.4 泊松模型

经验上的对应方法产生了一个与泊松伪对数似然估计相当的解决方案 (Gourieroux 等,1984)。这种方法在计算上是有效的,因为它是一个定义明确的凹形问题。这种方法被 Santos Silva 和 Tenreyro (2006) 推广到引力模型中,一般被称为 PPML。它是基于 Yi=exp(Xiβ)+ϵi 中模型的加性表示,相当于在没有调节器的情况下 E(Ui|Xi)=1,但是导致不同的目标标准。

关于泊松模型的另一个重要考虑是异方差所起的作用。Santos Silva 和 Tenreyro (2006) 得出结论:在异方差的情况下,用 OLS 估计的对数线性化模型的参数会导致对真实弹性的估计出现偏差,并建议使用 PPML 作为解决方案。这个结果并不像它看起来那样普遍。它只在泊松限制条件 E[U|X]=1 下有效。

局限性:然而,泊松模型有几个缺点:

  • 不能保证解决方案的存在;
  • 可能表现出收敛问题;
  • 如果对数尺度误差是重尾分布 (heavy-tailed) 的,它们可能非常不精确;
  • 在有许多固定效应的情况下,它们可能难以估计;
  • 工具变量需要更强的假设,并可能大大增加计算的复杂性;
  • 当包括双向固定效应时,它们在标准误差中存在附带参数问题,而当控制三向固定效应时,在点估计中存在附带参数问题。

参考文献:

  • Cohn J B, Liu Z, Wardlaw M I. Count (and count-like) data in finance[J]. Journal of Financial Economics, 2022, 146(2): 529-551. -PDF-
  • Silva J M C S, Tenreyro S. The log of gravity[J]. The Review of Economics and statistics, 2006, 88(4): 641-658. -PDF-
  • Silva J M C S, Tenreyro S. Poisson: Some convergence issues[J]. The Stata Journal, 2011, 11(2): 207-212. -PDF-

2.5 混合模型和 Heckman 校正

混合模型包括明确地对选择进行建模,Yi=0 或 Yi>0,在选定的分布假设下使用潜变量方法。这种方法很少用于处理零的对数,但在 gravity 方程的上下文中得到了依赖 (Eaton 和 Tamura,1994)。Heckman 的 (Heckit) 更正 (Heckman,1979) 适用如下。

在模型 Yi=exp(Xiβ+εi)ξi 提供的设置中,如果 Xiγ+νi>0,则假定 ξi=1,否则 ξi=0Xiγ+νi 因此被称为“选择方程”。关键识别限制是 εi 和 νi 是双变量正态分布,因此 E[εi|Ui>0,X] 允许封闭形式的表达式 E[εi|νi>Xiγ,X]=λφ(Xiγ)Φ(Xiγ),其中 φ(·) 和 Φ(·) 分别表示高斯概率密度和分布函数。λ 和 γ 是可估计的参数。估计需要两个步骤。

  • 首先,以 Xi 为条件的 Yi>0 的概率模型产生 γ^
  • 其次,具有附加项的对数线性回归,由式 (2) 表示。

可以使用 t 检验来检验校正项的相关性,以检查 λ~ 是否与零不同。注意,在选择方程中没有工具变量的情况下,这种方法在很大程度上依赖于分布假设。

参考文献:

  • Eaton J, Tamura A. Bilateralism and regionalism in Japanese and US trade and direct foreign investment patterns[J]. Journal of the Japanese and international economies, 1994, 8(4): 478-510. -PDF-
  • Heckman J J. Sample selection bias as a specification error[J]. Econometrica: Journal of the econometric society, 1979: 153-161. -PDF-

3. 迭代普通最小二乘法

迭代普通最小二乘法 (iOLS) 旨在解决零的对数问题。该方法是在结果中加入一个特定的观察值,而不是一个常数,这个常数是用一个超参数缩放的。这个参数控制着用于估计的基本时刻条件,可以由用户选择,也可以使用模型选择方法由数据驱动。

可接受的时刻条件范围形成一个连续体,其极限分别对应于对数线性模型和泊松模型中使用的限制。模型选择程序相当于找到超参数值,使模型所隐含的零观测的条件概率与数据一致。

该方法使用 Dominitz 和 Sherman (2005) 提出的渐进理论研究 iOLS (和 i2SLS) 的理论属性,包括一致性和渐进正态性。估计值对应于 (渐进的) 收缩映射的固定点,它是通过反复运行 OLS (或 2SLS) 来解决的。

假设 Y 和 X 是因变量和自变量,β 是感兴趣的参数,δ>0 是超参数。最简单的 iOLS 程序包括以下步骤:

  1. 初始化 t=0,并获得初始估计值 β0^,例如用 OLS 将 log(Y+1) 回归到 X 上;
  2. 用 OLS 将 log(Y+δexp(Xβt^)1+δ) 回归到 X 上,以获得 β^t+1
  3. 将 t 更新为 t+1
  4. 重复步骤 2 和 3,直到 β^t+1 收敛。

这种转换后的因变量对应于 Y 和 exp(Xβ) 的加权平均数的对数,其中权重取决于超参数 δ

优势

  • 它可以通过普通最小二乘法进行估计,因此计算速度快且容易实现,可能有高维固定效应;
  • 它可以使用迭代 2SLS (i2SLS) 自然延伸到内生环境,也可以在有许多固定效应的情况下进行;
  • 它可以通过改变超参数来适应不同的识别假设;
  • 稳健的标准误差是现成的;
  • 它不会受到高度分散的响应变量的影响,也不会出现 (加性) 泊松估计的数字收敛问题。

与其他方法对比

该方法贡献通过数字模拟和 Michalopoulos 和 Papaioannou (2013) 以及 Santos Silva 和 Tenreyro (2006) 的 (部分) 复制来说明。前者通过使用流行的固定方法来解决零的对数问题,研究了殖民前民族制度对经济发展的作用,而后者则普及了使用伪泊松最大似然法 (PPML) 来估计贸易中的引力模型。该方法在两次复制中都产生了合理的、有根据的估计值,而 PPML 的估计值则被发现与观察到的零点模式在外部上是不一致的。

参考文献:

  • Bellégo C, Benatia D, Pape L. Dealing with logs and zeros in regression models[J]. arXiv preprint arXiv:2203.11820, 2022. -PDF-
  • Dominitz J, Sherman R P. Some convergence theory for iterative estimation procedures with an application to semiparametric estimation[J]. Econometric Theory, 2005, 21(4): 838-863. -PDF-

4. 相关推文

Note:产生如下推文列表的 Stata 命令为:
lianxh 对数 heckman, m
安装最新版 lianxh 命令:
ssc install lianxh, replace

相关课程

免费公开课

最新课程-直播课

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

课程主页

课程主页

关于我们

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

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

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

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

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