【问题标题】:Robust Standard Errors in lm() using stargazer()lm() 中使用 stargazer() 的稳健标准错误
【发布时间】:2020-03-14 07:51:19
【问题描述】:

我已经阅读了很多关于将简单健壮选项从 STATA 复制到 R 以使用健壮标准错误的痛苦。我复制了以下方法:StackExchangeEconomic Theory Blog。它们可以工作,但我面临的问题是,如果我想使用 stargazer 函数打印我的结果(这会打印乳胶文件的 .tex 代码)。

这是我的问题的说明:

reg1 <-lm(rev~id + source + listed + country , data=data2_rev)
stargazer(reg1)

这会将 R 输出打印为 .tex 代码(非鲁棒 SE)如果我想使用鲁棒 SE,我可以使用三明治包如下:

vcov <- vcovHC(reg1, "HC1")

如果我现在使用 stargazer(vcov),则只打印 vcovHC 函数的输出,而不是回归输出本身。

使用包lmtest() 至少可以打印估计量,但不能打印观察值,R2,adj。 R2、Residual、Residual St.Error 和 F-Statistics。

lmtest::coeftest(reg1, vcov. = sandwich::vcovHC(reg1, type = 'HC1'))

这给出了以下输出:

t test of coefficients:

            Estimate Std. Error t value Pr(>|t|)   
(Intercept) -2.54923    6.85521 -0.3719 0.710611   
id           0.39634    0.12376  3.2026 0.001722 **
source       1.48164    4.20183  0.3526 0.724960   
country     -4.00398    4.00256 -1.0004 0.319041   
---
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

如何添加或获取具有以下参数的输出?

Residual standard error: 17.43 on 127 degrees of freedom
Multiple R-squared:  0.09676,   Adjusted R-squared:  0.07543 
F-statistic: 4.535 on 3 and 127 DF,  p-value: 0.00469

有没有人遇到同样的问题并可以帮助我? 如何在 lm 函数中使用稳健的标准错误并应用 stargazer 函数?

【问题讨论】:

标签: stargazer robust


【解决方案1】:

您已经计算出稳健的标准误差,并且有一种简单的方法可以将其包含在 stargazeroutput 中:

library("sandwich")
library("plm")
library("stargazer")

data("Produc", package = "plm")

# Regression    
model <- plm(log(gsp) ~ log(pcap) + log(pc) + log(emp) + unemp,
             data = Produc, 
             index = c("state","year"),
             method="pooling")

# Adjust standard errors
cov1         <- vcovHC(model, type = "HC1")
robust_se    <- sqrt(diag(cov1))

# Stargazer output (with and without RSE)
stargazer(model, model, type = "text",
          se = list(NULL, robust_se))

在这里找到解决方案:https://www.jakeruss.com/cheatsheets/stargazer/#robust-standard-errors-replicating-statas-robust-option

更新我不太喜欢 F-Tests。人们正在讨论这些问题,例如https://stats.stackexchange.com/questions/93787/f-test-formula-under-robust-standard-error

当你关注http://www3.grips.ac.jp/~yamanota/Lecture_Note_9_Heteroskedasticity

“可以通过将 OSL 估计量除以其稳健标准误差(对于零零假设)来获得异方差-稳健 t 统计量。但是,通常的 F 统计量是无效的。相反,我们需要使用异方差-强大的沃尔德统计。”

并在这里使用 Wald 统计?

【讨论】:

  • 谢谢@marco!但这仅说明了如何手动添加 F 统计量。但首先我必须知道我对稳健 SE 的整体回归的 f 统计量。是否与没有 RSE 时一样?
  • 嗨@HAL_71 在stackoverflow 的意义上,请接受我的回答,当它解决了最初的问题时(如标题中所说,stargazer 中的稳健标准错误)。我认为您可以尝试 wald 检验,而不是 F 统计量。如果您需要有关某些计量经济学背景的更多信息,我建议您在交叉验证上打开一个新线程。最好的问候
猜你喜欢
  • 2017-10-17
  • 1970-01-01
  • 2021-04-14
  • 2012-03-04
  • 2020-03-15
  • 2012-03-09
  • 1970-01-01
  • 2020-12-22
  • 2020-10-18
相关资源
最近更新 更多