R jest równoważne opcji klastrowej przy zastosowaniu ujemnej regresji dwumianowej


10

Próbuję powielić pracę kolegi i przenoszę analizę ze Staty do R. Modele, które stosuje, wywołują opcję „klastrowania” w funkcji nbreg, aby grupować błędy standardowe.

Zobacz http://repec.org/usug2007/crse.pdf, aby uzyskać dość kompletny opis co i dlaczego tej opcji

Moje pytanie brzmi: jak wywołać tę samą opcję dla ujemnej regresji dwumianowej w R?

Podstawowy model w naszym artykule jest określony w Stata w następujący sposób

 xi: nbreg cntpd09 logpop08 pcbnkthft07 pccrunion07 urbanpop pov00 pov002 edu4yr ///
 black04 hispanic04 respop i.pdpolicy i.maxloan rollover i.region if isser4 != 1,   
 cluster(state)

i zastąpiłem to

pday<-glm.nb(cntpd09~logpop08+pcbnkthft07+pccrunion07+urbanpop+pov00+pov002+edu4yr+
black04+hispanic04+respop+as.factor(pdpolicy)+as.factor(maxloan)+rollover+
as.factor(region),data=data[which(data$isser4 != 1),])

który oczywiście nie zawiera fragmentu błędów klastrowych.

Czy można wykonać dokładną replikację? Jeśli tak to jak? Jeśli nie, jakie są rozsądne alternatywy?

Dzięki

[Edytuj] Jak zauważono w komentarzach, liczyłem na rozwiązanie, które nie wprowadziłoby mnie w sferę modeli wielopoziomowych. Chociaż mój trening pozwala mi dostrzec, że te rzeczy powinny być ze sobą powiązane, jest to raczej skok, niż samodzielne podejmowanie się. W związku z tym kopałem dalej i znalazłem ten link: http://landroni.wordpress.com/2012/06/02/fama-macbeth-and-cluster-robust-by-firm-and-time-standard-errors-in- r /

który wskazuje na dość prosty kod do robienia tego, co chcę:

library(lmtest)
pday<-glm.nb(cntpd09~logpop08+pcbnkthft07+pccrunion07+urbanpop+pov00+pov002+edu4yr+
 black04+hispanic04+respop+as.factor(pdpolicy)+as.factor(maxloan)+rollover+
 as.factor(region),data=data[which(data$isser4 != 1),])
summary(pday)

coeftest(pday, vcov=function(x) vcovHC(x, cluster="state", type="HC1"))

Nie powiela to jednak wyników analizy w Stata, prawdopodobnie dlatego, że jest przeznaczony do pracy na OLS, a nie na ujemnych dwumianach. Tak więc wyszukiwanie trwa. Wszelkie wskazówki na temat tego, co robię źle, byłyby bardzo mile widziane


3
Może się okazać, notatki Ben Bolker za przydatne tutaj.
fmark


Do Twojej dyspozycji jest definicja solidnych standardowych błędów klastrowanych Stata. Nie wydają się tak uciążliwe do wdrożenia. IMO może i tak będzie lepiej ze standardowymi błędami bootstrapped lub jackknifed (zobacz pomoc na vce ). Nie mogę jednak sugerować żadnych pakietów R. Powodzenia w znalezieniu zamiennika!
Andy W,

Dzięki @fmark - bardzo przydatne komentarze, znacznie lepsze niż moja „odpowiedź” i odpowiednio ją zaktualizowałem.
Peter Ellis

Dziękuje za wszystko. Myślę, że krótka odpowiedź na moje pytanie jest taka, że ​​nie ma prostej zamiany (np. Gotowa funkcja, która dokładnie zastępuje opcję klastra). Najwyraźniej ktoś z większym doświadczeniem może zobaczyć ścieżkę w notatkach Bena Bolkera, ale przenosi mnie na nowe terytorium, gdzie nie byłem pewien, czy poprawnie sformułowałem instrukcje z formuły. Nie jestem pewien, jaki jest właściwy sposób powiedzenia „dziękuję”, nie przyjmując odpowiedzi, ale dziękuję wam, a niedociągnięcia są moje.
csfowler

Odpowiedzi:



Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.