1. Home
  2. VRACCUMULATE procedure

VRACCUMULATE procedure

Forms a summary accumulating the results of a sequence of REML random models (R.W. Payne).

Options

PRINT = string tokens Controls printed output (deviance, aic, bic, sic, dffixed, dfrandom, change, exit); default devi, aic, sic, dfra
METHOD = string token How to accumulate the current analysis (add, printonly, restart); default add
INCLUDE = string tokens Which constants to include that depend only on the fixed model (determinant, pi); default pi
DMETHOD = string token Method to use to calculate log(determinant(X′X)) (choleski, lrv); default chol
ACCUMULATED = pointer Saves the summary

Parameters

DESCRIPTION = text Single-line text to describe the analysis; default lists the random terms added or deleted from the previous model
SAVE = REML save structure Save structure for the REML analysis to put into the summary; default uses the save structure from the most recent REML

Description

Random models in a REML analysis can be assessed by examining their Akaike or Schwarz (Bayesian) information coefficients or, if one random model is a generalization of another random model, you can look at the change in their deviances. These statistics can be calculated and printed after each analysis using the VAIC procedure. However, making comparisons can be inconvenient if there are many models to compare. Thus this procedure, VRACCUMULATE, allows you to accumulate results from a sequence of models, so that you can view them all at once. You can do this by giving the command

VRACCUMULATE [PRINT=*]

following all except the last analysis. Then, after the last analysis, give another VRACCUMULATE command, but with the PRINT option now set to request the desired output, using the following settings:

    deviance prints the deviances;
    aic prints the Akaike information coefficients;
    bic or sic (synonyms) print the Schwarz (Bayesian) information coefficients;
    dffixed prints the number of parameters fitted in the fixed models;
    dfrandom prints the number of parameters fitted in the random models (and any covariance models);
    change prints changes in the deviance and number of random d.f. between successive lines of the summary and their (chi-square) probabilities; and
    exit exit codes (from VKEEP) indicating whether each analysis was fitted successfully (the deviance and information coefficients are set to missing values for unsuccessful fits).

The output indicates any point during the sequence of analyses where the fixed model has changed. It is not valid to compare random models unless one of the models is an extension of the other one, and the fixed model remained unchanged; if VRACCUMULATE detects that a comparison is invalid, the change in deviance is set to a missing value. It also flags any lines where it detects that there have been changes in the variance models (defined by VSTRUCTURE); before you use the change in deviance between these lines, you should check that the variance model defined in one of the lines is an extension of the model defined in the other one.

To print the information without adding another line to the summary, you can set option METHOD=printonly. Setting METHOD=restart clears the existing summary and then adds the current analysis. The default, METHOD=add, continues the existing summary by adding another line.

The deviance provided by REML omits some constants that depend on the fixed model. In fact the full deviance is given by

full-deviance = REML-deviance + (np)*log(2π) – log(det(X′X))

where X is the design matrix of the fixed model. Other software systems tend to include the first term, involving π, but omit the log-determinant term which is more time-consuming to calculate. The inclusion of these terms in the calculation is controlled by the INCLUDE option, with settings

    determinant -log(det(X′X))
    pi +(n-p)*log(2π)

The DMETHOD option controls how -log(det(X′X)) is calculated when this is included. However, the default is INCLUDE=pi. The INCLUDE option also affects the values of the Akaike or Schwarz (Bayesian) information coefficients, which depend on the deviance; see VAIC for details.

By default, the first line of the summary is labelled by the list of random terms in the model; subsequent lines list the random terms added or deleted from the previous model. Alternatively, you can supply your own labels using the DESCRIPTION parameter.

VRACCUMULATE usually adds a line to the summary for the most recent REML analysis. However, you can use the SAVE parameter to specify the save structure from an earlier analysis.

The ACCUMULATED option allows you to save the summary in a pointer, with elements labelled ‘description’, 'deviance', 'aic', 'sic', 'dffixed', 'dfrandom', 'deviance change', 'd.f. change', 'fixed changed', 'var-mod. changed' and 'exit'. ACCUMULATED['description'] is a text. The other elements are variates. The saved values of the deviances and information coefficients all take account of the settings of the INCLUDE option.

Options: PRINT, METHOD, INCLUDE, DMETHOD, ACCUMULATED.

Parameters: DESCRIPTION, SAVE.

See also

Procedure: VAIC.

Commands for: REML analysis of linear mixed models.

Example

CAPTION 'VRACCUMULATE example'; STYLE=meta
" Examples 2:5.3.7a-b "
" Voltage Regulator Performance
  Investigation into sources of variability encountered
  during the production of voltage regulators for cars.
  (Example S from Applied Statistics Principles and Examples,
  D.R.Cox & E.J.Snell, 1981)."
