Calculate genetic and environmental variance componentsA new title must be given at the start of each group.
NGroupsis the number of groups. This parameter is specified for the first group only. Calculation groups allow the specification of matrix operations in an algebra section which can greatly simplify the structure of the script. Here, we use the calculation group to specify the free and fixed parameters in the model, , and , and calculate their squared quantities, to be used in the expectations of the variances and the MZ and DZ covariances of the model (see Section ).
Begin Matrices; X Lower 1 1 Free Y Lower 1 1 Fixed Z Lower 1 1 Free W Lower 1 1 Free H Full 1 1 Q Full 1 1 End Matrices;The matrices declaration section begins with a
Begin Matrices;line and ends with a
End Matrices;line. Up to 26 matrices can be declared, each starting on a new line. Matrix names are restricted to one letter, from A to Z. The name is followed by the matrix type (see Mx manual for details on available matrix types), the number of rows and the number of colums. All matrix elements are fixed by default. If the keyword
Freeappears, each modifiable element has a free parameter specified to be estimated. In this example, four 1 1 matrices have been declared. Matrices
Wrepresent free parameters a, e and d, respectively. The parameter c in matrix
Yis fixed to zero (the word
Fixedappears only for clarification). Two additional matrices,
Q, are declared for fixed scalars to be used in the model specification.
Label Row X add_gen Label Row Y comm_env Label Row Z spec_env Label Row W dom_gen Matrix H .5 Matrix Q .25 Start .6 AllLabels can be given for the row or column (or both) of any matrix. Values can be assigned to matrix elements using the
Matrixcommand. If the matrix element is modifiable, the assigned value will be the starting value. The
Startcommand here is used to assign the same starting value to
Allthe free parameters in the model. In genetic problems, we must assign starting values to parameters. In the present case, the only parameters to be estimated are a, d and e. In choosing starting values for twin data, a useful rule of thumb is to assume that the total variance is divided equally between the parameters that are to be estimated. In this case the predicted total variance is which is close to the observed total variance in these data. For other data, other starting values may be required. Good starting values can save a significant amount of computer time, whereas bad starting values may cause any optimizer to fail to find a global minimum, or to hit a maximum number of iterations before converging.
Begin Algebra; A= X*X'; C= Y*Y'; E= Z*Z'; D= W*W'; End Algebra;The algebra section begins with a
Begin Algebra;statement and ends with a
End Algebra;statement. Each algebra operation starts on a new line and ends with a semi-colon (it may run over several lines so a ; is essential to mark the end of a formula). The matrix on the left side of the
=sign is newly defined as the result of the matrix operation on the right side of the
=sign. Matrices on the right have to be declared in the matrices declaration section or defined in a previous algebra statement. In this example the quantities , , and are calculated in matrices
Data NInput_vars=2 NObservations=534 Labels bmi_t1 bmi_t2 CMatrix Symmetric File=ozbmimzf.covwhere:
NInputvarsis number of input variables, i.e., , if there are variables assessed for each member of a twin pair
NObservationsis number of observations or sample size, i.e., number of pairs used to compute the data matrix in this group.
Labels). This is very useful for clarification of the Mx output. Mx will read a covariance matrix (
CMatrix), a correlation matrix (
KMatrix), or a matrix of polychoric and polyserial correlations (
PMatrix). The matrix may be read as a lower triangle in free format (the default, the keyword
Symmetricis optional), or as a full matrix if the keyword
Fullis specified. It will also read means (
Means) when these are needed. Summary statistics can be read from within the Mx script, for example,
CMatrix Symmetric 0.7247 0.5891 0.7915Alternatively, the data matrices can be read from separate files, e.g.,
CMatrix Symmetric File=ozbmimzf.covThe lines referring to the actual data,
CMatrixcan be saved in a
ozbmimzf.datwhich can then be included in the Mx script with the following statement:
Matrices= Group 1The
= Group 1command includes all the declared and defined matrices from the group 1 into the current group.
Covariances A+C+D+E | A+C+D_ A+C+D | A+C+D+E;The expected covariance matrix is specified using a matrix formulation with the expected variances for twin 1 and twin 2 on the diagonal and the expected covariance between twins, in this case for MZ's, as the off-diagonal element. The expectation for the variance, , is translated into
A+C+D+E; that for the MZ covariance, , into
A+C+D. The resulting four 1 1 matrices are concatenated using the horizontal bar
|and the vertical bar
_operators to form the 2 2 expected covariance matrix, corresponding to the 2 2 observed covariance matrix. Note that the covariance statement needs to end with a semicolon.
Option RSidualsVarious options for statistical output and optimization can be specified. Usually, the choice of estimation procedure will be either maximum likelihood if covariance matrices are being analyzed, or weighted least squares if matrices of polychoric, polyserial, or product-moment correlations are being analyzed. The
RSidualsoption is very useful as it results in the printing of the observed, expected and residual matrices in the output.
@, is used to premultiply the matrix
Aby the scalar .5 and the matrix
Dby the scalar .25. The specification extends easily to the multivariate case (see Section ?).
NDecimals=- set number of decimals in printed output (, default: =4) -- useful for simulation work.
Iterations=- set maximum number of iterations (default: 1000).