1. Home
  2. VSPECTRALCHECK procedure


Forms the spectral components from the canonical components of a multitiered design, and constrains any negative spectral components to zero (C.J. Brien).



PRINT = string tokens Controls printed output (relationshipsmatrix, canonicalcomponentestimates, spectralcomponentestimates, nconstrainedcomponents, all); default spec
VPRINT = string tokens Controls the output from the final REML refit (model, components, effects, means, stratumvariances, monitoring, vcovariance, deviance, Waldtests, missingvalues, covariancemodels); default * i.e. none
INITIALMETHOD = string token Whether to use the estimates from the unconstrained fit as initial values in constrained fits or the default REML initial values (remldefault, unconstrainedanalysis); default unco
MAXCYCLE = scalar Sets a limit on the number of iterations in the REML analyses; default 30
TOLERANCE = scalar Tolerance for zero values; default 10-10
DPRINT = string tokens Controls output of diagnostic information (spectralcomponents, canonicalcomponents, relationshipmatrix, all); default * i.e. none



Y = variates Response variates
CORRESPONDENCE = matrices Upper-triangular matrix giving the spectral components in terms of the canonical components
SPECTRALESTIMATES = variates Saves estimates of the spectral components
CANONICALESTIMATES = variates Saves estimates of the canonical components
NCONSTRAINEDCOMPONENTS = scalars Saves the number of spectral components constrained to zero, returns a missing value if some components could not be constrained
EXIT = scalars Exit status of the final REML refit
SAVE = REML save structures Supplies the save structure from the prior analysis of each Y variate; this need not be set, if that was the most recent REML analysis



Randomization-based models, as described by Brien & Bailey (2006) and Bailey & Brien (2013), include the constraint that the spectral components are non-negative, even if the canonical components are allowed to be negative. While the estimates of the spectral components for two-tiered experiments are guaranteed to be non-negative, this not the case for multitiered experiments. VSPECTRALCHECK forms estimates of the spectral components from the canonical components, or unconstrained variance components, that are estimated from fitting a mixed model using the REML directive. It then checks for negative spectral components and, if any are found, imposes relationships between the canonical components so that the spectral components are constrained to be zero.

VSPECTRALCHECK expects that a mixed model has been fitted using the VCOMPONENTS and REML directives only. It checks that the random model contains only gammas and σ2, and that there are no spline models. In the random model (specified by the RANDOM parameter of VCOMPONENTS), the terms must be ordered so that, for each term, all the terms to which it is marginal follow it. All canonical components should be specified as unconstrained in the preceding REML analysis (this being the default for the VCOMPONENTS directive).

If VSPECTRALCHECK detects a negative spectral component, it redefines the random model, specifying a matrix of constraints using the RELATIONSHIP parameter of VCOMPONENTS. It then refits the model using REML. Because relationships are to be imposed between the canonical components, the standard Fisher-scoring algorithm (option METHOD=fisher in REML) must be used in the refits. The new estimates for the canonical components are extracted after the refit, and these are used to form new estimates of the spectral components. This process continues until all the spectral components are non-negative.

The Y parameter specifies the variate that was analysed by the preceding REML command. The SAVE parameter can supply the corresponding REML save structure; if this is not set, it is assumed that the y-variate is the one analysed in the most recent REML analysis. A warning is given if the Y variate seems to be different from that in the SAVE structure.

The CORRESPONDENCE parameter specifies a matrix giving coefficients of equations specifying the spectral components in terms of the canonical components. It must be a square, upper triangular matrix with rows corresponding to spectral components, and columns to canonical components. The rows and columns are considered to be in the same order as terms in the random model specified previously, by the VCOMPONENTS directive. The upper triangular form implies that the terms in the random model must be ordered, so that each term occurs before any terms to which it is marginal. In particular, the unit term will be in the last row and column of the matrix. The element (i, j) of this matrix is non-zero if ji, and the term for row i is marginal to or equal to the term in column j; in this case, it is equal to the number of replicates

of a combination of the levels of the factors in the term in column j (see Bailey & Brien 2013, Equation 5).

The SPECTRALESTIMATES and CANONICALESTIMATES parameters save the constrained estimates of the spectral and canonical components, respectively, in variates. The NOCONSTRAINEDCOMPONENTS parameter saves the number of constrained spectral components, in a scalar. The EXIT parameter can specify a scalar to save the exit status of the final REML fit.

Printed output is controlled by the PRINT option with settings:

    relationshipsmatrix to print the matrix of relationships imposed on the canonical components in the REML refits,
    canonicalcomponentestimates to print the estimates of the canonical components under the imposed relationships,
    spectralcomponentestimates to print the estimates of the spectral components without and, if applicable, also with the constraints imposed,
    noconstrainedcomponents to print the number of constrained components, with missing values indicating that a constraint could not be imposed, and
    all to print all of the above.

You can set the VPRINT option to print information from the final REML refit. This operates in the same way as the PRINT option of REML, except that the default is to print nothing. There is also a DPRINT option to print diagnostic information.

The INITIALMETHOD option control how the initial values are calculated for the REML refits. By default, the estimates from the unconstrained fit are used as initial values for the refits. Alternatively, you can set INITIALMETHOD=remldefault, to get REML to form the initial values automatically, in the usual way.

The MAXCYCLE option sets a limit on the number of iterations (default 30). The TOLERANCE option specifies the tolerance for zero. This is used do determine whether a component is small enough to be considered zero, and in the checking of the Y variate against that in the SAVE structure.





Estimates of the canonical components are obtained from a prior REML analysis, and the estimates of the spectral components are obtained using the CORRESPONDENCE matrix. If a spectral component is negative, then relationships between the canonical components, determined from the row in the CORRESPONDENCE matrix for the spectral component, are imposed in a refit of the mixed model by the REML directive. It is possible that some random terms may be removed from the mixed model. After VSPECTRALCHECK has been run, the latest REML analysis will be the one that VSPECTRALCHECK has performed to constrain the components. So, for example, VDISPLAY can be used to display additional information, and VKEEP can be used to save information, in the usual way.



Bailey, R. A. & Brien C. J. (2013). Randomization-based models for multitiered experiments. I. A chain of randomizations. arXiv preprint arXiv:1310.4132: 30.

Brien, C.J. (2015). Randomization inference for randomizations in a chain. Submitted for publication.

Brien, C.J. & Bailey, R.A. (2006). Multiple randomizations. Journal of the Royal Statistical Society, Series B, 68, 571-609.

Brien, C.J. & Payne, R.W. (1999). Tiers, structure formulae and the analysis of complicated experiments. The Statistician, 48, 41-52.


See also

Procedure: AMTIER.


Commands for: REML analysis of linear mixed models.


CAPTION        'VSPECTRALCHECK example','Example from Brien & Payne (1999).';\
SPLOAD         [PRINT=*] '%gendir%/examples/Amtier.gsh'
"Set up matrix that relates canonical to spectral components"
TEXT           spectral_lab; !t('R','RQ','RQC','RQCH','O','J',\
MATRIX         [ROWS=spectral_lab; COLUMNS=spectral_lab] canonical2spectral;\
VCOMPONENTS    [FIXED = Trellis*Method]\ 
               RANDOM = (Rows*(Squares/Columns))/Halfplots - Squares/Columns+\
REML           [MAXCYCLE=100; METHOD=Fisher; FMETHOD=none] Score
VSPECTRALCHECK [PRINT=relation,spectralcomp,nconstr] Score;\
                CORRESPONDENCE = canonical2spectral

Updated on January 17, 2018

Was this article helpful?