Learn R Programming

varComp (version 0.2-0)

varComp.control: Functions controlling the model fitting of varComp

Description

varComp.control provides detailed control of model fitting for varComp. nlminb.control provides detailed control of the optimization procedure. informationTypes is a character vector containing the types of information matrices.

Usage

varComp.control(verbose = FALSE, start = NULL, REML = TRUE, 
               information = informationTypes, boundary.eps = 5e-04, 
			   nlminb = nlminb.control(iter.max = 200L, eval.max = 500L), 
			   plot.it = FALSE, keepXYK = TRUE)
nlminb.control(eval.max = 200L, iter.max = 150L, trace = 0L, abs.tol = 0, 
               rel.tol = 1e-10, x.tol = 1.5e-08, xf.tol = 2.2e-14, step.min = 1, 
			   step.max = 1, sing.tol = rel.tol, ...)
informationTypes

Arguments

verbose

A logical scalar, indicating whether excessive messages are printed.

start

An optional numeric vector of starting values for the ratio of variance components to the error variance. If missing, minque will be called with zero as the prior value and with non-negativity constraints. The result of minque will be used as the starting value.

REML

A logical scalar. Currently, only TRUE is supported.

information

A character vector (only the first element will be used) specifying the information matrix to be used during optimization. Available choices are given in informationTypes. See details.

boundary.eps

A small positive number. If the parameter estimates fall below this number, additional checking will be performed to examine if the parameter estimate hits the lower boundary (0) of the parameter space.

nlminb

A list of arguments to be passed to stats::nlminb. This is most conveniently specified through nlminb.control.

plot.it

A logical scalar, indicating whether the profiled REML function is plotted around the fitted maximum. This is only effective when the number of variance component is one (not counting the error variance).

keepXYK

A logical scalar, indicating whether the fixed-effect design matrix (\(\mathbf{X}\)), response variable (\(\mathbf{Y}\)) and the list of variance-covariance matrices (\(\mathbf{K}\)) are included in the result. See varComp for notations.

eval.max, iter.max, trace, abs.tol, rel.tol, x.tol, xf.tol, step.min, step.max, sing.tol, …

The same as in stats::nlminb.

Value

A named list of the input arguments.

Details

The objective function is always the profiled restricted log likelihood function, where the error variance is profiled out from the REML function. The parameterization being used is the ratio of each variance component to the error variance. Non-negativity constraints are imposed on such ratios.

The information argument specifies the (approximate) Hessian matrix to be used during optimization. Available choices are "EI" (expected information), "OI" (observed information), "AEI" (approximate expected information), "AOI" (approximate observed information), and "WAI" (weighted average information). The approximate versions of "EI" and "OI" replace the more computationally demanding trace terms by their realized counter-parts that are unbiased for the trace, and the "WAI" is similar to the average-information of Gilmour (1995) that cancels such terms, except that the latter reference is based on unprofiled REML function rather than profiled REML. The choice of information only affects the speed and the stability of fitting. As long as the objective function is well behaved, the parameter estimates should not be affected by which information matrix is used during fitting.

Both varComp.control and nlminb.control are simply a wrapper of the input arguments.

References

Arthur R. Gilmour, Robin Thompson, Brian R. Cullis (1995) Average Information REML: An Efficient Algorithm for Variance Parameter Estimation in Linear Mixed Models. Biometrisc 51, 1440--1450.

Qu L, Guennel T, Marshall SL. (2013) Linear Score Tests for Variance Components in Linear Mixed Models and Applications to Genetic Association Studies. Biometrics, Volume 69, Issue 4, pages 883--892.

See Also

varComp

Examples

Run this code
# NOT RUN {
library(nlme)
data(Oxide)
## Using fisher scoring algorithm:
varComp(Thickness~Source, Oxide, ~Lot/Wafer, 
  control=varComp.control(information='EI')) 
## Using Newton-Raphson algorithm: 
varComp(Thickness~Source, Oxide, ~Lot/Wafer, 
  control=varComp.control(information='OI')) 
## Computing MINQUE0, residual contrasts, and marginal correlations of residual contrasts
varComp(Thickness~Source, Oxide, ~Lot/Wafer, 
  control=varComp.control(nlminb=nlminb.control(iter.max=0L)))
 

# }

Run the code above in your browser using DataLab