Я пытаюсь воспроизвести вывод Stata в R. Я использую набор данных дела. У меня проблемы с воспроизведением пробит-функции с надежными стандартными ошибками.
Код Stata выглядит так:
probit affair male age yrsmarr kids relig educ ratemarr, r
Я начал с:
probit1 <- glm(affair ~ male + age + yrsmarr + kids + relig + educ + ratemarr,
family = binomial (link = "probit"), data = mydata)
Затем я пробовал различные настройки с помощью пакета sandwich
, например:
myProbit <- function(probit1, vcov = sandwich(..., adjust = TRUE)) {
print(coeftest(probit1, vcov = sandwich(probit1, adjust = TRUE)))
}
Или (со всеми типами от HC0
до HC5
):
myProbit <- function(probit1, vcov = sandwich) {
print(coeftest(probit1, vcovHC(probit1, type = "HC0"))
}
Или это, как было предложено здесь (нужно ли мне вводить что-то другое для object
?):
sandwich1 <- function(object, ...) sandwich(object) * nobs(object) / (nobs(object) - 1)
coeftest(probit1, vcov = sandwich1)
Ни одна из этих попыток не привела к одинаковым стандартным ошибкам или z-значениям в выходных данных статистики.
Надеемся на конструктивные идеи!
Заранее спасибо!
sandwich1
работает для стандартных ошибок в логит-регрессии с использованием тех же данных, но мне не удалось получить с ним правильный chi2. Есть идеи, почему это может быть? - person Semprini   schedule 16.05.2015waldtest()
из пакетаlmtest
или функциюlinearHypothesis()
из пакетаcar
. Оба позволяют подключать необязательныеvcov
аргументы. - person Achim Zeileis   schedule 16.05.2015