Linear, IV and GMM Regressions With Any Number of Fixed Effects
当前访问频次受限,请登录后继续访问
REGHDFE:具有多重固定效应的线性回归
近期更新
- 版本 6.13.0 09Jan2026:
- 实验性支持 Driscoll-Kraay 标准误:
vce(dkraay #) - 自动使用
require命令以确保安装最新版本的ftools
- 实验性支持 Driscoll-Kraay 标准误:
- 版本 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 文件并解压:
ftools(https://codeload.github.com/sergiocorreia/ftools/zip/master)reghdfe(https://codeload.github.com/sergiocorreia/reghdfe/zip/master)ivreghdfe(https://codeload.github.com/sergiocorreia/ivreghdfe/zip/master)
然后,运行以下命令,并根据实际情况调整文件夹名称:
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文件,以便更快地安装和复制)。