我试图复制从Stata到R的logit回归.在Stata中我使用选项"robust"来获得强大的标准误差(异方差性一致的标准误差).我能够从Stata中复制完全相同的系数,但是我无法使用"三明治"包具有相同的强大标准误差.
我尝试了一些OLS线性回归的例子; 看起来R和Stata的三明治估算器给了我同样强大的OLS标准误差.有没有人知道Stata如何计算非线性回归的三明治估计量,在我的例子中是logit回归?
谢谢!
附加代码:在R中:
library(sandwich)
library(lmtest)
mydata <- read.csv("http://www.ats.ucla.edu/stat/data/binary.csv")
mydata$rank<-factor(mydata$rank)
myfit<-glm(admit~gre+gpa+rank,data=mydata,family=binomial(link="logit"))
summary(myfit)
coeftest(myfit, vcov = sandwich)
coeftest(myfit, vcov = vcovHC(myfit, "HC0"))
coeftest(myfit, vcov = vcovHC(myfit))
coeftest(myfit, vcov = vcovHC(myfit, "HC3"))
coeftest(myfit, vcov = vcovHC(myfit, "HC1"))
coeftest(myfit, vcov = vcovHC(myfit, "HC2"))
coeftest(myfit, vcov = vcovHC(myfit, "HC"))
coeftest(myfit, vcov = vcovHC(myfit, "const"))
coeftest(myfit, vcov = vcovHC(myfit, "HC4"))
coeftest(myfit, vcov = vcovHC(myfit, "HC4m"))
coeftest(myfit, vcov = vcovHC(myfit, "HC5"))
Run Code Online (Sandbox Code Playgroud)
塔塔:
use http://www.ats.ucla.edu/stat/stata/dae/binary.dta, clear
logit admit gre gpa i.rank, robust
Run Code Online (Sandbox Code Playgroud) 我的问题是这样的:我NA在计算强大的标准误差时应该得到一些值.
我正在尝试使用群集稳健的标准错误进行固定效果面板回归.为此,我跟随Arai(2011)的人.3遵循Stock/Watson(2006)(后来发表在Econometrica,有权访问的人).我想通过(M/(M-1)*(N-1)/(N-K) 对抗向下偏差来纠正自由度,因为我的簇数是有限的并且我有不平衡的数据.
类似的问题已张贴前[ 1,2 ]在计算器上和相关问题[ 3 ]的交叉验证.
Arai(以及第1个链接中的答案)使用以下代码进行功能(我在下面提供了我的数据以及一些进一步的评论):
gcenter <- function(df1,group) {
variables <- paste(
rep("C", ncol(df1)), colnames(df1), sep=".")
copydf <- df1
for (i in 1:ncol(df1)) {
copydf[,i] <- df1[,i] - ave(df1[,i], group,FUN=mean)}
colnames(copydf) <- variables
return(cbind(df1,copydf))}
# 1-way adjusting for clusters
clx <- function(fm, dfcw, cluster){
# R-codes (www.r-project.org) for computing
# clustered-standard errors. Mahmood Arai, Jan 26, 2008.
# The arguments of …Run Code Online (Sandbox Code Playgroud)