StataNow19.5新功能--高维固定效应模型
使用选项
absorb()
和命令
areg
、
xtreg、fe
和
ivregress 2sls
,在线性、固定效应线性和工具变量线性模型中吸收多个高维分类变量。
与在模型中直接包含这些变量类别的指标的传统方法相比,这提供了显著的速度提升。在不同的估计方法中进行选择。
让我们看看它是如何工作的
具有高维分类变量的线性模型
我们经常在模型中包括分类变量作为对照。这些控制变量对于模型设定是必需的,但它们不是我们分析的重点。
例如,我们可能希望研究进口关税(
进口
)对年
贸易
量的影响,并将
年份
、
国家
和
行业
作为控制措施。
我们可以用三个控制变量的指示变量拟合线性回归:
regress trade imports i.year i.country i.industry
如果我们有 40 年的数据、160 个国家/地区和 1,000 个行业代码,我们将估计 1,200 个参数。这很耗时,而且只有一个参数,
即进口
系数,与我们的研究问题有关。
现在,我们可以通过键入
areg trade imports, absorb(year country industry)
变量
year
、
country
和
industry
被吸收。
AREG
已经有能力吸收一个变量,但现在我们可以吸收任意数量的分类变量。
如果我们想用行业固定效应来拟合模型,我们可以键入
xtset industry year
xtreg trade imports, fe absorb(year country)
假设我们认为
进口
是内生的,并且我们想使用生产率度量来检测它们。同样,我们不关心
年份
、
国家
或
行业的
系数。我们可以拟合模型:
. ivregress 2sls trade (imports = productivity), absorb(year country industry)
总结:
areg命令现在可以进行高维固定效应模型分析了!
我们节省了多少时间?
下面是一个玩具示例,其中包含 100 万个观测值、一个感兴趣的变量 (
x
)、两个分类变量(
a1
和
a2
)和 10000 个类别,以及
id
变量(具有 100000 个类别)。
以前,我们只能吸收一个变量,并且会键入
webuse hdfe
quietly areg y x i.a1 i.a2, absorb(id)
在
absorb()
选项中指定类别数最多的变量
id
。
在 Stata/MP 中大约需要 5 分钟,在 Stata/SE 中大约需要 6 分钟。
现在,我们可以通过输入来吸收所有三个分类变量
quietly areg y x, absorb(id a1 a2)
在 Stata/MP 中大约需要 1 秒,在 Stata/SE 中大约需要 1.3 秒。(时间可能因计算机而异,但时间增益相似。
时间增益非常显着!
在固定效应线性模型中更快
areg变量的模型的最快命令。但是,如果要拟合固定效应模型,
xtreg、fe
可能更合适。
以前,要使用
xtreg、fe
控制分类变量,您必须在模型中将它们指定为指示变量。现在你可以在新的
absorb()
选项中指定它们,就像你对
areg
所做的那样;这将使
XTREG、FE
运行得更快。
继续前面的示例,假设您要拟合具有
id
固定效应的线性模型。您可以键入
xtset id
xtreg y x, fe absorb(a1 a2) vce(cluster id)
得到如下结果