New In

Robuste Inferenz für lineare Modelle

Stata 18 bietet präzisere Standardfehler und Konfidenzintervalle (CIs) für drei häufig verwendete lineare Modelle in Stata: regress, areg, und xtreg, fe.

 

Höhepunkte

  • Mehrweg-Cluster-robuste Standardfehler

  • HC2-Standardfehler: 

    • Anpassung der Freiheitsgrade

    • Cluster-robust

    • Cluster-robuste und Freiheitsgrad-Anpassung

  • Wild cluster bootstrap Konfidenzintervalle und p-Werte

Kleine Anzahl von Clustern? Ungleiche Anzahl von Beobachtungen pro Cluster? Verwenden Sie HC2 mit Freiheitsgradanpassung, Option vce(hc2 …, dfadjust), oder wild cluster bootstrap, um gültige Schlussfolgerungen zu erhalten.

Mehrere nicht verschachtelte Cluster? Verwenden Sie Multiway-Clustering, Option vce(cluster group1 group2 … groupk), um die potenzielle Korrelation von Beobachtungen in verschiedenen Clustern zu berücksichtigen.

Wir wollen sehen, wie es funktioniert

Wir haben ein Panel von Einzelpersonen und möchten die Auswirkungen der Zugehörigkeit zu einer Gewerkschaft auf den Logarithmus des Lohns ln_wage untersuchen. Wir kontrollieren, ob die Person einen Hochschulabschluss hat collgrad, für die Dauer der Betriebszugehörigkeit und für zeitfixe Effekte.

Wir vergleichen verschiedene Methoden zur Berechnung von Standardfehlern: robuste, clusterrobuste, clusterrobuste HC2 mit Freiheitsgradanpassung und Zwei-Wege-Clustering. Bei der zweiten und dritten Methode wird die Korrelation auf Branchenebene berücksichtigt. Bei der letzten Methode wird die Korrelation sowohl auf Branchen- als auch auf Berufsebene berücksichtigt. In unserem Beispiel verwenden wir nur 12 Cluster, was gegen die Annahme der asymptotischen Näherung verstößt, dass die Anzahl der Cluster mit dem Stichprobenumfang wächst. Wir beschränken unsere Stichprobe auf Beobachtungen, bei denen der Branchencode ind_code verfügbar ist. Wir speichern auch die Schätzungsergebnisse. Wir geben ein

. webuse nlswork
(National Longitudinal Survey of Young Women, 14-24 years old in 1968)

. keep if ind_code!=.
(341 observations deleted)

. quietly regress ln_wage tenure union collgrad i.year, vce(robust)

. estimates store robust

. quietly regress ln_wage tenure union collgrad i.year, vce(cluster ind_code)

. estimates store cluster

. quietly regress ln_wage tenure union collgrad i.year, vce(hc2 ind_code, dfadjust)

. estimates store HC2

. quietly regress ln_wage tenure union collgrad i.year, vce(cluster idcode ind_code)

. estimates store multiway

Anstatt alle Regressionsergebnistabellen zu betrachten, fassen wir sie mit Hilfe von etable zu einer Schätzungstabelle zusammen.

Wir haben etable gebeten, die von uns gespeicherten Schätzungen zu verwenden und nur die CIs, cstat(_r_ci, …), für den Koeffizienten auf union, keep(union), darzustellen. Anschließend exportieren wir die Tabelle in die .html-Tabelle, die Sie auf dieser Seite sehen, export(setable.html, replace).

Die KI sind am engsten mit robusten Standardfehlern. Sie sind am weitesten mit HC2-Freiheitsgraden bereinigten Standardfehlern. Im letzteren Fall liegt 0 innerhalb der KI, was darauf hindeutet, dass wir bei der Interpretation der Auswirkungen der Gewerkschaftszugehörigkeit auf die Löhne vorsichtig sein sollten. Dies steht im Gegensatz zu der Schlussfolgerung, die wir gezogen hätten, wenn wir nur robuste Standardfehler verwendet hätten. Schließlich scheint es kaum einen Unterschied zwischen der Clusterbildung auf Branchenebene und der Clusterbildung sowohl auf Branchen- als auch auf Berufsebene zu geben.

Wir können auch wild cluster bootstrap verwenden, um eine kleine Anzahl von Clustern und eine ungleiche Anzahl von Beobachtungen pro Cluster zu berücksichtigen. Diese Funktion ist in dem neuen Befehl wildbootstrap implementiert. Wir beschreiben diese Funktion im Detail in Wild cluster bootstrap, aber wir wollen sie auch hier zum Vergleich verwenden.

. wildbootstrap regress ln_wage tenure union collgrad i.year,
	cluster(ind_code) coefficients(union) rseed(111)

wildbootstrap ruft regress auf. Danach können Sie immer noch auf die Ergebnisse von regress zugreifen. Darüber hinaus konstruiert wildbootstrap Bootstrap-CIs für die Nullhypothese, dass ein Koeffizient 0 ist. Standardmäßig werden alle Koeffizienten verwendet, aber Sie können auswählen, welche Sie untersuchen möchten. Wir konzentrieren uns auf Union. Da wir auf Clusterebene resamplen, geben wir die Variable ind_code in cluster() an und setzen einen Seed für die Reproduzierbarkeit.

Die von wildbootstrap gemeldete KI ist fast so breit wie die, die wir bei Verwendung der HC2-Standardfehler gemeldet haben. Obwohl 0 nicht in der KI enthalten ist, deutet dies auf eine große Variabilität in der Punktschätzung hin.