Fitter Functions for Segmented Linear Models
seg.lm.fit.Rdseg.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)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. Ifbreak.bootconsecutive bootstrap samples lead to the same objective function, the algorithm stops without performing alln.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
TRUEthe values of the segmented variable(s) are jittered before fitting the model to the bootstrap resamples.- nonParam
if
TRUEnonparametric 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.
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.