Matiching innerhalb eines Datensatzes

Fragen zu Stata Syntax und Do-Files.

Matiching innerhalb eines Datensatzes

Beitragvon Problemkind91 » Mi 15. Mai 2013, 13:08

Hallo,

ich bin total verzweifelt! Bin einabsoluter STATA-Neuling.

Ich habe folgendes Problem:

Ich habe in meinem Datensatz Daten von Unternehmen über 10 Jahre. Die Unternehmen werden in zwei Gruppen untergliedert. Ich möchte zu einem Unternehmen der ersten Gruppe ein vergleichbares (z.B. ähnlich hohe Marktkapitalisierung,...) der anderen Gruppe identifizieren.

Jetzt war meine Iddee propensity score matching

ABER: das matching soll nur in einem bestimmten Monat geschehen (der aber wiederum für jedes Unternehmen unterschiedlich ist)

Leider fällt mir sonst nichts mehr ein.

Ich hoffe sehr, dass mir jemand helfen kann ;)
Problemkind91
 
Beiträge: 5
Registriert: Mi 15. Mai 2013, 12:41
Danke gegeben: 0
Danke bekommen: 0 mal in 0 Post

Re: Matiching innerhalb eines Datensatzes

Beitragvon daniel » Mi 15. Mai 2013, 14:45

Im ersten Schritt solltest Du das sample zurechtschneiden. Behalte nur die Fälle, die Du für das matching verwenden willst.

-psmatch2- (SSC) ist m.W. das geeignete Program zum Durchführen des matchings.

Ansonsten sind die Angaben sehr grob, sodass eine exaktere Hilfestellung schwierig ist.
daniel
 
Beiträge: 1060
Registriert: Sa 1. Okt 2011, 17:20
Danke gegeben: 0
Danke bekommen: 0 mal in 0 Post

Re: Matiching innerhalb eines Datensatzes

Beitragvon Problemkind91 » Mi 15. Mai 2013, 15:51

Vielen Dank erst mal für die Antwort :)

Sample zurechtschneiden= die restlichen Daten aus dem Datensatz raus löschen ??!!

Hatte ich mir auch schon überlegt, aber ich habe ca. 200 verschiedene Fälle d.h. ich bräuchte 200 verschiedene Datensätze :(

Kann man das eventuell mit einer Schleife lösen?

Also ich habe Unternehmen x (aus Gruppe 1) mit bspw. 3 verschiedenen Eigenschaften im monat mai des Jahres 2013
jetzt möchte ich aus dem Pool der anderen Untrernehmen (Gruppe 2) das Unternehmen rausgefiltert bekommen das den Eigenschaften zu dem selben Zeitpunkt am ähnlichsten ist (ich habe aber die Eigenschaften über den Zeitraum von 10 Jahren vorliegen also quasi 120 Werte) ich möchte aber, dass nur der eine Wert des Monats Mai 2013 beim Matching berücksichtigt wird.
Problemkind91
 
Beiträge: 5
Registriert: Mi 15. Mai 2013, 12:41
Danke gegeben: 0
Danke bekommen: 0 mal in 0 Post

Re: Matiching innerhalb eines Datensatzes

Beitragvon daniel » Mi 15. Mai 2013, 16:16

Schleifen wären, wenn überhaupt, wohl nur im weiten Format nötig. Ich weiß nicht, was ich konkret schreiben soll. Natürlich behälst Du die Originaldaten gespeichert, aber ich denke, alles weitere ist einfacher, wenn Du nur die Fälle behäst, i.e. den Rest löschst, den Du auch in den Analysen verwenden willst.

Hatte ich mir auch schon überlegt, aber ich habe ca. 200 verschiedene Fälle d.h. ich bräuchte 200 verschiedene Datensätze


Verstehe ich leider gar nicht. Wenn Du nur Daten vom Mai haben willst, löschst Du alle anderen.
daniel
 
Beiträge: 1060
Registriert: Sa 1. Okt 2011, 17:20
Danke gegeben: 0
Danke bekommen: 0 mal in 0 Post

Re: Matiching innerhalb eines Datensatzes

Beitragvon Problemkind91 » Mi 15. Mai 2013, 16:24

Für Unternehmen x betrachte ich Mai 2009
Für Unternehmen y betrachte ich Juni 2009
.....
d.h. wenn ich für den ersten Fall die restlichen raus lösche, hab ich die Daten für Fall 2 nicht mehr :cry:

Hoffe das wird jetzt ein bisschen verständlicher ;)
Problemkind91
 
Beiträge: 5
Registriert: Mi 15. Mai 2013, 12:41
Danke gegeben: 0
Danke bekommen: 0 mal in 0 Post

Re: Matiching innerhalb eines Datensatzes

Beitragvon daniel » Mi 15. Mai 2013, 16:32

Hoffe das wird jetzt ein bisschen verständlicher


Leider nein. Das Ganze klingt sehr unsystematisch und wo keine Systematik da keine Automatisierung. Wenn Du das ganze nicht auf eine einfache "Formel" runterbrechen kannst, musst Du das wohl alles "händisch" machen.

