Propensity Score, der mit Panel-Daten übereinstimmt

13

Ich habe einen longitudinalen Datensatz von Personen und einige von ihnen wurden einer Behandlung unterzogen und andere nicht. Alle Personen sind von der Geburt bis zum 18. Lebensjahr in der Stichprobe und die Behandlung erfolgt in einem Alter zwischen diesem Bereich. Das Alter der Behandlung kann von Fall zu Fall unterschiedlich sein. Mit dem Propensity-Score-Matching möchte ich behandelte und kontrollierte Einheiten paarweise mit genauem Matching zum Geburtsjahr abgleichen, sodass ich jedes Paar von ihrem Geburtsjahr bis zum 18. Lebensjahr nachverfolgen kann. Insgesamt gibt es etwa 150 behandelte und 4000 unbehandelte Personen. Nach dem Matching besteht die Idee darin, eine Differenz-in-Differenz-Strategie zu verwenden, um den Effekt der Behandlung abzuschätzen.

Das Problem, mit dem ich im Moment konfrontiert bin, ist das Matching mit Paneldaten. Ich verwende den psmatch2Befehl von Stata und stimme mit dem Propensity Score Matching auf Haushalts- und individuelle Merkmale ab. Im Allgemeinen wird es bei Panel-Daten in jedem Alter unterschiedliche optimale Übereinstimmungen geben. Als Beispiel: Wenn A behandelt wird, sind B und C Kontrollen und alle wurden 1980 geboren, dann können A und B 1980 im Alter von 0 Jahren zugeordnet werden, während A und C 1981 im Alter von 1 Jahren usw. zugeordnet werden . Außerdem kann A mit seinen eigenen Vorbehandlungswerten aus früheren Jahren abgeglichen werden.

Um dieses Problem zu umgehen, habe ich den Durchschnitt aller zeitlich variierenden Variablen so ermittelt, dass durch das Matching Personen identifiziert werden können, die sich im Durchschnitt über die Dauer der Stichprobe am ähnlichsten sind, und ich führe das Matching für jede Altersgruppe von 0 bis 18 Jahren separat durch. Leider entspricht dies immer noch einer anderen Steuereinheit für jede behandelte Einheit pro Altersgruppe.

Wenn mich jemand auf eine Methode zum paarweisen Abgleich mit Paneldaten in Stata hinweisen könnte, wäre dies sehr dankbar.

Andy
quelle

Antworten:

9

Grundsätzlich müssen Sie ein Großformat-Dataset mit allen für das Matching relevanten Merkmalen erstellen, das Matching für dieses Querschnitts-Dataset durchführen und dann anhand der ID das Matching-Paar im Panel-Dataset identifizieren. Hier einige Details:

  1. Verwenden Sie reshapediese Option , um ein breitformatiges Dataset zu erstellen. Formatieren Sie die Vorbehandlungsvariablen so, wie Sie sie im Abgleichsverfahren verwenden möchten. Sie können einfach den Durchschnitt Ihrer Variablen berechnen, wenn Sie mehrere Beobachtungen für eine Person haben, aber Sie können auch andere Möglichkeiten finden (Sie können auch mehrere Beobachtungen derselben Variablen wie health1, health2 speichern und alle im Matching verwenden ). Das Ziel ist ein Datensatz mit einer Beobachtung pro Person .

  2. Führen Sie anhand dieses Datensatzes den Abgleich mit durch psmatch2.

  3. Führen Sie die Informationen zu den übereinstimmenden Fällen mit dem ursprünglichen Datensatz zusammen. Löschen von Fällen, die nicht übereinstimmen usw. Ich bin mir nicht sicher, was die Details angeht, da ich die Daten nicht wirklich kenne, psmatch2aber ich denke, Sie haben eine Idee.

Mit diesen Schritten können Sie Fälle basierend auf allen Informationen vor der Behandlung abgleichen, und Sie haben nur eine Übereinstimmung pro Behandlungseinheit.

greg
quelle
3
Ich weiß wirklich nicht, warum dieser Beitrag herabgestimmt wurde, weil diese Antwort tatsächlich hilft. Ich werde es wieder abstimmen. Vielen Dank, Greg!
Andy
5

Es gibt keine Möglichkeit, dies in Stata oder einer anderen mir bekannten Software zu tun .

