Seite 1 von 1

Nach Einfügen von Kontrollvariablen ist SEM-Model unbestimmt

BeitragVerfasst: Mo 14. Jan 2013, 17:57
von JTempelhofer
Hallo zusammen,

ich würde mich sehr freuen, wenn mir jemand mit folgendem Problem helfen könnte: Ich habe ein sehr einfaches SEM (nennen wir es "Modell 1") gebaut, das gut funktioniert. Füge ich diesem SEM aber Kontrollvariablen (in Form von 1-item-Konstrukten) hinzu ("Modell 2"), dann kann das Modell nicht mehr bestimmt werden. Lasse ich Modell 2 nur 10 Iterationsschritte laufen, dann stelle ich fest, dass Stata für die Fehlerterme der latenten 1-item-Konstrukte (e.KV_GESCHLECHT e.KV_PRAXPOS e.KV_PRAXERFD e.KV_ELITEUNI e.KV_MITARBW e.KV_STIFTUNGSLS e.KV_BUNDESLAND) keine Standardabweichung bestimmen kann (missing value).

Woran kann das liegen? Ich habe noch keine gute Antwort gefunden, obwohl ich einiges probiert habe:Zum Beispiel habe ich mit der reliability-Option teilweise Abhilfe, geschaffen - aber nur wenn ich lediglich eine einzige Kontrollvariable hinzunehme. Außerdem stammen die Daten aus einem Fragebogen, so dass ich die reliability der Daten eigentlich nicht beschränken müssen sollte.

Kann mir jemand einen Hiweis geben, wo der Fehler liegt? Das würde mir sehr helfen

Besten Dank im Voraus!
Johannes

Hier der Code für die beiden Modelle:

***Modell 1***


sem (BK_A KV_SENIOR BK_L -> PRAXREL) ///
(pr_anerkpr pr_aktprobl pr_erkneu pr_veraend <- PRAXREL) ///
(bk_aanztrp bk_aqualtrp bk_aanzvor bk_apraxerf bk_apatent bk_anetzw bk_pmgmt <- BK_A) ///
(kv_alter kv_position kv_tenure1 kv_tenure2 <- KV_SENIOR) ///
(bk_lnachw bk_llehre bk_levalua bk_lvorles <- BK_L) ///
, standardized method (mlmv) ///
cov (e.bk_aanztrp*e.bk_aqualtrp e.bk_aqualtrp*e.bk_aanzvor e.bk_apraxerf*e.bk_apatent) ///
cov (e.pr_anerkpr*e.pr_aktprobl)


***Modell 2***


sem (BK_A KV_SENIOR BK_L KV_GESCHLECHT KV_PRAXPOS KV_PRAXERFD KV_ELITEUNI KV_MITARBW KV_STIFTUNGSLS KV_BUNDESLAND -> PRAXREL) ///
(pr_anerkpr pr_aktprobl pr_erkneu pr_veraend <- PRAXREL) ///
(bk_aanztrp bk_aqualtrp bk_aanzvor bk_apraxerf bk_apatent bk_anetzw bk_pmgmt <- BK_A) ///
(kv_alter kv_position kv_tenure1 kv_tenure2 <- KV_SENIOR) ///
(bk_lnachw bk_llehre bk_levalua bk_lvorles <- BK_L) ///
(kv_geschlecht <- KV_GESCHLECHT@1) ///
(kv_praxpos <- KV_PRAXPOS@1) ///
(kv_praxerfd <- KV_PRAXERFD@1) ///
(kv_eliteuni <- KV_ELITEUNI@1) ///
(kv_mitarbw <- KV_MITARBW@1) ///
(kv_stiftungsls <- KV_STIFTUNGSLS@1) ///
(kv_bundesland <- KV_BUNDESLAND@1) ///
, standardized method(mlmv) ///
cov (e.bk_aanztrp*e.bk_aqualtrp e.bk_aqualtrp*e.bk_aanzvor e.bk_apraxerf*e.bk_apatent) ///
cov (e.pr_anerkpr*e.pr_aktprobl)

Re: Nach Einfügen von Kontrollvariablen ist SEM-Model unbest

BeitragVerfasst: Mi 16. Jan 2013, 10:43
von JTempelhofer
Hallo zusammen,

deutschsprachige SEM-Foren scheinen nicht so aktiv zu sein :-) Ich habe das Problem aber inzwischen selbst gelöst. Wenn es jemanden interessiert, hier ist die Antwort:

Das Problem ist, dass die Kontrollvariablen in meinem Fall nicht definiert sind ( das Messmodell für die KV kommt zu keinem Ergebnis und iteriert bis zum Sanktnimmerleinstag). Dann ist natürlich auch das Gesamtmodell nicht definiert.

Lösung 1: KV als beobachtete Variablen einsetzen:
In meinem Modell hatte ich die KV als latente Variablen eingesetzt. Wenn man allerdings der Auffassung ist, dass die KV durch die beobachteten Variablen fehlerfrei gemessen wird (z.B. Geschlecht), dann kann man die Variablen auch direkt einsetzen und lässt die Messmodelle einfach weg. Der Code für Lösung 1 wäre dann:

sem (y1 y2 y3 y4 <- PRAXREL) ///
(x1 x2 x3 x4 x5 x6 x7 <- BKA) ///
(BKA PRAXREL <- x8 x9 x10 x11) ///
(PRAXREL <- BKA) ///
, standardized method(mlmv)


Lösung 2: KV als latente Variablen einsetzen: Ist man der Auffassung, dass die KV nicht fehlerfrei beobachtet werden können (z.B. Alter, Haushaltseinkommen, oder psychologische Konstrukte), dann sollte man sie als latente Variablen einsetzen. In diesem Fall muss der Pfadkoeffizient der Variablen auf 1 restringiert werden UND die reliability()-Option des sem-Befehls verwendet werden. Sie gibt an, wie viel echte Varianz die Variablen x16 x17 x18 x19 abbilden, also wie verlässlich der Schätzer ist. Wenn x8 x9 x10 x11 nur KV sind, dann wohl typischerweise 0.9. Will man mit CV1 CV2 CV3 CV4 noch weiterrechnen, dann wohl lieber 0.8. Die Anpassungsgüte (estat gof) ist bei mir in beiden Fällen gleich.

sem (y1 y2 y3 y4 <- PRAXREL) ///
(x1 x2 x3 x4 x5 x6 x7 <- BKA) ///
(x8 <- CV1@1) ///
(x9 <- CV2@1) ///
(x10 <- CV3@1) ///
(x11 <- CV4@1) ///
(BKA PRAXREL <- CV1 CV2 CV3 CV4) ///
(PRAXREL <- BKA) ///
, standardized method(mlmv) reliability (x8 0.8 x9 0.8 x10 0.8 x11 0.8)

Mischformen: gibt es natürlich auch. Im folgenden Beispiel sind KVSENIOR und BKL latente KVs während x16 x17 x18 x19 direkt eingesetzt werden

sem (y1 y2 y3 y4 <- PRAXREL) ///
(x1 x2 x3 x4 x5 x6 x7 <- BKA) ///
(x8 x9 x10 x11 <- KVSENIOR) ///
(x12 x13 x14 x15 <- KVL) ///
(BKA PRAXREL <- KVSENIOR KVL x16 x17 x18 x19) ///
(PRAXREL <- BKA) ///
, standardized method(mlmv)