reghdfe:基于 Stata 的线性回归固定效应估计项目

Linear, IV and GMM Regressions With Any Number of Fixed Effects

分支4Tags13

REGHDFE:具有多重固定效应的线性回归

GitHub release (latest by date) GitHub Release Date GitHub commits since latest release (by date) StataMin DOI


近期更新

  • 版本 6.13.0 09Jan2026:
    • 实验性支持 Driscoll-Kraay 标准误:vce(dkraay #)
    • 自动使用 require 命令以确保安装最新版本的 ftools
  • 版本 6.12.4 12sep2023:
    • 修复 ivreghdfe 在使用字符串变量进行聚类时的错误(#276)
  • 版本 6.12.3 20aug2023:
    • 修复并行选项(macOS)的错误
    • 修正帮助文件中的拼写错误
  • 版本 6.12.0 26June2021:
    • 通过新选项添加对个体固定效应的支持:indiv() group() aggregation()。参见 Constantine and Correia (2021) 以及帮助文件。
    • 通过 parallel 包添加对并行化的实验性支持
    • 其他代码重构
    • 要使用旧版本的 reghdfe,可以使用 version(3) 和 version(5)。这两个是重大重写前的最新版本。此选项取代了 old 选项。
  • 版本 5.7.3 13nov2019:
    • 修复 compact 选项的罕见错误(#194)。此版本也已提交至 SSC。
  • 版本 5.7.0 20mar2019:
    • 用户安装后无需再运行 reghdfe, compile。如果您遇到“class FixedEffects undefined”错误,请升级到此版本,或运行 reghdfe, compile
  • 版本 5.6.8 03mar2019:
    • 发布 ppmlhdfe 包,用于带有固定效应的泊松模型。如果您要运行左侧为 log(y) 的回归,请使用此包。
    • reghdfe 的稳定版本,也在 SSC 上。
  • 版本 5.6.2 10feb2019:
  • 版本 5.6 26jan2019:
    • 提高数值精度。以前,reghdfe 对数据进行标准化、剔除、反标准化,然后求解最小二乘问题。现在,它直接在标准化数据上运行求解器,这在具有极端值组合的数据集上能保持数值精度。感谢 Zhaojun Huang 的错误报告。
    • 加快 reghdfe 的调用速度。“clear all”后首次调用 reghdfe 应快约 2 秒,随后每次调用快约 0.1 秒。
    • 使用 noabsorb 选项运行 reghdfe 现在应该快得多。
  • 版本 5.3 30nov2018:
    • 修复 Stata 15 和 reghdfe 5.2.x 版本的静默错误。如果使用许多因子交互项运行回归,数据会以错误的顺序加载到 Mata 中。这会导致系数混乱。强烈建议 Stata 15 用户升级。有关更多信息,请参见 @simonheb 的 #150。
  • 版本 5.2 17jul2018:
    • 为通过 st_data() 加载因子变量时的错误/快速问题添加了部分解决方法。这对 Stata 15 用户没有影响(参见 help fvtrack)。(注意:此加速功能自 5.3.2 起已完全禁用)
    • 其他优化和重构。
    • 改进对 ppmlhdfe 包的支持(该包为泊松模型和其他 GLM 模型添加固定效应)。
  • 版本 5.1 08jul2018:
    • 添加 compact 和 poolsize(#) 选项,以减少内存使用。这可以将 reghdfe 的内存使用量减少多达 5 倍 - 10 倍,但会略微降低速度。
    • 自动检查已安装的 ftools 版本是否过旧。
  • 版本 5.0 29jun2018:
    • 添加对 basevar 的支持。这本身不是很有用,但使一些后续估计包(coefplot)更易于使用
    • 添加对 margins 后续估计命令的支持。
    • 在输出表中添加 _cons 行,以便报告截距(如 regress/xtreg/areg 中所示)。noconstant 选项可禁用此功能,但这样做可能会使 margin 的输出不正确。
    • predict, xb 现在包括 _cons 的值,之前该值包含在 predict, d 中。
  • 版本 4.4 11sep2017:
    • 性能:使用权重时提速,减少内存使用,改进收敛检测
    • 错误修复:summarize 选项 使用全样本而非回归样本,修复 了一个最近的错误,该错误未能检测固定效应何时嵌套在聚类中
    • Mata:重构 Mata 内部结构,并将其描述添加到 help reghdfe_mata;清理警告消息
    • 泊松/PPML HDFE:扩展 Mata 内部结构,以便我们例如可以更改权重而无需创建全新的对象。这主要是为了加快 ppmlhdfe 包的速度。
  • 版本 4.3 07jun2017:加速固定斜率(预计算 inv(xx))
  • 版本 4.2 06apr2017:修复数值精度问题(错误修复)
  • 版本 4.1 28feb2017:完全用 Mata 重写
    • 得益于 ftools 包,速度提升 3-10 倍(如果您有大型数据集,请使用它!)
    • 修复了几个小错误,特别是一些不允许复杂因子变量表达式的错误。
    • reghdfe 现在完全编写为一个 Mata 对象。有关如何使用它编写其他程序的示例,请参见此处
    • 现在支持其他估计选项,包括 LSMR 和 度为 1 的顶点修剪。

注意事项:

  • reghdfe 依赖于 ftools 包(以及 Stata 12 和更早版本的 boottest)
  • IV/GMM 不是直接通过 reghdfe 完成的,而是通过 ivreg2。参见 此端口,它为 ivreg2 添加了 absorb() 选项。这对于使用更高级的标准误估计也很有用,ivreg2 支持这些估计。
  • 如果您使用依赖 reghdfe 的命令(regife、poi2hdfe、ppml_panel_sg 等),请在使用新版本的 reghdfe 之前检查它们是否已更新。
  • 某些选项尚未完全支持。包括 cache 和 groupvar。
  • 以前的稳定版本(3.2.9 21feb2016)可以通过 old 选项访问

未来/可能的更新

  • 重新添加 group3hdfe 选项

引用

reghdfe 实现了 Correia (2017) 中描述的估计方法。 如果您使用该命令,请引用相关论文和/或该命令在 RePEc 上的引用信息:

@TechReport {Correia2017:HDFE,
  Author = {Correia, Sergio},
  Title = {Linear Models with High-Dimensional Fixed Effects: An Efficient and Feasible Estimator},
  Note = {Working Paper},
  Year = {2017},
}

Correia, Sergio. 2017. "高维固定效应线性模型:一种高效可行的估计方法" 工作论文。 http://scorreia.com/research/hdfe.pdf

Noah Constantine, Sergio Correia, 2021. reghdfe:用于吸收多水平固定效应的线性及工具变量/GMM回归的Stata模块。 https://ideas.repec.org/c/boc/bocode/s457874.html

安装:

要查看已安装的版本,请输入 reghdfe, version。

reghdfe 6.x 版本尚未在SSC中发布。若要快速安装该版本及其所有依赖项,请复制粘贴以下命令行并运行:

* Install ftools (remove program if it existed previously)
cap ado uninstall ftools
net install ftools, from("https://raw.githubusercontent.com/sergiocorreia/ftools/master/src/")

* compile ftools to prevent errors if you already had an older version installed:
ftools, compile 
mata: mata mlib index

* Install reghdfe 6.x
cap ado uninstall reghdfe
net install reghdfe, from("https://raw.githubusercontent.com/sergiocorreia/reghdfe/master/src/")

若要使用 ivreghdfe 运行 IV/GMM 回归,还需运行以下命令行:

cap ado uninstall ivreg2hdfe
cap ado uninstall ivreghdfe
cap ssc install ivreg2 // Install ivreg2, the core package
net install ivreghdfe, from(https://raw.githubusercontent.com/sergiocorreia/ivreghdfe/master/src/)

或者,您可以从 SSC 安装稳定/旧版本(5.x):

cap ado uninstall reghdfe
ssc install reghdfe

* compile ftools to prevent errors if you already had an older version installed:
ftools, compile 
mata: mata mlib index

手动安装:

若要将 reghdfe 安装到防火墙保护的服务器,您需要手动下载以下 zip 文件并解压:

然后,运行以下命令,并根据实际情况调整文件夹名称:

cap ado uninstall ftools
cap ado uninstall reghdfe
cap ado uninstall ivreghdfe
net install ftools, from(c:\git\ftools)
net install reghdfe, from(c:\git\reghdfe)
net install ivreghdfe, from(c:\git\ivreghdfe)

请注意,您现在也可以使用 Github 发布版本来安装特定版本。


描述

reghdfe 是一个 Stata 软件包,用于估计具有多水平固定效应的线性回归。它是内置命令 areg、xtreg,fe 和 xtivreg,fe 的泛化版本。其目标与 Simen Gaure 开发的 R 软件包 lfe 以及 Matthieu Gomez 开发的 Julia 软件包 FixedEffectModels(测试版)相似。其功能包括:

  • 一种新颖且稳健的算法,能高效地吸收多个固定效应。它改进了 Abowd 等人, 2002、Guimaraes 与 Portugal, 2010 以及 Simen Gaure, 2013 的研究成果。该算法在现有算法收敛非常缓慢(或无法收敛)的“困难案例”上表现尤为出色。
  • 与同类 Stata 程序相比速度极快。
    • 在包含一个固定效应和聚类标准误的情况下,其速度是 areg 和 xtreg,fe 的 3-4 倍(参见 基准测试)。注意:Stata 14 中的速度提升缩小了这一差距。
    • 在包含多个固定效应的情况下,其速度至少比其他替代方案(reg2hdfe、a2reg、felsdvreg、res2fe 等)快一个数量级。注意:Somaini 与 Wolak 在 2015 年的一篇最新论文 Somaini and Wolak, 2015 报告称,在某些场景下(即仅包含两个固定效应,且第二个固定效应维度较低时),res2fe 比 reghdfe 更快。但对于当前版本的 reghdfe 而言,这种说法已不成立,即使在作者的基准测试中(第二个固定效应维度较低的情况),reghdfe 也优于 res2fe(参见 基准测试结果 和 Stata 代码)。
  • 允许进行双向和多向聚类标准误估计,如 Cameron 等人 (2011) 所述。
  • 允许使用广泛的稳健方差估计量(感谢 Kit Baum 和 Mark Schaffer 开发的 avar 软件包)。
  • 借助 Baum、Schaffer 和 Stillman 开发的 ivreg2 程序,可用于工具变量和 GMM 估计(如两步 GMM、LIML 等)。
  • 允许多个异质性斜率(例如,每个个体有单独的斜率系数)。
  • 支持所有标准 Stata 功能:
    • 频数权重、概率权重和分析权重。
    • 时间序列变量和因子变量。
    • 固定效应和聚类变量可以表示为因子交互项,既方便又高效(例如,直接使用 state#year,而无需先使用 egen group 生成州-年组合)。
    • 后估计命令,如 predict 和 test。
  • 允许使用 cache() 选项预计算结果,从而加快后续回归的速度。
  • 如请求,可保存固定效应的点估计值(请注意:这些固定效应可能不一致且无法识别;有关该主题的介绍,请参见 Abowd 的论文)。
  • 计算因固定效应而损失的自由度(超过两个水平的固定效应仍是一个未解决的问题,但我们提供了一个保守的上限)。
  • 避免常见陷阱,例如排除单元素组(参见 说明)、计算正确的组内调整 R 平方(参见初步讨论)等。

作者

Sergio Correia
美国联邦储备委员会
邮箱:sergio.correia@gmail.com

Noah Constantine
美国联邦储备委员会
邮箱:noahbconstantine@gmail.com

致谢

本软件包的开发离不开Paulo Guimaraes、Amine Ouazad、Mark E. Schaffer、Kit Baum和Matthieu Gomez提供的宝贵反馈与贡献。此外,众多用户出色的错误发现能力也功不可没。

贡献

我们非常欢迎贡献者和拉取请求。目前有多个扩展方向,例如使用bootstrap方法估计固定效应的标准误、针对两个以上高维固定效应(HDFE)精确计算自由度,以及对基础算法的进一步改进。

请注意,所有代码均编写在current-code文件夹中,随后通过build.py编译到src文件夹(该过程会将多个文件合并为单个.ado和.mata文件,以便更快地安装和复制)。

项目介绍

Linear, IV and GMM Regressions With Any Number of Fixed Effects

定制我的领域