There are several model parameters available for an ordinal variable that can set the

ordinal variable’s scale and location. The two most common seem to be *delta* parameterization (fixing total means and total variances to 0 and 1) and *theta* parameterization (fixing residual means and residual variances to 0 and 1).

Theta parameterization, if my understanding is correct, is fairly easy to implement. It is only a matter of fixing residual means and variances of the indicators to 0 and 1, respectively, as described in the documentation. However, it is unclear to me how I would create an mxAlgebra with delta parameterization according to these equations in OpenMx. Some code examples would be appreciated.

Total variance set to equal 1

$$

\theta_{ii} = \sigma_{i}^{2*} - \Lambda_{i} \Psi^{*} \Lambda_{i}^{T} \bigg\rvert_{\sigma_i^{2*}=1} = 1 - \Lambda_{i} \Psi^{*} \Lambda_{i}^{T}

$$

Total means set to 0?

$$

\mu_{ij}^{*} = v_{ij} + \Lambda_i\alpha_j^{*}\bigg\rvert_{\mu_{ij}^{*}=0}

$$

where ν_ij is the intercept for variable i in row j, Λ_i is the row vector of Λ for variable i, and Θ_ii is the diagonal element of Θ that estimates the residual variance of variable i.

I've attached a full script that uses the "theta" "parameterization". (I use quotes around these because they are both nonsense terms with no intrinsic meaning for the given context). The key bit is copied below.

The big picture is you will generally use nonlinear constraints (

`mxConstraint()`

) to make the total mean and variance zero and one, respectively. To do this without writing the algebra for the model-implied means and covariances yourself, you can refer to the model-implied (i.e., expected) means and covariance as outlined below.Hopefully, this helps!