Interaktion mit dummies

Statistische Auswertung von Longitudinal- und Panel-Daten mit Stata.

Interaktion mit dummies

Beitragvon LassmichArzt,ichbindurch! » Mo 23. Jan 2012, 17:53

Servus zusammen,

bei mir ists so, dass ich sowohl im Forum als auch in der Statistik im Allgemeinen recht neu bin. Bin mit einer Auswertung für meine Diss bis zu einem gewissen Punkt gekommen, nun da es immer undurchsichtiger wird schaue ich mal ob mir jemand weiterhelfen kann. Also:

Es wurde ein Versuch durchgeführt, bei dem 4 Gruppen von Tieren je ein Treatment in Form von unterschiedlichen Futtermitteln genossen haben (treat 1-4). Die gemessene abhängige Variable sind Parasiteneier die vom Tier ausgeschieden werden (fecdm). fecdm wurde 4 Mal erhoben, am Tag 4,7,11 und 14 des Versuchs. Weitere erklärende Variablen zusätzlich zum Treatment sind Proteinaufnahme (apde), Anzahl Junge (laemmer1-3) und die Zeit (time). Die Zeit habe ich erhalten nach der Umformung von breit nach lang. Als orientierungsvariable habe ich die Identität der Tiere angegeben (id). Dies ist zugleich auch mein zufälliger Effekt. Für die Auswertung der Gruppenzugehörigkeit bzw. des Treatments wurden in 4 Dummy Variablen (treat1-4) geschaffen. Ebenso wie für die 3 Kategorien der Jungen (laemmer1-3).

Folgendenden Befehl habe ich stata vorgegeben: . xtmixed fecdm treat2 treat3 treat4 apde laemmer2 laemmer3 time|| id:

treat2 & 3 unterscheiden sich signifikant zum Referenztreatment 1. Auch die Zeit ist signifikant. Die SATATA-Ausgabe für den Modellbefehl versuch ich mal als Datei anzuhängen.

Dann hat mich jemand vom Fach darauf hingewiesen, dass ich zwischen den Treatments und der Zeit Interaktionsterme schaffen sollte, falls es Interaktion gibt. In so entwas ähnlichem wie einem Conditional-Effects-Plot habe ich die Steigungen von fecdm gegeüber der Zeit in abhängigkeit von der Gruppenzugehörigkeit dargestellt. Versuche ich auch anzuhängen. Da die Steigung der 4 Geraden nicht parallel verläuft, schliesse ich auf das Vorhandensein von Interaktion. Also nehme ich die Interaktionsterme in die Gleichung auf. So:

xtmixed fecdm treat2 treat3 treat4 apde laemmer2 laemmer3 treat2time treat3time treat4time time|| id:

Ich habe dabei die Interaktionen analog zum treat1-4 auch als Dummy Variablen behandelt und die Interaktion treat1time als Referenz genommen. Das Ergebnis ist nun, dass das treat 2 und 3 nicht mehr signifikant sind. Hingegen sind die Interaktionen treat2time und treat3time signifikant.
Wie das ganze interpretieren?
Ist es überhaupt richtig die Interaktionen als Dummies reinzunehmen und auf eine Referenzinteraktion1 zu beziehen?

Ich bin dankbar für alle Tips.

Kann mir übrigens noch jemand den Tip geben wie ich Datein hochladen kann? Also folgende Dateien wurden versucht und nicht akzptiert: docx, doc, txt, pdf. Leider zeigen die FAQ nur Buchstabensalat wenn ich doppelklick, falls die Info dort zu finden wäre.
Viele Grüsse
LmAibd!
Zuletzt geändert von LassmichArzt,ichbindurch! am Di 24. Jan 2012, 17:52, insgesamt 1-mal geändert.
LassmichArzt,ichbindurch!
 
Beiträge: 7
Registriert: Fr 6. Jan 2012, 11:48
Danke gegeben: 0
Danke bekommen: 0 mal in 0 Post

Re: Interaktion mit dummies

Beitragvon STATWORX » Mo 23. Jan 2012, 21:29

Hallo,

prinzipiell ist dieses Vorgehen korrekt, es kann allerdings aufgrund von Kollinearität der Interaktionen mit der time-Variable zu einer Inflation der geschätzten Standardfehler kommen was zu Insignifikanzen im Modell führen kann (insbesondere in kleinen Samples). Verbessert sich durch die Hinzunahme der Interaktionen das Modell signifikant? Wenn nein, würde ich zu einer einfacheren Modellspezifikation tendieren.

VG
STATWORX
STATWORX
Administrator
 
Beiträge: 31
Registriert: So 25. Sep 2011, 16:19
Danke gegeben: 0
Danke bekommen: 0 mal in 0 Post

Re: Interaktion mit dummies

Beitragvon LassmichArzt,ichbindurch! » Di 24. Jan 2012, 10:31

Hallo ,

erstmal Danke für die Antwort. Das mit der Kollinearität habe ich auch schon überlegt. Nun habe ich den Befehl .collin zum Erkennen von Kollinearität aktualisiert und die ganze Gleichung (ohne die abh. Var.) hinter dem Befehl eingegeben. In diesem Fall haben die Treatments2-4 einen Variance Inflation Factor (vif) von 9-10 und die Interaktionen der Treatments*Time von 9 - 11. Die Variable time hat einen Wert um die 4. Ich glaube 11 wird hier als Grenze gesehen, ab wann Kollinearität definiert wird.

Grundsätzlich würde ich ja gerne die Variable time rausnehmen. Da diese mir ohne die Interaktionen eh nur eine Steigung für alle treatments ausgibt. Geht das? Denn ohne die Variable time ist der vif Wert für alle ungefähr nur noch die Hälfte. Wäre das eine einfachere Modellspezifikation?
Machen es die vielen Dummy Variablen nicht ziemlich kompliziert, gibt es da nicht eine feinere Lösung, etwa statt der 4 Dummys fürs Treatment nur die ursprüngliche Variable reinzunehmen, die dann 4 Effektstufen hat?

Mein Problem ist, dass ich momentan die Modelle nicht vergleichen kann, da Wissenslücke. Ich brauche glaube ich ein Verfahren das BIC und/oder AIC heisst dazu, ich weiss aber noch nicht wie und unter welchen Voraussetzungen ich dies Anwenden kann.

Übrigens dind je treatment 20 n vorhanden.

Grüsse
Steffen
LassmichArzt,ichbindurch!
 
Beiträge: 7
Registriert: Fr 6. Jan 2012, 11:48
Danke gegeben: 0
Danke bekommen: 0 mal in 0 Post

Re: Interaktion mit dummies

Beitragvon STATWORX » Di 24. Jan 2012, 22:57

Hallo,

die VIF-Werte sind m.E. viel zu hoch. Wir verwenden hier Grenzwerte zwischen 4 und 8. Time solltest Du nicht entfernen, da immer das Paar Haupteffekt (time) + Interaktion betrachtet wird.

Workaround (der aber umstritten ist). Führe eine Mittelwertzentrierung von time durch und erstelle dann die Interaktionsterme neu. Die zentrierte Variable time wird im Modell belassen.

VG
STATWORX
STATWORX
Administrator
 
Beiträge: 31
Registriert: So 25. Sep 2011, 16:19
Danke gegeben: 0
Danke bekommen: 0 mal in 0 Post

Re: Interaktion mit dummies

Beitragvon daniel » Mi 25. Jan 2012, 12:08

STATWORX hat recht. Die Diagnose und die Lösung von Problemen aufgrund von Kollinarität sind umstritten. Greene (2008: 60) setzt die Daumenregel für mögliche Probleme bei Kolliniarität erst bei VIF Werten ab 20 an. Aber auch Werte von 5 oder 10 sind durchaus gängig. Das Zentrieren ist umstritten und m.E. unsinnig. Gib folgendes Beispiel in Stata ein

Code: Alles auswählen
sysuse auto ,clear
reg price mpg foreign c.mpg#foreign
estat vif
qui su mpg ,mean
g c_mpg = mpg - r(mean)
reg price c_mpg foreign c.c_mpg#foreign
estat vif


