Seite 1 von 1

dekompositionsmodell ldecomp befehl

BeitragVerfasst: Fr 9. Aug 2013, 13:14
von Cipolina
Hallo,
ich möchte ein dekompositionsmodell machen mit dem befehl ldecomp.
Meine Variablen sind Gymnasium, soz_Klasse, rekodiert_Notendurchschnitt und Migrationshintergrund.
Ich bin bisher soweit schon gekommen:
ldecomp Gymnasium, direct(soz_Klasse) indirect(rekodiert_Notendurchschnitt) or

ich will das Modell allerdings noch mit der Bedingung Migrationshintergrund = 1 und einmal =0 machen.
Hab nun schon verschiedene Arten ausprobiert und auch schon unter help nachgeguckt.. aber das hat bisher nicht funktioniert. In der Syntax steht da nur:
ldecomp depvar [ control_var1 [...]] } [if] [in] [weight] ,
direct(varname) indirect(varlist) [ at(control_var1 # [;
control_var2 #] [...]) obspr predpr predodds or rindirect
normal range(# #) nip(#) interactions nolegend nodecomp
nobootstrap bootstrap_options ]

Ich habs zum Beispiel schon ganz simple probiert mit: ldecomp Gymnasium if Migrationshintergrund==1, direct(soz_Klasse) indirect(rekodiert_Notendurchschnitt) or
allerdings ist mir dann angezeigt worden: variable __000001 not found

Re: dekompositionsmodell ldecomp befehl

BeitragVerfasst: Fr 9. Aug 2013, 14:40
von daniel
allerdings ist mir dann angezeigt worden: variable __000001 not found


Klingt nach einem bug in -ldecomp- (SJ). Bitte gib an, wo Du Programme, die nicht Teil des ofiziellen Stata release sind gefunden hast. Du könntest den Autoren (Maarten Buis) direkt anschreiben. Am besten mit repliziebarem Beispiel.

Ich halte mich bei der Dekomposition von direkten und Indirekten Effekten an die KHB Methode (Karlson et al. 2011, Breen et al. 2010) zu der es ebenfalls ein ado-file (-khb-) vom SSC server gibt.


Breen, R./Karlson, K.B./Holm, A. (Forthcoming). Total, direct, and indirect effects in logit models. Accepted for publication in: Sociological Methods and Research.
(http://www.researchgate.net/publication ... git_Models)

Karlson, K.B./Holm, A. (2011): Decomposing primary and secondary effects: A new decomposition method. Research in Stratification and Social Mobility 29:221-237.

Re: dekompositionsmodell ldecomp befehl

BeitragVerfasst: Fr 9. Aug 2013, 16:01
von Cipolina
Ich hab das von der Seite hier (http://maartenbuis.nl/software/ldecomp.html). Also hab einfach ssc install ldecomp eingegeben.
Wenn ich das ganze ohne if Migrationshintergrund==1 eingebe, funktioniert das normal. Muss ichd a vielleicht irgendwelche Klammern verwenden oder so? Aber so wie es in der Syntax steht müsste ich es ja richtig gemacht haben, eigentlich

Die KHB Methode sollten wir nicht benutzen. Ich orientier mich dabei grade an dem Text von Maarten Buis aus dem Stata Journal: Direct and indirect effecta in a logit model
(http://www.stata-journal.com/sjpdf.html?articlenum=st0182)

Re: dekompositionsmodell ldecomp befehl

BeitragVerfasst: Fr 9. Aug 2013, 16:16
von daniel
Wenn ich das ganze ohne if Migrationshintergrund==1 eingebe, funktioniert das normal. Muss ichd a vielleicht irgendwelche Klammern verwenden oder so?

Wie gesagt, hast Du m.E. keinen Eingabefehler gemacht. __000001 ist eine temporäre Variable, die innerhlab des Programms -ldecomp- erzeugt wird. Die Fehlermeldung ist vermutlich ein bug (i.e. ein Fehler im Programm-code von Maarten Buis), den ich auf Anhieb nicht finden kann.

Ich bin mir nicht sicher, ob Du nicht vielleicht eher sowas willst, bzw. ob das ein work-around für Dein Problem wäre

Code: Alles auswählen
ldecomp Gymnasium  Migrationshintergrund ,direct(soz_Klasse) indirect(rekodiert_Notendurchschnitt) at(Migrationshintergrung 1) or
ldecomp Gymnasium  Migrationshintergrund ,direct(soz_Klasse) indirect(rekodiert_Notendurchschnitt) at(Migrationshintergrung 0) or


Ansonsten kannst Du wie gesagt Maarten Buis anschreiben, oder etwas in der Richtung machen

Code: Alles auswählen
preserve
keep if Migrationshintergrund == 1
ldecomp  Gymnasium ,direct(soz_Klasse) indirect(rekodiert_Notendurchschnitt)  or
restore
preserve
keep if Migrationshintergrund == 0
ldecomp  Gymnasium ,direct(soz_Klasse) indirect(rekodiert_Notendurchschnitt)  or
restore

Re: dekompositionsmodell ldecomp befehl

BeitragVerfasst: Fr 9. Aug 2013, 16:20
von Cipolina
Hmm.. ne das funktioniert leider auch nicht.
each element in the at() option must contain of two elements
the first element is one of the control variables and the second element its value
an error occurred when bootstrap executed _ldecomp



EDIT: Das zweite hat funktioniert. Super, danke!

Re: dekompositionsmodell ldecomp befehl

BeitragVerfasst: Fr 9. Aug 2013, 16:46
von daniel
Mag ein Tippfehler sein. Beachte, dass ich "Migrationshintergung" statt "Migrationshintergund" geschrieben habe. Naja, solange der work-around hilft, nicht weiter tragisch.