plm
ve lfe
ile bir küme standart hata paneli belirtimi çalıştırdığımda, ikinci önemli sayıdan farklı sonuçlar elde ederim. SE'leri hesaplarken neden farklı olduklarını bilen var mı?Kümelenmiş standart hatalar plm vs lfe içinde farklı
set.seed(572015)
library(lfe)
library(plm)
library(lmtest)
# clustering example
x <- c(sapply(sample(1:20), rep, times = 1000)) + rnorm(20*1000, sd = 1)
y <- 5 + 10*x + rnorm(20*1000, sd = 10) + c(sapply(rnorm(20, sd = 10), rep, times = 1000))
facX <- factor(sapply(1:20, rep, times = 1000))
mydata <- data.frame(y=y,x=x,facX=facX, state=rep(1:1000, 20))
model <- plm(y ~ x, data = mydata, index = c("facX", "state"), effect = "individual", model = "within")
plmTest <- coeftest(model,vcov=vcovHC(model,type = "HC1", cluster="group"))
lfeTest <- summary(felm(y ~ x | facX | 0 | facX))
data.frame(lfeClusterSE=lfeTest$coefficients[2],
plmClusterSE=plmTest[2])
lfeClusterSE plmClusterSE
1 0.06746538 0.06572588
multiwayvcov :: öyle cluster.vcov' 'incelenmesi Stata küçük örnek dereceli serbestlik düzeltme elde etmek için kullanılan cebiri görmek kolay, yani: (df $ M/(df $ M - 1)) * ((df $ N - 1)/(df $ N - df $ K)) '. Fakat kullanılan eşdeğer df düzeltmesi ne olurdu? Sandwich (..., set = TRUE) '? [Bu cevap] 'da (http://stackoverflow.com/questions/27367974/), ikisi arasındaki farkın, Stata için bölümün' 1/(n - 1) 've' sandviçi 'için olduğunu açıklıyorsunuz. 1/(n - k) 'dir. Yine de bunun uygun cebire nasıl dönüştüğünden emin değilim ... Yukarıdaki (df $ N - 1) 'i (df $ N-df $ K)' yi yukarıda mı değiştirmeliyim? – landroni
Sanırım, ancak kodu ayrıntılı olarak kontrol etmediniz. Ayrıca şu anda 'sandviçin' şu anda kümelenmiş standart hatalar sunmadığını unutmayın. 'Sandviç' paketinin arkasındaki tüm teorik bilgiler de iki vinyet içinde belgelenmiştir. –