Die VIF Werte sinken, die Standardfehler und t-Werte bleiben aber exakt gleich. Auch die substantielle Interpretation der Punktschätzer bleibt die selbe. Warum das mathematisch Sinn macht lässt sich z.B. bei Eschambadi und Hess (2007) oder Shieh (2011) nachlesen. Über Literatur (nach der Jahrtausedwende), in der die Wirksamkeit der Zentrierung von Variablen bei der Bildung von Interaktionstermen belegt oder nahegelegt wird würde ich mich freuen.

Abgesehen vom Multikolliniaritätsproblem frage ich mich, wieso Du hier kein FE Modell schätzt. Es geht doch darum kausale Effekte zu schätzen, wenn ich das korrekt verstanden habe? M.E. ist dazu das FE Modell am besten geeignet. Das wird mittels -xtreg ,fe- umgesetzt. Das -xtmixed- Syntaxdiagramm hat die etwas unglückliche Formulieriung "fe-equation", die allerdings keine Fixed-Effects, im sinne eines Time-demeaning bezeichnet sondern die gleichen Schätzer liefert wie -xtreg ,mle-.


Eschambadi, R., Hess, J. D. (2007). Mean-Centering Does Not Alleviate Collinearity Problems in Moderated Multiple Regression Models. Marketing Science, 26 (3): 438-445.

Greene, W. (2008). Econometric Analysis. Sixth Edition. Person.

Shieh, G. (2011). Clarifying the role of mean centring in multicollinearity of interaction effects. British Journal of Mathematical and Statistical Psychology, 64: 462–477.
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: Interaktion mit dummies

Beitragvon LassmichArzt,ichbindurch! » Mi 25. Jan 2012, 17:36

Hallo zusammen,

erstmal recht herzlichen Dank dass ihr mich mit meinen Problemen unterstützt.

Daniel, ich habe dein Vorschlag in stata nachgerechnet, den Befehl c.(var)#(var) hatte ich früher schon mal probiert und er hat nicht funktioniert. Stattdessen
habe ich folgdes eingegeben, was ja das selbe sein sollte:

sysuse auto ,clear
gen mpgforeign = mpg*foreign
reg price mpg foreign mpgforeign
estat vif
qui su mpg ,mean
g c_mpg = mpg - r(mean)
reg price c_mpg foreign mpg*foreign
estat vif

Die vif Werte sind aber jedesmal gleich geblieben. Ich machs gleich nochmal, vermutlich einen Fehler gemacht.

Zum FE/xtmixed Modell:
Ich möchte u. a. den Effekt der Fütterung (4 Gruppen) auf die abhängige Variable (fecdm) schätzen, der mehrmals hintereinander gemessen wurde. fecdm ist eine parasitologische Variable auf deren Höhe das Einzeltier möglicherweise mehr Einfluss hat als das treatment (Genetik, Kondition, Belastungen durch Trächtigkeit etc.). Also hängt die Höhe von fecdm über alle Messpunkte irgendwie zusammen, da vom gleichen Tier. Deshalb dachte ich, und wurde mir auch geraten, die Identität als random effect mit reinzunehmen || id:
Wäre es Deiner Meinung trotzdem möglich ein ,fe modell zu fahren? Das gleiche Problem ergibt sich meiner Meinung nach auch mit der Variable time, da der Einfluss des treatments vermutlich stärker ist, je länger das Tier diesem ausgesetzt ist. Also sind die Werte von der abhängigen var. fecdm sich ähnlicher, je näher sie beieinander liegen. Ist das das was man unter Kovarianz versteht?

Beim Zentrieren scheint die Meinung ja auseinander zu gehen.

An STATAWORX herzlichen Dank für den Tip, dass man den Haupteffekt und die Intraktion immer als Paar betrachtet.
LassmichArzt,ichbindurch!
 
Beiträge: 7
Registriert: Fr 6. Jan 2012, 11:48
Danke gegeben: 0
Danke bekommen: 0 mal in 0 Post

Re: Interaktion mit dummies

Beitragvon daniel » Mi 25. Jan 2012, 19:16

