Matching-Verfahren Einige praktische Beispiele Marco Caliendo IAB-Workshop 10. Dezember 2002, Nürnberg 1. Einleitung - Matching (1) • Evaluation von AAMP gewinnt zunehmend an Bedeutung • Matching ist das momentan am meisten verwendete Verfahren im Evaluationskontext • Das fundamentale Evaluationsproblem wird durch Kontrollgruppenbildung gelöst • “Selection on observables” kann vollständig berücksichtigt werden • Konzept des “statistical twin” ist auch “Praktikern” gut zu vermitteln M. Caliendo, Matching-Workshop am 10.12.02, IAB, Nürnberg 2 1. Einleitung - Matching (2) • Folgende Voraussetzungen müssen erfüllt sein: – Teilnehmer- und Kontrollgruppendatensatz – Genügend erklärende Variablen, die die CIA rechtfertigen – Labour Market History / Ergebnisvariable muss ausreichend lang beobachtet werden – “Selection on unobervables” sollte keine Rolle spielen ⇒ Sind diese Punkte erfüllt, ist der Einsatz von Matching erfolgsversprechend M. Caliendo, Matching-Workshop am 10.12.02, IAB, Nürnberg 3 1. Einleitung - Matching (3) • Einige Punkte, die ein “ideales” Software-Programm können sollte: – Datenmanagement und – aufbereitung – Handeln von großen Datensätzen – Verschiedene Matching-Verfahren implementiert – Flexibel genug sein, um eigene Verfeinerungen zuzulassen (z.B. Common Support Condition) – “No Black Box” ⇒ Gibt es ein Programm, das alle Voraussetzungen erfüllt? M. Caliendo, Matching-Workshop am 10.12.02, IAB, Nürnberg 4 Überlick 1. Einleitung 2. Datenmanagement und – aufbereitung (SAS) 3. Datenanalyse - Matching (STATA / Gauss) 4. Diskussion zu speziellen Projekten/Fragen M. Caliendo, Matching-Workshop am 10.12.02, IAB, Nürnberg 5 Datenmanagement in SAS (1) Zuweisung einer Library: libname iab "c:\iab\Test"; Einlesen und Formatieren von Daten: data iab.AGE; infile "c:\iab\Test\AGE.txt input id age; label id = 'Identifikationsnummer' age = 'Alter der Individuen'; run; M. Caliendo, Matching-Workshop am 10.12.02, IAB, Nürnberg 6 Datenmanagement in SAS (2) Bearbeiten von Daten data iab.INCOME2; set iab.INCOME; where income gt 3000; run; data iab.INCOME2; set iab.INCOME; if income gt 3000 then do; Eink_3000 = 1; end; else do; Eink_3000 = 0; end; run; M. Caliendo, Matching-Workshop am 10.12.02, IAB, Nürnberg 7 Datenmanagement in SAS (3) Zusammenspielen verschiedener Dateien mit SQL: INNER JOIN (nur Individuen die in beiden Datensätzen vorhanden sind) proc sql; create table iab.both_i as select a.*, b.income from iab.AGE a INNER JOIN iab.income b on a.id = b.id; run; LEFT JOIN proc sql; create table iab.both_o as select a.*, b.income from iab.AGE a LEFT JOIN iab.income b on a.id = b.id; run; M. Caliendo, Matching-Workshop am 10.12.02, IAB, Nürnberg 8 Datenmanagement in SAS (4) Makroisierung von Arbeitsabläufen: %macro data_id(infile, id); data backup.&infile; set backup.&infile; data_id = &id; run; %mend data_id; %data_id(Nsw_c, 1) %data_id(Nsw_t, 2) M. Caliendo, Matching-Workshop am 10.12.02, IAB, Nürnberg 9 Der NSW-Datensatz (1) • Die “National Supported Work (NSW) Demonstration” war ein 6-18 monatiges Trainingsprogramm für Individuen mit “economic and social problems” • Ziel: Steigerung des Einkommens • Experimenteller Design – Zufällige Auswahl von Teilnehmer- und Kontrollgruppe • Basis für die meisten US-Matching-Papiere (LaLonde, 1986 / Dehejia,Wahba, 1999 / Smith, Todd, 2000) M. Caliendo, Matching-Workshop am 10.12.02, IAB, Nürnberg 10 Der NSW-Datensatz (2) • Teilnehmer: 185, Experimentelle Kontrollgruppe: 260 • Kontrollgruppe aus PSID: 2490 • Erklärende Variablen: Age, Education, Black, Hispanic, Married, Nodegree, Real Income 1974, Real Income 1975 • Ergebnisvariable: Real Income 1978 M. Caliendo, Matching-Workshop am 10.12.02, IAB, Nürnberg 11 Der NSW-Datensatz (3) Variables Treaties Controls PSID AGE 25,82 25,05 34,85 EDU 10,35 10,09 12,12 BLACK 0,84 0,83 0,25 HISPANIC 0,06 0,11 0,03 MARRIED 0,19 0,15 0,87 NODEGREE 0,71 0,83 0,31 RE74 2095,57 2107,03 19428,75 RE75 1532,06 1266,91 19063,34 RE78 6349,14 4554,80 21553,92 0,60 185 0,63 260 0,01 2490 U74BL Observations M. Caliendo, Matching-Workshop am 10.12.02, IAB, Nürnberg 12 Propensity Score Intercept AGE AGE2 EDU EDU2 MARRIED BLACK HISPANIC RE74 RE75 RE74_2 RE75_2 U74BL Logit Estimates Std. Error -7,4747 2,4435 0,3317 0,1203 -0,0064 0,0019 0,8493 0,3477 -0,0506 0,0172 -1,8855 0,2993 1,1360 0,3518 1,9690 0,5669 -0,0001 0,0000 -0,0002 0,0000 0,0000 0,0000 0,0000 0,0000 2,1441 0,4268 M. Caliendo, Matching-Workshop am 10.12.02, IAB, Nürnberg Probit Estimates Std. Error -4,4210 1,2902 0,1938 0,0637 -0,0036 0,0010 0,4390 0,1816 -0,0259 0,0090 -0,9617 0,1512 0,6637 0,1829 1,0905 0,2955 -0,0001 0,0000 -0,0001 0,0000 0,0000 0,0000 0,0000 0,0000 1,2314 0,2145 13 Matching mit psmatch (Sianesi) • psmatch treatment, estimate(Variablen-Liste) outcome(name) [logit nocommon] • psmatch treatment, estimate(Variablen-Liste) kernel(name) [logit bwidth nocommon epan] M. Caliendo, Matching-Workshop am 10.12.02, IAB, Nürnberg 14 Matching mit att* (Becker/Ichino) • pscore treatment Variablen-Liste, pscore(name) [logit] • attnd outcome treatment, pscore(name) • attnw outcome treatment, pscore(name) • attk outcome treatment, pscore(name) bwidth(0.06) [epan] M. Caliendo, Matching-Workshop am 10.12.02, IAB, Nürnberg 15 Erste Ergebnisse: • “True Treatment Effect: 1794 $ • Effekt mit naiver Kontrollgruppe: - 15205 $ Nearest Neighbourhood - Probit Nearest Neighbourhood - Logit Kernel - Logit Kernel - Probit Sianesi 1817 $ 1690 $ 870 $ 928 $ Becker / Ichino Caliendo / Zeiss 1817 $ / 1989 $* 1817 $ 1668 $ / 1848 $* 1690 $ 870 $ 870 $ 928 $ 928 $ *Attnd vs. attnw M. Caliendo, Matching-Workshop am 10.12.02, IAB, Nürnberg 16 Weitere Optionen in Stata: Becker/Ichino: { • Radius Matching (attr): C (i ) = p j pi − p j < r } • Stratification Method: blockwise comparison Sianesi: • Quality berechnet den standardized bias (Rosenbaum/Rubin, 1985): SB = 100 ⋅ X1 − X 0M (V1 ( X ) + V0 M ( X ) ) / 2 regressor mean1 mean1m mean0 black 0,84324 0,84324 0,2506 re74 2095,57 2095,57 19428,8 age 25,8162 25,8162 34,8506 mean0m 0,86486 1794,28 26,3892 biasbef biasaft abiasbef abiasaft absreduc 147,98 -5,3988 147,98 5,39885 96,3517 -171,78 2,98606 171,783 2,98606 98,2617 -100,94 -6,402 100,943 6,40196 93,6579 M. Caliendo, Matching-Workshop am 10.12.02, IAB, Nürnberg 17 Fazit • Stata (Psmatch / att*) ist ein durchaus hilfreiches Tools zur Matching-Analyse • Problem: “Black Box” in einigen Bereichen, deshalb voreingestellte Parameter überprüfen! • Datenmanagement problemtisch! ⇒ Leider gibt es z.Zt. noch kein Programm, dass alle Features vereint!!! M. Caliendo, Matching-Workshop am 10.12.02, IAB, Nürnberg 18