Vielleicht wird es einfacher, wenn Du einen Beispieldatensatz erzeugst, der zeigt wie genau Deine Daten aussehen, und einen der zeigt, wie genau Du möchtest, dass die Daten am Ende aussehen.

Nebenbei: Bist Du Dir im Klaren darüber, welche Analysen Du genau durchführen möchtest, und wie die Daten dazu aussehn müssen. Es kann mühsam sein hier ewig rumzumachen, um am Ende festzustellen, dass die gewählte Methode gar nicht zielführend zur Beantwortung der Forschungsfrage ist.
daniel
 
Beiträge: 1060
Registriert: Sa 1. Okt 2011, 17:20
Danke gegeben: 0
Danke bekommen: 0 mal in 0 Post

Re: Matiching innerhalb eines Datensatzes

Beitragvon Problemkind91 » Fr 17. Mai 2013, 22:19

so sorry hat etwas länger gedauert...

STATA Forum.xlsx
Beispieldatensatz
(41.29 KiB) 256-mal heruntergeladen


Firm_ID identifiziert jedes Unternehmen eindeutig
Date ist das jeweilige Datum
MV Marktkapitalisierung
MVTB Market Value to Book
TRBCECONSECCODE ist die Industrieklassifizierung
Eventdate ist der jeweilige Monat der für das Matching betrachtet wird
EJahr ist das Jahr indem gematcht werden soll
EMonat ist der Monat indem gematched werden soll

Eventfirm ist eine Dummy Variable
1 für die Unternehmen, für die ein passendes Unternehmen gesucht werden soll
0 für die Unternehmen, aus denen ein passendes gesucht wird

...der Rest ist eigentlich nicht relevant für das Matchingverfahren



Mir ist eigentlich egal wie der Datensatz hinter her aussehen soll... ich möchte halt einfach für jedes Unternehmen einen Matchingpartner zugeschrieben bekommen.

Ja ich bin mir sicher, dass dies für mich zielführend ist! Letztendlich möchte ich anhand der buy and hold abnormal return Methode abnormale Renditen berechnen (und das geht halt nur mit einem Benchmark Unternehmen
Problemkind91
 
Beiträge: 5
Registriert: Mi 15. Mai 2013, 12:41
Danke gegeben: 0
Danke bekommen: 0 mal in 0 Post

Re: Matiching innerhalb eines Datensatzes

Beitragvon daniel » Fr 17. Mai 2013, 23:18

Ich weiß, ich kann nur meckern, aber leider ist der Datensatz nicht im geringsten hilfreich. Es gibt lediglich 9 Fälle und zwei Frimen, von denen kein einziger als Kontrollgruppe in Frage kommt (Eventfirm ist entweder 1 oder fehlt). Zudem variert Eventdate nicht, was es schwer macht, zu erahnen, was genau Du mit

das matching soll nur in einem bestimmten Monat geschehen (der aber wiederum für jedes Unternehmen unterschiedlich ist)


meinst, und nach welchen Kriterien dieser Monat für welches Unternehmen festgelegt wird. Die Variablen EJahr und EMonat sind mir schleierhaft, da hier lediglch die Informationen enthalten sind, die bereits in Eventdate stehen. Weiter Variablen, wie Monat, die (a) in keinem nachvollziehbaren Zusammenhang zu den restlichen Angaben stehen, und (b) für Dein Problem (verutlich) irrelavant sind, sollten natürlich auch nicht im Beispieldatensatz auftauchen.

Des Weiteren kann Dir nicht
egal [sein] wie der Datensatz hinter her aussehen soll...


Es geht hier nämlich weniger um Deine ästhetischen Vorstellungen, sondern darum ob das, was Du willst, überhaupt in einer Datenmatrix darstellbar und daher auch berechnbar ist. Als Beispiel: häufig wollen Leute z.B. einzelne Fälle einzelner Variablen "löschen". Das käme einem Löschen einzelner Zellen in der Datenmatrix gleich -- was schlichtweg unmöglich ist. Du solltest also eine ziemlich exakte Idee davon haben, wie die Datenmatrix, auf der Du Deine Berechnungen basieren willst aussehen wird.

Zumindest solltest Du bereist jetzt in der Lage sein, das oder die Analyse Befehle aufzuschreiben, die Du verwenden willst. Ohne diese Information, besteht eine hohe Wahrscheinlichkeit viel Aufwand in eine unnötige Datenaufbereitung zu stecken.

Hast Du mal genauer in -psmatch2- reingeschaut, und Dich mit propensity score matching befasst? Ich bin mir gar nicht sicher, ob hier eine Datenaufbereitung, wie Du sie im Sinn hast, wirklich sinnvoll ist.

Was wäre mit einem Ansatz der Richtung

Code: Alles auswählen
psmatch2 Eventfirm MV MVTB


verkehrt?
daniel
 
Beiträge: 1060
Registriert: Sa 1. Okt 2011, 17:20
Danke gegeben: 0
Danke bekommen: 0 mal in 0 Post


Zurück zu Stata Syntax

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 3 Gäste