UNITS   [NVALUES=256]
FACTOR  [LEVELS=4; VALUES=(1...4)64] Teststat
FACTOR  [LEVELS=10; LABELS=!T(A,B,C,D,E,F,G,H,J,K);\ 
        VALUES=32(1),16(2),28(3),28(4),16(5),28(6),\ 
        32(7),24(8),24(9),28(10)] Setstat
FACTOR  [LEVELS=8; VALUES=4( 1...8, 1,2...4, 1,2...7, 1,2...7,\ 
        1,2...4, 1,2...7, 1,2...8, 1,2...6, 1,2...6, 1,2...7)] Regulatr
READ    Voltage
 16.5 16.5 16.6 16.6   15.8 16.7 16.2 16.3   16.2 16.5 15.8 16.1
 16.3 16.5 16.3 16.6   16.2 16.1 16.3 16.5   16.9 17.0 17.0 17.0
 16.0 16.2 16.0 16.0   16.0 16.0 16.1 16.0   16.0 16.1 16.0 16.1
 15.4 16.4 16.8 16.7   16.1 16.4 16.3 16.3   15.9 16.1 16.0 16.0
 16.0 16.0 15.9 16.3   15.8 16.0 16.3 16.0   15.7 16.2 15.3 15.8
 16.2 16.4 16.4 16.6   16.0 16.1 16.0 15.9   16.1 16.1 16.1 16.1
 16.1 16.0 16.1 16.0   16.1 16.0 16.0 16.1   16.0 15.9 16.2 16.0
 15.7 15.8 15.7 15.7   15.6 16.4 16.1 16.2   16.0 16.2 16.1 16.1
 15.7 15.7 15.7 15.7   16.1 16.1 16.1 16.0   15.9 16.0 16.0 16.5
 16.1 16.3 16.0 16.0   16.0 16.2 16.0 16.1   16.3 16.5 16.4 16.4
 16.1 16.0 16.0 16.2   16.5 16.1 16.5 16.7   16.2 17.0 16.4 16.7
 15.8 16.1 16.2 16.2   16.2 16.1 16.4 16.2   16.0 16.2 16.2 16.1
 16.0 16.0 16.1 16.0   15.5 15.5 15.3 15.6   16.0 15.6 15.7 16.2
 16.0 16.4 16.2 16.2   15.8 16.5 16.2 16.2   15.9 16.1 15.9 16.0
 15.9 16.1 15.8 15.7   16.0 16.4 16.0 16.0   16.1 16.2 16.2 16.1
 15.5 15.6 15.4 15.8   15.8 16.2 16.0 16.2   16.2 15.4 16.1 16.3
 16.1 16.2 16.0 16.1   16.1 16.2 16.3 16.2   16.1 16.1 16.0 16.1
 16.2 16.1 15.8 16.0   16.2 15.3 17.8 16.3   16.4 16.7 16.5 16.5
 16.2 16.5 16.1 16.1   16.1 16.4 16.1 16.3   16.4 16.3 16.4 16.4
 15.9 16.0 15.8 16.1   15.8 15.7 16.7 16.0   16.2 16.2 16.2 16.3
 16.2 16.3 15.9 16.3   16.0 16.0 16.0 16.0   16.0 16.4 16.2 16.2
 16.0 16.1 16.0 16.1   :
VCOMPONENTS  [ABSORB=Setstat] Teststat*(Setstat/Regulatr)
REML         [PRINT=*] Voltage
VAIC         [PRINT=deviance,aic,bic,dffixed,dfrandom]
" initialize (restart) the memory, and store resuts of first analysis "
VRACCUMULATE [METHOD=restart; PRINT=*] 'Teststat*(Setstat/Regulatr)'
VCOMPONENTS  [ABSORB=Setstat] Teststat+(Setstat/Regulatr)
REML         [PRINT=*] Voltage
VAIC         [PRINT=deviance,aic,bic,dffixed,dfrandom]
VRACCUMULATE [PRINT=*]
VCOMPONENTS  [ABSORB=Setstat] Setstat/Regulatr
REML         [PRINT=*] Voltage
VAIC         [PRINT=deviance,aic,bic,dffixed,dfrandom]
VRACCUMULATE [PRINT=*]
VCOMPONENTS  [ABSORB=Setstat] Setstat
REML         [PRINT=*] Voltage
VAIC         [PRINT=deviance,aic,bic,dffixed,dfrandom]
" print the accumulated results "
VRACCUMULATE [PRINT=deviance,aic,bic,dffixed,dfrandom,change]
Updated on June 14, 2019

Was this article helpful?