Ich versuche, die Arbeit eines Kollegen zu replizieren, und verschiebe die Analyse von Stata nach R. Die von ihr verwendeten Modelle rufen die Option "Cluster" innerhalb der Funktion nbreg auf, um die Standardfehler zu gruppieren.
Unter http://repec.org/usug2007/crse.pdf finden Sie eine ziemlich vollständige Beschreibung des Was und Warum dieser Option
Meine Frage ist, wie man dieselbe Option für eine negative binomiale Regression innerhalb von R aufruft.
Das primäre Modell in unserem Artikel ist in Stata wie folgt angegeben
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)
und ich habe dies durch ersetzt
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),])
Dem fehlt offensichtlich das gruppierte Fehlerstück.
Ist es möglich, eine exakte Replikation durchzuführen? Wenn das so ist, wie? Wenn nicht, welche vernünftigen Alternativen gibt es?
Vielen Dank
[Bearbeiten] Wie in den Kommentaren erwähnt, hoffte ich auf eine Lösung, die mich nicht in den Bereich der Mehrebenenmodelle führte. Während mein Training mir erlaubt zu sehen, dass diese Dinge zusammenhängen sollten, ist es eher ein Sprung, als dass ich es alleine gerne mache. Als solches grub ich weiter und fand diesen Link: http://landroni.wordpress.com/2012/06/02/fama-macbeth-and-cluster-robust-by-firm-and-time-standard-errors-in- r /
das deutet auf einen ziemlich einfachen Code hin, um das zu tun, was ich will:
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"))
Dies repliziert jedoch nicht die Ergebnisse der Analyse in Stata, wahrscheinlich weil es für OLS und nicht für negative Binomialzahlen ausgelegt ist. Also geht die Suche weiter. Alle Hinweise, wo ich falsch liege, wären sehr dankbar
quelle
Antworten:
Dieses Dokument zeigt, wie Cluster-SEs für eine glm-Regression abgerufen werden:
http://dynaman.net/R/clrob.pdf
quelle
Dies ist keine völlig zufriedenstellende Antwort ...
Ich habe es selbst nicht ausprobiert, aber es sieht so aus, als ob das glmmADMB-Paket das tun könnte, was Sie wollen.
Ich werde schamlos aus @ fmarks Kommentar zu der Frage kneifen und ihm zustimmen, dass Ben Bolkers Notizen nützlich sind, ebenso wie diese frühere Frage , die kein genaues Duplikat ist, aber sehr ähnliche Themen abdeckt.
quelle