Latente Klassenanalyse gsem

Erstellung und Schätzung von Strukturgleichungsmodellen (SEM) mit Stata.

Latente Klassenanalyse gsem

Beitragvon HannoverTim » Mi 9. Nov 2022, 15:44

Liebe Community,

ich möchte eine latente Klassenanalyse mit dem gsem-Befehl rechnen. Dabei liegen mir 4 nominale und 3 ordinale Variablen vor, weswegen die latente Klassenanalyse als das geeignete Mittel erscheint.

Die Syntax ist folgende:

gsem (y1 y2 y3 y4 y5 y6 y7 <- _cons), family(bernoulli) link(logit) lclass(C 4)


Stata berechnet auch etwas, nur tritt am Ende die Fehlermeldung "convergence not achieved" auf und die Ergebnisse erschein mir mehr als rätselhaft.

Wo könnte mein Fehler liegen?

Vielen Dank schonmal im Voraus :-)
HannoverTim
 
Beiträge: 10
Registriert: Do 24. Mär 2022, 10:32
Danke gegeben: 0
Danke bekommen: 0 mal in 0 Post

Re: Latente Klassenanalyse gsem

Beitragvon Staxa » Mi 9. Nov 2022, 19:38

Für deine Vars erscheint mir dein Modell nicht ideal da logit ja von binären Variablen ausgeht, das ist anzupassen. Als Beispiel:


Code: Alles auswählen
sysuse nlsw88
sum wage south i.race
gsem (wage <-, regress) (south <-, logit) (race <-, mlogit), lclass(C 3)



Ansonsten kann die Option difficult helfen.
Stata für Anfänger: www.statabook.com
Staxa
 
Beiträge: 685
Registriert: Di 27. Feb 2018, 12:56
Danke gegeben: 0
Danke bekommen: 0 mal in 0 Post

Re: Latente Klassenanalyse gsem

Beitragvon HannoverTim » Do 10. Nov 2022, 14:42

Hallo :-)

Vielen Dank für die schnelle Rückmeldung, das war wirklich sehr hilfreich und mittlerweile kommen auch sinnvollere Sachen bei raus. Problematisch erscheint mir gerade allerdings noch, dass Stata das Modell in x Wiederholungen rechnet und jedes Mal "not concave" hinter den Iterations steht. Möglicherweise hast du auch hierfür eine Antwort parat?

Danke und liebe Grüße
HannoverTim
 
Beiträge: 10
Registriert: Do 24. Mär 2022, 10:32
Danke gegeben: 0
Danke bekommen: 0 mal in 0 Post

Re: Latente Klassenanalyse gsem

Beitragvon Staxa » Do 10. Nov 2022, 20:10

Das ist normal. Hier arbeitet ein Maximum Likelihood Algorithmus, der sich an das Ergebnis herantastet. Wichtig ist nur, dass es am Ende "normal" wird und es dann nach einigen Iterationen keine Fehler mehr gibt. Das würde Stata aber melden.
Stata für Anfänger: www.statabook.com
Staxa
 
Beiträge: 685
Registriert: Di 27. Feb 2018, 12:56
Danke gegeben: 0
Danke bekommen: 0 mal in 0 Post

Re: Latente Klassenanalyse gsem

Beitragvon HannoverTim » Fr 11. Nov 2022, 10:41

Genau das ist das Problem, nach 300 Iterations kommt die Fehlermeldung 430 "Convergence not achieved". Ich habe es auch mit difficult und anderen Algorithmen mit dem technique-Befehl versucht, auch da kam die gleiche Fehlermeldung. Gibt es noch andere Möglichkeiten?


Folgende Variablen nutze ich:

y1: nominal, 6 Ausprägungen
y2: nominal, 12 Ausprägungen
y3: ordinal, 9 Ausprägungen
y4: ordinal, 8 Ausprägungen
y5: ordinal, 9 Ausprägungen

Die Fallzahlen liegen bei ca. 15000.

Liegt hier vielleicht der Hund begraben?


Viele Grüße
HannoverTim
 
Beiträge: 10
Registriert: Do 24. Mär 2022, 10:32
Danke gegeben: 0
Danke bekommen: 0 mal in 0 Post

Re: Latente Klassenanalyse gsem

Beitragvon Staxa » Fr 11. Nov 2022, 10:57

Und welchen Befehl nutzt du genau?
Stata für Anfänger: www.statabook.com
Staxa
 
Beiträge: 685
Registriert: Di 27. Feb 2018, 12:56
Danke gegeben: 0
Danke bekommen: 0 mal in 0 Post

Re: Latente Klassenanalyse gsem

Beitragvon HannoverTim » Fr 11. Nov 2022, 11:17

gsem (y1<-,mlogit) (y2<-,mlogit) (y3<-,mlogit) (y4<-,mlogit) (y5<-,mlogit), lclass (C 4)
HannoverTim
 
Beiträge: 10
Registriert: Do 24. Mär 2022, 10:32
Danke gegeben: 0
Danke bekommen: 0 mal in 0 Post

Re: Latente Klassenanalyse gsem

Beitragvon Staxa » Fr 11. Nov 2022, 11:50

Die ordinalen Variablen sollten ologit statt mlogit sein. Du kannst auch prüfen ob es Kategorien gibt, die sehr schwach besetzt sind und diese dann ggf. zusammenlegen.
Stata für Anfänger: www.statabook.com
Staxa
 
Beiträge: 685
Registriert: Di 27. Feb 2018, 12:56
Danke gegeben: 0
Danke bekommen: 0 mal in 0 Post

Re: Latente Klassenanalyse gsem

Beitragvon HannoverTim » Fr 11. Nov 2022, 12:05

Danke...jetzt habe ich den Fehler 1400:

numerical overflow
You have attempted something that, in the midst of the
necessary calculations, has resulted in something too large
for Stata to deal with accurately. Most commonly, this is
an attempt to estimate a model (say, with regress) with too
many effective observations. This effective number could be
reached with far fewer observations if you were running a
frequency-weighted model.

Daraufhin habe ich dir ordinalen Variablen mit regress berechnet und es hat für 2 und 4 Klassen funktioniert. Kannst du mir kurz erklären woran das liegt und ob ich diese Ergebnisse nutzen kann? Sorry für die vielen Fragen, aber ich bin relativ neu auf dem Gebiet.

Liebe Grüße
HannoverTim
 
Beiträge: 10
Registriert: Do 24. Mär 2022, 10:32
Danke gegeben: 0
Danke bekommen: 0 mal in 0 Post

Re: Latente Klassenanalyse gsem

Beitragvon Staxa » Fr 11. Nov 2022, 12:39

Das ist mal eine interessante Meldung. Interessant wäre zu wissen, ob hier dein PC limitiert. Da müsstest du dich an https://www.statalist.org/forums/forum/ ... on/general wenden. Ansonsten: Modell vereinfachen, Variablen rauswerfen oder Kategorien zusammenführen oder mal nur ein Teilsample verwenden mit kleinerem N, damit es überhaupt berechnet werden kann.
Stata für Anfänger: www.statabook.com
Staxa
 
Beiträge: 685
Registriert: Di 27. Feb 2018, 12:56
Danke gegeben: 0
Danke bekommen: 0 mal in 0 Post

Nächste

Zurück zu SEM und Strukturgleichungsmodelle

Wer ist online?

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

cron