Daniel, ich habe dein Vorschlag in stata nachgerechnet, den Befehl c.(var)#(var) hatte ich früher schon mal probiert und er hat nicht funktioniert.

Faktorvariablennotation setzt Stata release 11 oder höher vorraus. Diese Art der Intaraktionspezifikation wird in älteren Versionen von Stata nicht unterstützt. Was das Nachrrechnen angeht, Du musst natürlich den Interaktionsterm beim zweiten Durchgang mit der zuvor zentrietrten Variable bilden, nicht mit der Ursprünglichen.

Beim Zentrieren scheint die Meinung ja auseinander zu gehen.

Wie angedeutet halte ich diese Aussage für veraltet. Mich würde es zumindest freuen eine (begründete/belegte) Meinung pro Zentrierung nach der Jahrtausendwende zu lesen, weil ich da momentan keine Unstimmigkeiten sehe. Zentrieren bringt nicht das, was man sich Ende des 20 Jahrhunderts davon versprochen hat.

Ich möchte u. a. den Effekt der Fütterung (4 Gruppen) auf die abhängige Variable (fecdm) schätzen, der mehrmals hintereinander gemessen wurde. fecdm ist eine parasitologische Variable auf deren Höhe das Einzeltier möglicherweise mehr Einfluss hat als das treatment (Genetik, Kondition, Belastungen durch Trächtigkeit etc.). Also hängt die Höhe von fecdm über alle Messpunkte irgendwie zusammen, da vom gleichen Tier. Deshalb dachte ich, und wurde mir auch geraten, die Identität als random effect mit reinzunehmen || id:

Im FE Modell vergleichst Du die Veränderung Deines Outcomes nur innerhalb des selben Tiers über die Zeit. Damit sind alle zeitkonstanten Faktoren, die das Outcome beeinflussen kontrolliert. Die Anzhal der Junge musst Du dann beispielsweise nicht mehr extra ins Modell nehmen, es sei denn die ändert sich innerhalb der paar Tage des Experiments. Das gleiche gilt aber auch für das Treatment. Falls sich das über die Zeit nicht ändert, dann kann man in FE Modellen natürlich auch keinen Effekt schätzen. Ich habe das Problem und die Versuchsanordnug nur überflogen und es mag sein, dass FE Modelle tatsächlich ungeeignet sind.

Das gleiche Problem ergibt sich meiner Meinung nach auch mit der Variable time, da der Einfluss des treatments vermutlich stärker ist, je länger das Tier diesem ausgesetzt ist. Also sind die Werte von der abhängigen var. fecdm sich ähnlicher, je näher sie beieinander liegen. Ist das das was man unter Kovarianz versteht?

Jein. Diesen "steigenden" Effekt der Zeit kontrollierst Du im Modell ja indem Du den Zeitpunkt als Kovariate aufnimmst (bzw. zusätzlich für Zeitpunkt*Treatment kontrollierst). Damit sollte der Puntkschätzer für den Effekt ok sein. Die Kovarianzmatirx kannst Du als "unstructured" schätzen, damit bist Du nicht effizient, aber vermutlich "auf der sicheren Seite". Wenn Du eine theoretischen ARIMA Prozess unterstellen willst/kannst, kannst Du das natürlich auch machen.
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: Interaktion mit dummies

Beitragvon LassmichArzt,ichbindurch! » Do 26. Jan 2012, 08:57

Morgen,

ok, werde das mal verarbeiten und melde mich dann wieder kommende Woche. Herzlichen Dank für die prompten Antworten.

Gruss
LmAibd!
LassmichArzt,ichbindurch!
 
Beiträge: 7
Registriert: Fr 6. Jan 2012, 11:48
Danke gegeben: 0
Danke bekommen: 0 mal in 0 Post

Re: Interaktion mit dummies

Beitragvon LassmichArzt,ichbindurch! » Mo 30. Jan 2012, 13:45

Hallo zusammen,

