Conventional Drawing and Labeling of SEM Model

SEM nomenclature conventions

name upper case lower case usage
Lambda $\Lambda$ $\lambda$ Loading of a manifest indicator onto a latent construct
Psi $\Psi$ $\psi$ residual variance/covariance of contruct when endogenous
Theta $\Theta$ $\theta$ residual variance/covariance of indicators
Sigma $\Sigma$ $\sigma$ $\Sigma$ is the model implied variance/covariance matrix;
$\sigma$ is standard deviation, $\sigma^2$ variance of indicator.
$\sigma$ can also be covariance of indicator
\[ \textbf{$\Sigma$} = \left[ \begin{array}{cccccc} \sigma_{1,1}^2 & \sigma_{1,2} & \sigma_{1,3} & \sigma_{1,4} & \sigma_{1,5} & \sigma_{1,6} \\ \sigma_{2,1} & \sigma_{2,2}^2 & \sigma_{2,3} & \sigma_{2,4} & \sigma_{2,5} & \sigma_{2,6} \\ \sigma_{3,1} & \sigma_{3,2} & \sigma_{3,3}^2 & \sigma_{3,4} & \sigma_{3,5} & \sigma_{3,6} \\ \sigma_{4,1} & \sigma_{4,2} & \sigma_{4,3} & \sigma_{4,4}^2 & \sigma_{4,5} & \sigma_{4,6} \\ \sigma_{5,1} & \sigma_{5,2} & \sigma_{5,3} & \sigma_{5,4} & \sigma_{5,5}^2 & \sigma_{5,6} \\ \sigma_{6,1} & \sigma_{6,2} & \sigma_{6,3} & \sigma_{6,4} & \sigma_{6,5} & \sigma_{6,6}^2 \end{array} \right],\] \[ \textbf{$\Lambda$} = \left[ \begin{array}{cc} \lambda_{1,1} & \lambda_{1,2} \\ \lambda_{2,1} & \lambda_{2,2} \\ \lambda_{3,1} & \lambda_{3,2} \end{array} \right],\] \[ \textbf{$\Psi$} = \left[ \begin{array}{cc} \psi_{1,1} & \psi_{1,2} \\ \psi_{2,1} & \psi_{2,2} \end{array} \right],\] \[ \textbf{$\Lambda^\prime$} = \left[ \begin{array}{cc} \lambda_{1,1} & \lambda_{2,1} & \lambda_{3,1} \\ \lambda_{1,2} & \lambda_{2,2} & \lambda_{3,2} \end{array} \right],\] \[ \textbf{$\Theta$} = \left[ \begin{array}{cccccc} \theta_{1,1} & 0 & 0 & 0 & 0 & 0 \\ 0 & \theta_{2,2} & 0 & 0 & 0 & 0 \\ 0 & 0 & \theta_{3,3} & 0 & 0 & 0 \\ 0 & 0 & 0 & \theta_{4,4} & 0 & 0 \\ 0 & 0 & 0 & 0 & \theta_{5,5} & 0 \\ 0 & 0 & 0 & 0 & 0 & \theta_{6,6} \end{array} \right].\] ### Fundamental SEM equation $$ \Sigma = \Lambda \Psi \Lambda' + \Theta \tag{1} $$ ## Unidimensional Measurement Model

In [1]:
import numpy as np

In [22]:
lam = np.matrix([[0.712, 0.000],
                 [0.788, 0.000],
                 [0.768, 0.000],
                 [0.00, 0.729],
                 [0.00, 0.764],
                 [0.00, 0.788]])
lam


Out[22]:
matrix([[ 0.712,  0.   ],
        [ 0.788,  0.   ],
        [ 0.768,  0.   ],
        [ 0.   ,  0.729],
        [ 0.   ,  0.764],
        [ 0.   ,  0.788]])

In [23]:
psi = np.matrix([[1.000, 0.561],
               [0.561, 1.000]])
psi


Out[23]:
matrix([[ 1.   ,  0.561],
        [ 0.561,  1.   ]])

In [15]:
theta = np.diagflat([.491, .378, .409, .467, .416, .394])
theta


Out[15]:
array([[ 0.491,  0.   ,  0.   ,  0.   ,  0.   ,  0.   ],
       [ 0.   ,  0.378,  0.   ,  0.   ,  0.   ,  0.   ],
       [ 0.   ,  0.   ,  0.409,  0.   ,  0.   ,  0.   ],
       [ 0.   ,  0.   ,  0.   ,  0.467,  0.   ,  0.   ],
       [ 0.   ,  0.   ,  0.   ,  0.   ,  0.416,  0.   ],
       [ 0.   ,  0.   ,  0.   ,  0.   ,  0.   ,  0.394]])

In [28]:
sigma = lam*psi*lam.T + theta
sigma


Out[28]:
matrix([[ 0.997944  ,  0.561056  ,  0.546816  ,  0.29118593,  0.30516605,
          0.31475242],
        [ 0.561056  ,  0.998944  ,  0.605184  ,  0.32226757,  0.33773995,
          0.34834958],
        [ 0.546816  ,  0.605184  ,  0.998824  ,  0.31408819,  0.32916787,
          0.33950822],
        [ 0.29118593,  0.32226757,  0.31408819,  0.998441  ,  0.556956  ,
          0.574452  ],
        [ 0.30516605,  0.33773995,  0.32916787,  0.556956  ,  0.999696  ,
          0.602032  ],
        [ 0.31475242,  0.34834958,  0.33950822,  0.574452  ,  0.602032  ,
          1.014944  ]])

In [31]:
from graphviz import Source


---------------------------------------------------------------------------
ImportError                               Traceback (most recent call last)
<ipython-input-31-452823be60bf> in <module>()
----> 1 from graphviz import Source

ImportError: No module named graphviz

In [ ]: