Smoothing-splines mixed-effects model fit(s) from a data.frame object

Description

Carry out one or more independent smoothing-splines mixed-effects model fits simultaneously

Usage

1
2
3
## S3 method for class 'data.frame'
sme(object,tme,ind,verbose=F,lambda.mu=NULL,lambda.v=NULL,maxIter=500,
knots=NULL,zeroIntercept=F,deltaEM=1e-3,deltaNM=1e-3,criteria="AICc",...)

Arguments

object

a data.frame with named variables y, tme, ind and, optionally, variable. The first three represent observations, corresponding time points and correpsonding subjects respectively. If variable is missing then these are used to carry out a single model fit. If variable is present then it denotes variable membership, and a separate smoothing-splines mixed-effects model is fit to each unique variable

tme

for consistency with the generic function. Ignored in this case

ind

for consistency with the generic function. Ignored in this case

verbose

if TRUE, debug information will be output while fitting the model(s)

lambda.mu

in the case of carrying out a single model fit, either a smoothing parameter to be used for the fixed-effect function or NULL if the optimal values for this and lambda.v should be found according to criteria using Nelder-Mead search. For the case of multiple model fits, either a single smoothing parameter to be used for all fits, or a vector of smoothing parameters, one for each fit, or NULL if Nelder-Mead search should be used to find the optimal values for this and lambda.v for all variables

lambda.v

in the case of carrying out a single model fit, either a smoothing parameter to be used for the random-effects functions or NULL if the optimal values for this and lambda.mu should be found according to criteria using Nelder-Mead search. For the case of multiple model fits, either a single smoothing parameter to be used for all fits, or a vector of smoothing parameters, one for each fit, or NULL if Nelder-Mead search should be used to find the optimal values for this and lambda.mu for all variables

maxIter

maximum number of iterations to be performed for the EM algorithm

knots

location of spline knots. If NULL, an incidence matrix representation will be used. See ‘Details’

zeroIntercept

experimental feature. If TRUE, the fitted values of the fixed- and random-effects functions at the intercept will be zero

deltaEM

convergence tolerance for the EM algorithm

deltaNM

(relative) convergence tolerance for the Nelder-Mead optimisation

criteria

one of "AICc", "AIC", "BICN" or "BICn" indicating which criteria to use to score a particular combination of lambda.mu and lambda.v in the Nelder-Mead search

...

additional arguments used when carrying out multiple fits, specifically numberOfThreads indicating the number of threads used to carry out the multiple fits in parallel. See sme.list for details

Details

The default behaviour is to use an incidence matrix representation for the smoothing-splines. This works well in most situations but may incur a high computational cost when the number of distinct time points is large, as may be the case for irregularly sampled data. Alternatively, a basis projection can be used by giving a vector of knots of length (much) less than the number of distinct time points.

Value

In the case of a single model fit, an object of class sme. For multiple model fits, a list of such objects. See smeObject for the components of the fit and plot.sme for visualisation options

Author(s)

Maurice Berk maurice@mauriceberk.com

References

Berk, M. (2012). Smoothing-splines Mixed-effects Models in R. Preprint

See Also

smeObject, sme, sme.list, plot.sme

Examples

1
2
3
4
5
6
  data(MTB)
  system.time(fits <- sme(MTB,numberOfThreads=1))
  sapply(fits,logLik)

  system.time(fits <- sme(MTB,numberOfThreads=10))
  sapply(fits,logLik)