Learn R Programming

segmented (version 2.0-0)

seg.lm.fit: Fitter Functions for Segmented Linear Models

Description

seg.lm.fit is called by segmented.lm to fit segmented linear (gaussian) models. Likewise, seg.glm.fit is called by segmented.glm to fit generalized segmented linear models, and seg.def.fit is called by segmented.default to fit segmented relationships in general regression models (e.g., quantile regression and Cox regression). seg.lm.fit.boot, seg.glm.fit.boot, and seg.def.fit.boot are employed to perform bootstrap restart. The functions segConstr.* are called by segreg() when some contraints are set on the slopes of the segmented relationships.

These functions should usually not be used directly by the user.

Usage

seg.lm.fit(y, XREG, Z, PSI, w, offs, opz, return.all.sol=FALSE)

seg.lm.fit.boot(y, XREG, Z, PSI, w, offs, opz, n.boot=10, size.boot=NULL, jt=FALSE, nonParam=TRUE, random=FALSE, break.boot=n.boot)

seg.glm.fit(y, XREG, Z, PSI, w, offs, opz, return.all.sol=FALSE)

seg.glm.fit.boot(y, XREG, Z, PSI, w, offs, opz, n.boot=10, size.boot=NULL, jt=FALSE, nonParam=TRUE, random=FALSE, break.boot=n.boot)

seg.def.fit(obj, Z, PSI, mfExt, opz, return.all.sol=FALSE)

seg.def.fit.boot(obj, Z, PSI, mfExt, opz, n.boot=10, size.boot=NULL, jt=FALSE, nonParam=TRUE, random=FALSE, break.boot=n.boot)

seg.Ar.fit(obj, XREG, Z, PSI, opz, return.all.sol=FALSE)

seg.Ar.fit.boot(obj, XREG, Z, PSI, opz, n.boot=10, size.boot=NULL, jt=FALSE, nonParam=TRUE, random=FALSE, break.boot=n.boot)

seg.num.fit(y, XREG, Z, PSI, w, opz, return.all.sol=FALSE)

seg.num.fit.boot(y, XREG, Z, PSI, w, opz, n.boot=10, size.boot=NULL, jt=FALSE, nonParam=TRUE, random=FALSE, break.boot=n.boot) segConstr.lm.fit(y, XREG, Z, PSI, w, offs, opz, return.all.sol = FALSE)

segConstr.lm.fit.boot(y, XREG, Z, PSI, w, offs, opz, n.boot=10, size.boot=NULL, jt=FALSE, nonParam=TRUE, random=FALSE, break.boot=n.boot)

segConstr.glm.fit(y, XREG, Z, PSI, w, offs, opz, return.all.sol = FALSE)

segConstr.glm.fit.boot(y, XREG, Z, PSI, w, offs, opz, n.boot=10, size.boot=NULL, jt=FALSE, nonParam=TRUE, random=FALSE, break.boot=n.boot)

Value

A list of fit information.

Arguments

y

vector of observations of length n.

XREG

design matrix for standard linear terms.

Z

appropriate matrix including the segmented variables whose breakpoints have to be estimated.

PSI

appropriate matrix including the starting values of the breakpoints to be estimated.

w

possibe weights vector.

offs

possibe offset vector.

opz

a list including information useful for model fitting.

n.boot

the number of bootstrap samples employed in the bootstrap restart algorithm.

break.boot

Integer, less than n.boot. If break.boot consecutive bootstrap samples lead to the same objective function, the algorithm stops without performing all n.boot 'trials'. This can save computational time considerably.

size.boot

the size of the bootstrap resamples. If NULL (default), it is taken equal to the sample size. values smaller than the sample size are expected to increase perturbation in the bootstrap resamples.

jt

logical. If TRUE the values of the segmented variable(s) are jittered before fitting the model to the bootstrap resamples.

nonParam

if TRUE nonparametric bootstrap (i.e. case-resampling) is used, otherwise residual-based.

random

if TRUE, when the algorithm fails to obtain a solution, random values are used as candidate values.

return.all.sol

if TRUE, when the algorithm fails to obtain a solution, the values visited by the algorithm with corresponding deviances are returned.

obj

the starting regression model where the segmented relationships have to be added.

mfExt

the model frame.

Author

Vito Muggeo

Details

The functions call iteratively lm.wfit (or glm.fit) with proper design matrix depending on XREG, Z and PSI. seg.lm.fit.boot (and seg.glm.fit.boot) implements the bootstrap restarting idea discussed in Wood (2001).

References

Wood, S. N. (2001) Minimizing model fitting objectives that contain spurious local minima by bootstrap restarting. Biometrics 57, 240--244.

See Also

segmented.lm, segmented.glm

Examples

Run this code
##See ?segmented

Run the code above in your browser using DataLab