Wenn Sie versuchen, einen voreingenommenen Matching Estimator mit Paneldatentechniken zu patchen, ist hier ein Ansatz, der möglicherweise funktioniert. Wenn Sie davon ausgehen können, dass der Abgleich einige, aber nicht alle Auswahlfehler berücksichtigt, der Fehler jedoch über die Zeit weitgehend konstant bleibt, können Sie den zeitinvarianten Teil des Fehlers entfernen, indem Sie separate Abgleichschätzungen für jeden Zeitraum und jede Periode erstellen der Unterschied.

Sei die Vorbehandlungsperiode und t ' die Nachbehandlung. Wenn der unbehandelte Zustand das Ergebnis Y 0 erfülltttY0

E[Y0t|X,D=1]E[Y0t|X,D=0]=E[Y0t|X,D=1]E[Y0t|X,D=0]=Bias,
ΔtM=ΔTT+BiasΔtM=BiasΔtMΔtM=ΔTT

Heckman, Ichimura, Smith und Todd 1998 Econometrica und Eichler und Lechner 2002 Labour Economics Papers sind Beispiele für diesen Ansatz. Andererseits reichen 150 behandelte Beobachtungen möglicherweise nicht aus, damit dieser Ansatz funktioniert.

Dimitriy V. Masterov
quelle
1
Es sollte möglich sein , Personen paarweise für Paneldaten übereinstimmen , weil diese beiden Papiere ( paper1 , paper2 ) tun es auch. Leider geben die Autoren nicht genau an, wie sie es getan haben. Die Idee, die Sie mit Heckman et al. (1998) beschreiben, ist genau der Grund für die Verwendung von Diff-in-Diff nach dem paarweisen Matching.
Andy
Mir ist nicht klar, dass Panel Matching durchgeführt wird, aber Sie haben Recht, dass die Verfahren vage sind. Die Autoren haben pscore geschrieben, was eine gewisse Hilfsbereitschaft signalisiert. Vielleicht klärt eine E-Mail an sie die Dinge. Berichten Sie, was sie sagen. Das ist eine wichtige Frage.
Dimitriy V. Masterov
0

Schritte:

  1. Wie von Greg ausführlich erwähnt, können Sie einen Querschnittsdatensatz entweder für Vorbehandlungsmittel oder für eine bestimmte Vorbehandlungsperiode verwenden, um das Matching zu generieren.

  2. Über das gesamte Panel ordnen Sie Indikatorvariablen zu für
    a. TreatedIndividual
    b. TreatedPeriod, letzteres ist gleich Null, sobald die Behandlung für das TreatedIndividual erfolgt.

    Da der Zeitpunkt, zu dem sich die behandelte Periode von 0 auf 1 ändert, von Person zu Person unterschiedlich ist und für unbehandelte Spiele niemals auf 1 wechselt, müssen Sie dem unbehandelten Spiel denselben Startpunkt vom behandelten Spiel zum unbehandelten Spiel zuweisen. Das ist intuitiv, aber ich würde mir immer noch eine gute Referenz wünschen, die diesen Ansatz rechtfertigt, den ich bisher nicht gefunden habe.

Der Regressionsaufbau wäre:

depvar = treatedIndvidual + treatedPeriod  + treatedIndvidual*treatedPeriod + controls

wo der Interaktionsbegriff Ihnen den Behandlungseffekt gibt.

Matthias
quelle
-2

Haben Sie darüber nachgedacht, den nnmatch zu verwenden ? Befehl ?

Ich benutze diesen Befehl und es ist ein ziemlich umfassender. Dabei werden verschiedene Matching-Algorithmen und auch Fälle berücksichtigt, in denen der Propensity Score für einige Kontrollgruppen-Individuen gleich ist. Natürlich hängt die Behandlung dieses Falls vom Matching-Algorithmus ab, ob Sie k-next-neighbour oder kernel oder was auch immer nehmen.

Statistiker
quelle
In dem Artikel, auf den Sie verwiesen haben, werden keine Paneldaten erwähnt. Wenn ja, geben Sie bitte einen bestimmten Code an, um die Frage von OP zu beantworten.
Metrics
Die genaue Zuordnung ist einfacher, aber insgesamt ist nnmatch komplizierter, da übereinstimmende IDs nicht im aktuellen Datensatz, sondern in einem separaten Datensatz gespeichert werden. Am Ende habe ich einen Datensatz für jede Altersgruppe, der mit den Originaldaten zusammengeführt werden muss. In diesem Fall funktioniert das Zusammenführen nicht, da die Übereinstimmungsmerkmale Personen in den Originaldaten nicht eindeutig identifizieren. Leider bietet dies keine Lösung.
Andy