ich muss zugeben, die Situation ist mittlerweile fast unklarer als vorher. Zu nennen die vif Werte und vor allem nun der Vorschlag ein Fixed Effects Modell zu gebrauchen.
Ich war vor der Auswertung an der Uni um mich beraten zu lassen. Dort war die Empfehlung ein Modell mit fixen und zufälligen Effekten. Nun habe ich also mehrere Empfehlungen die in verschiedene Richtungen gehen. :shock:

Ich habe das mal eingegeben also xtreg ... ,fe mit dem Ergebnis, dass stata die Ergebnisse für treat 2 -4 rausgenommen hat aber die interaktionen mit der Zeit ausgibt.

Dennoch, grudsätzlich wäre mein xtmixed Modell jedoch nicht falsch nehme ich an? Wenn das stimmt, dann würde ich gerne vorübergehend dabei bleiben um das zu Ende zu bringen. Ich habe nach dem Tip das Model folgendermassen gestaltet:

xtmixed fecdm treat2 treat3 treat4 apde laemmer2 laemmer3 treat2time treat3time treat4time time || id: ,covar(unstructured) mle

Kann mir noch jemand sagen was der Befehl . corr(ar1) bedeutet und ob er für mein Modell eine Rolle spielen sollte?

Grüsse
LassmichArzt,ichbindurch!
 
Beiträge: 7
Registriert: Fr 6. Jan 2012, 11:48
Danke gegeben: 0
Danke bekommen: 0 mal in 0 Post

Re: Interaktion mit dummies

Beitragvon daniel » Mo 30. Jan 2012, 17:39

Ich habe das mal eingegeben also xtreg ... ,fe mit dem Ergebnis, dass stata die Ergebnisse für treat 2 -4 rausgenommen hat aber die interaktionen mit der Zeit ausgibt.

Das liegt daran, dass sich das treatment für ein und das selbe Tier über die Zeit nicht verändert. Ein Tier, dass treat1 bekommt, bekommt zu jedem Zeitpunkt treat1. Wie gesagt schätzt Du mit FE Modellen Veränderungen innerhalb des selben Tiers über die Zeit. Variablen die zeitkonstant sind können in diesem Framework keinen Effekt haben.

Dennoch, grudsätzlich wäre mein xtmixed Modell jedoch nicht falsch nehme ich an?

An die obige Kurzerklärung anschließend ist es gut möglich, dass dieses Modell für Deine Zwecke besser geeignet ist.

Da die Verwirrung schon groß ist, ist es vermutlich nicht hilfreich noch mehr "Neuigkeiten" einzubringen, aber man kann (leider) nicht per se sagen, dass das Modell nicht "falsch" ist. Dein Modell ist dann falsch, wenn die Annahme, dass der zeitkonstante Teil des Fehlers mit den Variablen im Modell unkorreliert ist nicht zutrifft. Um das zu testen würde man ein FE Modell mit einem RE Modell (und nichts anderes ist -xtmixed- im Prinzip) mittels sog. Hausman Test (in Stata -hausman-) vergleichen. Da in Deinem Fall, soweit ich das verstanden habe, das treatment randomisiert zugewiesen wurde, würde man von einem solchen Problem i.d.R. aber nicht ausgehen.

Kann mir noch jemand sagen was der Befehl . corr(ar1) bedeutet und ob er für mein Modell eine Rolle spielen sollte?


Wenn Du das so eingibst, dann berechnet Stata sie Korrelation der Variablen ar1 mit sich selbst. Ich bin mir nicht sicher in welchem Zusammenhang Du das gelesen hast und vermute auch, Du meinst eher eine Option, denn einen Befehl.

Im Allgemeinen steht AR1 für einen Autoregressiven Prozess erter Ordnung. Das bedeutet eine Variable X lässt sich als Funktion ihrer selbst zum vorhergehenden Zeitpunkt plus eines idosynkratische Fehlterms beschreiben. Formal ist das nichts weiter als



Im Zusammenhang Deines Modells würde ich sagen, dass es möglich ist für die Struktur der Fehler (der Kovarianzmatrix) einen solchen Prozess anzunehmen. Dazu solltest Du Dir aber sicher sein, dass diese Annahem auch korrekt ist.
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

Nächste

Zurück zu Longitudianal und Panel-Analyse

Wer ist online?

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

cron