7 lavaanInput - Grundlagen
Die Syntaxschreibweise, die in lavaanGUI verwendet wird, ist die gleiche, die auch in der Statistiksoftware R verwendet wird. Um ein Modell zu spezifizieren benötigt man verschiedene Operatoren. Diese werden im Folgenden näher vorgestellt.
7.1 Die Grundlagen der Spezifikation eines Modell
7.1.1 =~
Die Kombination des Gleichheitszeichens (=) und der Tilde (~) wird verwendet um latente Variablen zu definieren. Der Name der latenten Variable steht auf der linken Seite des Operators, die Variablen stehen auf der rechten Seite, wobei mehrere Variablen durch das Additionszeichen + voneinander getrennt werden. Gelesen werden kann der Operator als “Y ist manifestiert durch \(X1 + X2 + \dots + Xn\)” oder als “Y wird gemessen durch \(X1 + X2 + \dots + Xn\)”.
Dies kann beispielhaft so aussehen:
Die latente Variable “eta” wird gemessen bzw. ist manifestiert durch y1, y2 und y3.
7.1.2 Die Tilde ~
Die Tilde ist der Regressionsoperator. Die AV steht dabei auf der linken Seite des Operators, auf der rechten Seite steht die UV. Mehrere UVs werden durch das Additionszeichen + voneinander getrennt. Wollte man in lavaanGUI eine Regression berechnen, sähe dies beispielsweise so aus:
Spezifiziert man, wie im unten dargestellten Beispiel, die Regression auf 1 (also X*1) wird der Mittelwert bzw. das Intercept der AV, also deren y-Achsenabschnitt, spezifiziert.
Dies sieht beispielsweise so aus:
Hier ist jeweils eta bzw. y1 die AV, deren Mittelwert (für eta) bzw. Intercept (für y1) auf der rechten Seite der Tilde spezifiziert werden. Der Mittelwert von eta wird frei geschätzt (angegeben durch NA*) und das Intercept von y1 wird auf 0 festgelegt. Für weitere Erläuterungen zur Fixierung von Parametern siehe Kapitel 7.1.4.
Darüber hinaus kann die Tilde, als Regressionsparameter auch für die Definition einer einfachen linearen Regression verwendet werden. Dies könnte beispielsweise so aussehen:
Diese einfache lineare Regression kann auch als folgende Formel dargestellt werden:
\[
x = \alpha * 1 + \beta * y1
\]
\(\alpha\) und \(\beta\) werden bei der Berechnung der linearen Regression frei geschätzt (NA*X
). Auf diese Art und Weise können noch weitere Regressionen, unter Verwendung der Tilde, mit Hilfe von lavaanGUI berechnet werden.
7.1.3 Die Doppeltilde ~~
Die Doppeltilde spezifiziert (Residual-)Varianzen einer beobachteten oder latenten Variablen. Sie kann auch dazu verwendet werden, die Kovarianzen zwischen einer und mehrerer anderer Variablen (beobachtet oder latent) zu berechnen. Dazu müssen die verschiedenen Variablen auf der rechten Seite der Tilde mit dem Additionszeichen + verbunden werden. Die Unterscheidung zwischen Residualvarianz und Varianz wird automatisch vorgenommen. Residualvarianzen werden für endogene Variablen berechnet, also alles wo ein gerichteter Pfeil drauf zeigt (z.B. Indikatoren von latenten Variabeln, abhängige Variablen in Regressionen) und Varianzen für alle exogenen Variablen (das ist dann der Rest).
Dies kann beispielhaft so aussehen:
Die Varianz von eta wird in diesem Beispiel frei geschätzt. Gleiches gilt für die Residualvarianz von y1.
Möchte man die Varianz von eta oder die Residualvarianz einer der UVs auf einen bestimmten Wert fixieren, muss der Parameter, der für die freie Schätzung (“NA”) verantwortlich ist, durch den entsprechenden Wert ersetzt werden.
Probiert das bei der Spezifikation eines Modells in lavaanGUI einmal aus und schaut, welchen Effekt das ersetzten des “NA” durch unterschiedliche Werte hat.
7.1.4 Fixierung von Parametern
Um ein Intercept (oder einen Mittelwert) zu definieren, schreibt man den Variablennamen auf die linke Seite einer Tilde (~), auf die rechte Seite nur die Nummer „1“. Dadurch wird das Intercept repräsentiert. Die Unterscheidung zwischen Intercepts und Mittelwerten wird automatisch vorgenommen. Je nach testtheoretischem Modell, das geschätzt werden soll, müssen die Parameter (Intercepts und Varianzen der latenten und manifesten Variablen) weiter definiert werden. Das bedeutet, dass wir lavaanGUI sagen müssen, wie es die Parameter schätzen soll.
Hier werden drei verschiedene Möglichkeiten dargestellt, wie der Mittelwert von eta definiert werden kann.
Die erste Zeile legt keine weiteren Spezifikationen fest. Der Mittelwert von eta wird berechnet und dabie frei geschätzt. Die gleiche Implikation hat der zweite Befehl eta ~ NA*1
. Auch durch diesen Befehl wird der Mittelwert von eta frei geschätzt.
Durch den Befehl eta ~ 0*1
wird der Mittelwert von eta auf den Wert 0 festgelegt. Für den letzten Befehl, eta ~ 1*1
gilt selbiges nur, dass der Mittelwert diesmal auf den Wert 1 festgelegt wird.
Sprechen wir vom Mittelwert der Variablen eta, sprechen wir jeweils vom Erwartungswert E(eta).
Die gleiche Logik wird jeweils auch bei der Definition der Berechnung der Varianzen von eta (Var(eta)) und der Fehlervarianzen der manifesten Variablen (Var(y1)) angewandt.
7.1.5 Namen vergeben
Wie oben dargestellt (z.B. veta oder veps1 unter “Die Doppeltilde ~~”), kann man für verschiedene Parameter Namen vergeben. Diese Namen werden jeweils im Output angezeigt, so dass man die Parameter schnell identifizieren kann. Um den Parametern Namen zu geben, müssen diese in die Syntax mitaufgenommen werden. Die Logik des Namen vergebens ist für alle Variablen die gleiche:
Ist in der Syntax dieser Befehl definiert, wird im Output der Parameter für die Varianz von eta mit “veta” in der zweiten Spalte betitelt.
Auf diese Art und Weise werden die Fehlervarianzen im Output jeweils mit veps1, veps2 und veps3 benannt. Analog kann man dies natürlich auch für weitere manifeste Variablen fortführen.
Möchte man auch die Intercepts der manifesten Variablen benennen ist dies auch möglich.
Die Mittelwerte werden jeweils durch nur eine Tilde (~) definiert. Daher muss hier, wie auch weiter oben bei der Definition des Mittelwerts von eta, die 1
in der Gleichung verwendet werden. Die Intercepts wurden hier beispielhaft mit la10-la30 benannt, wobei das la für “lambda” steht, da die Intercepts den lambdas 10, 20 und 30 des tau-kongenerischen Modells entsprechen. Auch hier gilt wieder, durch die Vergabe der Namen werden die Intercepts erst mal frei geschätzt. Wollte man sie auf einen Wert fixieren, müsste man auch hier eine solche Schreibweise wählen: y1 ~ la10*1 + 0*1
. Dann würde lambda 10 auf 0 fixiert werden.
7.1.6 Der Definitionsoperator :=
Bei der Berechnung von Strukturgleichungsmodellen kann es notwendig sein, weitere, nicht im lavaan Output enthaltene mathematische Größen zu berechnen. Dafür ist dieser Definitionsoperator wichtig und notwendig. Eine Voraussetzung für die Verwendung des Definitionsoperators ist es, dass die, in der Berechnung verwendeten, Parameter jeweils mit einem Namen versehen wurden. Wie man das in der Syntax der lavaanGUI umsetzt wird weiter unten in Kapitel 7.1.5 erläutert. Ein Beispiel für die Verwendung des Definitionsoperator ist die Berechnung einer Reliabilität auf Grundlage des lavaanGUI Outputs.
Um die Reliabilität der manifesten Variable y1 zu berechnen, vergibt man einen Namen für die Reliabilität (hier: rely1). Dahinter wird der Definitionsoperator “:=” geschrieben um lavaanGUI zu verdeutlichen, dass die Reliabilität definiert durch alles was auf der rechten Seite des Definitionsoperators steht definiert wird. In diesem Fall wird die Ladung im Zähler quadriert und im Nenner zur quadrierten Ladung die Residualvarianz der manifesten Variable addiert.
Die Ladungen und Residualvarianzen können deswegen für die Definition der Reliabilität der manifesten Variable y1 verwendet werden, weil sie in der Syntax der Modellspezifikation definiert wurden. Für die Definition mathematischer Größen mit Hilfe des Definitionsoperators, können Zahlen, sowie in der Syntax mit Namen versehene Parameter des lavaanGUI Outputs verwendet werden.
Ein weiteres Beispiel für die Verwendung des Definitionsoperators ist die Berechnung der Varianz von y1.
Hier wird die Varianz von y1 (Vary1) durch die Addition der Varianz von eta (veta) und der Residualvarianz von y1 (veps1) definiert. Auch für diese Berechnung müssen die Label “veta” und “veps1” bereits in der Syntax definiert worden sein.
Die Ergebnisse der Berechnungen und Definitionen mit Hilfe des Definitionsoperators werden im Output an letzter Stelle unter der Überschrift “User defined Parameters” angezeigt.
7.1.7 Was passiert wenn ich nichts definiere?
Wie wir schon festgestellt haben, hat lavaanGUI default Einstellungen, also Voreinstellungen. Welches Modell würde also gerechnet werden, wenn die Syntax einzig aus der folgenden Zeile bestünde?
Dadurch wäre nur spezifiziert, dass eta durch die 4 manifesten Variablen y1 - y4 gemessen wird.
Im Hintergrund wird ein tau-kongenerisches Modell mit der Normierung E(eta)=0 und lambda11 = 1 verwendet. Ein Output für dieses Beispiel wird im nächsten Kapitel gezeigt und weiter erläutert.
7.2 Das Syntaxfenster
Um die Syntax nun auch aufzuschreiben, wird das Syntaxfenster unter der Schaltfläche “lavaanInput” des Hauptmenüs verwendet. Ruft man diesen Menüpunkt auf, erscheint direkt unter dem Hauptmenü ein weißes Fenster, das von einem grauen Rahmen eingerahmt wird. Die erste Zeile ist grau markiert genauso wie die erste Spalte. In dieser steht zuoberst die Zahl “1”. In dieser grauen Spalte werden die Zeilennummerierungen angezeigt. Die dunkelgraue “1” nummeriert also die erste Zeile. Die Nummerierung wird automatisch durchgeführt und kann von uns nicht verändert werden. Rechts dieser Nummerierung kann in das Snytaxfenster ganz normal geschrieben werden. Einen Zeilenwechsel erreicht man durch die Eingabetaste der Tastatur. Dann springt der Cursor automatisch in die darunterliegende Zeile.