Statsby Output

Fragen zu Stata Syntax und Do-Files.

Statsby Output

Beitragvon dilling » Mi 10. Apr 2013, 18:19

Hallo,

ich möchte den Output verschiedener Regressionen in "sammeln".

Einzeln ist das alles kein Problem:
statsby _b[NormalizedCF] _b[Q],by(yearGroup) saving(ICFS,replace) : xtreg NormalizedCapex Q NormalizedCF if (QuartileKZwin25 == 1), robust fe

Wenn ich dies jedoch sagen wir in 20 verschiedenen Varianten machen will (der untersuchteZeitraum und die Variable im If-Statement ändert sich auch mehrmals), gibt es eine Möglichkeit alle Outputs (nur die zwei Beta Werte aber von jeder einzelnen Regression) aggregiert irgendwo zwischenzuspeichern? Wenn ich es als .dta speichere funktioniert ja append etc. meines Wissens nicht in diesem Fall da statsby nur eingeschränkt optionen zulässt.

Vielen Dank für Ideen!
dilling
 
Beiträge: 15
Registriert: Do 7. Feb 2013, 22:19
Danke gegeben: 0
Danke bekommen: 0 mal in 0 Post

Re: Statsby Output

Beitragvon daniel » Mi 10. Apr 2013, 20:10

Ich bin zwar nach wie vor nicht sicher, ob das, was Du da tust sinnvoll ist, aber ich betrachte mal nur die "technische" Seite. Ich denke, eine vorgefertigte Lösung gibt es hier nicht (mehr). Ich würde die (20!) verschiedenen Varianten (doch ein kurzer statistisch/ökonometrischer Hinweis: "beware the costs of data mining") in 20 .dta files speichern und diese dann -append-en. Alternativ könnten man die bs in einer Matrix speichern und das ganze -statsby- "nachbauen". In jedem Fall würde ich hier mit (genesteten?) loops (-help foreach- -help forvalues-) und einer Art parallel list processing (http://www.stata.com/support/faqs/progr ... lel-lists/) arbeiten. Wie das konkret aussieht, kommt auf das konkrete Problem an.
Stata is an invented word, not an acronym, and should not appear with all letters capitalized: please write “Stata”, not “STATA”.
daniel
 
Beiträge: 1060
Registriert: Sa 1. Okt 2011, 17:20
Danke gegeben: 0
Danke bekommen: 0 mal in 0 Post

Re: Statsby Output

Beitragvon dilling » Do 11. Apr 2013, 10:29

danke! sowas hatte ich mir auch schon überlegt, dachte mir nur das müsste viell doch einfacher gehen.

ps: Also hab nochmal mit der betreuerin geredet, Fixed Effects würd ich dann über mehrere Zeitreihen (wie du meintest) hinwegmachen und versuchen das ganze nochmal zu "demeanen" und dann mit cross sectional regression nochmal alles auf jährlicher basis zu machen. Wie das geht muss ich aber noch rausfinden ;-)
dilling
 
Beiträge: 15
Registriert: Do 7. Feb 2013, 22:19
Danke gegeben: 0
Danke bekommen: 0 mal in 0 Post

Re: Statsby Output

Beitragvon dilling » Do 11. Apr 2013, 10:49

sorry dass ich schon wieder was frage: ich überlege & google schon ne weile um folgendes Problem zu lösen:

ich mache mal ein einfaches Beispiel:

ich habe 5 Jahre: 2000 2001 2002 2003 2004.
für jedes Jahr gibt es Dividendendaten für X Firmen (Dividenden können Ausprägung "1=low ; 2=high" haben).
Die Dividendendaten bleiben nicht unbedingt konstant für jede Firma sondern können sich ändern.

Ich möchte jedoch jeder Firma nur EINEN Statuswert zukommen lassen über den ganzen 5-Jahre Zeitraum.
Dazu ist die Mehrzahl der Ausprägungen entscheidend: Wenn eine Firma z.b. 3mal "1" hat und 2mal "2" wird sie als "1" für den ganzen Zeitraum klassifiziert (logischerweise gibt es noch ein paar mehr Möglichkeiten).

Wie kann ich das in Stata handeln? (wahrs. etwas mit loops, komme aber noch nicht drauf)
dilling
 
Beiträge: 15
Registriert: Do 7. Feb 2013, 22:19
Danke gegeben: 0
Danke bekommen: 0 mal in 0 Post

Re: Statsby Output

Beitragvon daniel » Do 11. Apr 2013, 12:33

Abgesehen davon, dass durch diese Zusammenfassung natürlich Informationen verloren gehen, ist von der "technischen" Seite vermutlich kein loop nötig. Weiterhin würde ich dazu raten die konstanten Dividenden dann wenigstens mit 0 und 1 zu kodieren (code muss entsprechend angepasst werden), weil die Ausprägungen 1 und 2 in Regressionsanalysen nicht gut verwertbar sind.

Der folgende code geht davon aus, dass jede Firma genau 5 Jahre beobachtet wurde. Ist das nicht der Fall, sind entsprechende Anpassungen nötig.

Code: Alles auswählen
se more off

// create toy data
clear
inp fid year div
1 2001 1
1 2002 1
1 2003 1
1 2004 2
1 2005 2
2 2001 1
2 2002 2
2 2003 1
2 2004 2
2 2005 2
end

l

// create constant div
bys fid (year) : g foo = sum(div == 1)
bys fid (year) : replace foo = cond(foo[_N] >= 3, 1, 2)

l
Stata is an invented word, not an acronym, and should not appear with all letters capitalized: please write “Stata”, not “STATA”.
daniel
 
Beiträge: 1060
Registriert: Sa 1. Okt 2011, 17:20
Danke gegeben: 0
Danke bekommen: 0 mal in 0 Post

Re: Statsby Output

Beitragvon dilling » Do 11. Apr 2013, 12:59

vielen Dank, habe die Antwort mit dem bys command auch zufällig in einer deiner anderen Antworten gefunden und klappt perfekt.

ich will nicht direkt mit den beiden Ausprägungen regressieren, es ist eher ein Kriterium mit welcher der beiden Gruppen ich überhaupt regressiere (so ne Art Ausschlusskriterium) von daher sollte das dann kein Problem sein!

Danke nochmal!
dilling
 
Beiträge: 15
Registriert: Do 7. Feb 2013, 22:19
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