Я пытаюсь воспроизвести результаты, предоставленные командой Stata xtscc
в R с пакетом plm
, но у меня возникают проблемы с тем, чтобы увидеть те же стандартные ошибки, которые я использую в Stata для репликации набора данных из пакета plm.
# code to obtain dataset
library(lmtest)
library(car)
library(tidyverse)
data("Produc", package="plm")
write.dta(Produc,"test.dta")
Моя цель состоит в том, чтобы выполнить двухстороннюю оценку модели панели с фиксированным эффектом со стандартными ошибками Дрисколла и Краая. Процедура в Stata следующая
use "test.dta", clear \\ to import data
** i declare the panel
xtset state year
* create the dummies for the time fixed effects
quietly tab year, gen(yeardum)
* run a two way fixed effect regression model with Driscoll and Kraay standard errors
xi: xtscc gsp pcap emp unemp yeardum*,fe
* results are the following
Coef. Std. Err. t P>|t| [95% Conf. Interval]
pcap | -.1769881 .265713 -0.67 0.515 -.7402745 .3862983
emp | 40.61522 2.238392 18.14 0.000 35.87004 45.3604
unemp | 23.59849 85.10647 0.28 0.785 -156.8192 204.0161
В R я использую следующую процедуру:
# I declare the panel
Produc <- pdata.frame(Produc, index = c("state","year"), drop.index = FALSE)
# run a two way fixed effect model
femodel <- plm(gsp~pcap+emp+unemp, data=Produc,effect = "twoway",
index = c("iso3c","year"), model="within")
# compute Driscoll and Kraay standard errors using vcovSCC
coeftest(femodel, vcovSCC(femodel))
pcap -0.17699 0.25476 -0.6947 0.4874
emp 40.61522 2.14610 18.9252 <2e-16 ***
unemp 23.59849 81.59730 0.2892 0.7725
Хотя точечные оценки такие же, как и в Stata, стандартные ошибки отличаются.
Чтобы проверить, не использую ли я неправильную настройку небольшой выборки для стандартных ошибок, я также попытался запустить coeftest со всеми доступными настройками, но ни одна из них не дает тех же значений, что и xtscc
.
library(purrr)
results <- map(c("HC0", "sss", "HC1", "HC2", "HC3", "HC4"),~coeftest(femodel, vcovSCC(femodel,type = .x)))
walk(results,print)
# none of the estimated standard errors is the same as xtscc
Кто-нибудь знает, как я могу воспроизвести результаты Stata в R?
plm::within_intercept
, чтобы увидеть, как рассчитывается модель FE с перехватом (документация была ссылками). Я подозреваю, чтоxtssc
каким-то образом использует Stataxtreg
. Я не знаю, использует лиxtssc
ту же настройку небольшого образца, что иxtreg
. - person Helix123   schedule 10.12.2020xtscc
на самом деле является пользовательской командой. Если его документация не раскрывает использованную небольшую примерную настройку, вы можете прочитать исходный код функции или связаться с ее автором. В plm введите =sss
имитирует небольшую выборку настройки Stata (отсюда и ее название). - person Helix123   schedule 10.12.2020index
в вашем вызовеplm
игнорируется, поскольку ваши данные уже являются pdata.frame. Кроме того, аргумент индекса содержит переменную, которой нет в данных (iso3c
). - person Helix123   schedule 13.12.2020