【问题标题】:Application of a multi-way cluster-robust function in R多路集群鲁棒函数在 R 中的应用
【发布时间】:2019-05-02 07:01:41
【问题描述】:

你好(这里是第一个计时器),

我想估计 R 中的“双向”聚类稳健方差-协方差矩阵。我正在使用“multiwayvcov”库中的特定罐头例程。我的问题仅与 R 中 cluster.vcov 函数的设置有关。我有各种犯罪结果的面板数据。我的横截面单位是“辖区”(超过 40 个辖区),我在几个“月”(即 24 个月)内观察这些辖区的犯罪情况。我正在评估一种一年中只有几个月“开启”(虚拟编码)的干预措施。

我包括“区域”和“月份”固定效应(即,一整套区域和月份虚拟变量进入模型)。我只有一个正在评估的自变量。我想在“两个”维度上进行聚类,但不确定如何设置。

我是否先用lm 估计所有固定效应?或者,我是否只是在自变量(不包括固定效应)上运行一个回归犯罪的模型,然后使用 cluster.vcov,即 ~ precinct + month_year。

这似乎会提供错误的标准错误。正确的?我希望这很清楚。很抱歉有任何混淆。请参阅下面的设置。

library(multiwayvcov)

model <- lm(crime ~ as.factor(precinct) + as.factor(month_year) + policy, data = DATASET_full)

boot_both <- cluster.vcov(model, ~ precinct + month_year)

coeftest(model, boot_both)

### What the documentation offers as an example
### https://cran.r-project.org/web/packages/multiwayvcov/multiwayvcov.pdf

library(lmtest)

data(petersen)

m1 <- lm(y ~ x, data = petersen)

### Double cluster by firm and year using a formula

vcov_both_formula <- cluster.vcov(m1, ~ firmid + year)

coeftest(m1, vcov_both_formula)

首先估计忽略固定效应的模型是否合适?

【问题讨论】:

    标签: r lm least-squares dummy-variable covariance-matrix


    【解决方案1】:

    首先是答案:您应该首先使用固定效应估计您的 lm 模型。这将为您提供渐近正确的参数估计。 std 错误是不正确的,因为它们是根据假定 iid 错误的 vcov 矩阵计算得出的。

    要将 iid 协方差矩阵替换为集群稳健的 vcov 矩阵,您可以使用 cluster.vcov,即my_new_vcov_matrix &lt;- cluster.vcov(~ precinct + month_year)

    然后是一个建议:我强烈推荐 lfe 中的函数 felm 用于多路 fe 和 cluster-robust 标准错误。

    语法如下:

    library(multiwayvcov)
    library(lfe)
    
    data(petersen)
    
    my_fe_model <- felm(y~x | firmid + year | 0 | firmid + year, data=petersen )
    
    summary(my_fe_model)
    

    【讨论】:

    • 感谢您的及时回复!我喜欢这两个功能。但是,cluster.vcov 也适用于 glm 对象(我也有计数数据)。如果我想与您分享我的数据集的一个子集以进行澄清,那么在不复制和粘贴数百行的情况下将其发布到此处的最佳方式是什么?
    • 您可能会重新考虑使用具有 glm 的稳健协方差估计器。 davegiles.blogspot.com/2013/05/….
    • 回复:如何将数据附加到 SO 问题。看这里的例子stackoverflow.com/questions/5963269/…
    • 谢谢大家!采用“双聚类”方法(即在“单位”和“时间”上聚类)有时会在方差-协方差矩阵中产生负方差。当fix = TRUEvcovCL 函数中时,可以更正此问题。为什么“双向”聚类会产生负方差?这不是不可能吗?尽管我已经纠正了这个问题,但从概念上讲,我很难理解它。有什么想法吗?
    • @Tom 如果您在stats.stackexchange.com 上创建一个新问题,而不是在先前(不相关)问题的 cmets 中提问,您的问题将获得更广泛的受众。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-01-12
    • 2016-04-27
    • 1970-01-01
    • 2013-02-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多