predict.segmented: Predict method for segmented model fits

View source: R/predict.segmented.r

predict.segmentedR Documentation

Predict method for segmented model fits

Description

Returns predictions and optionally associated quantities (standard errors or confidence intervals) from a fitted segmented model object.

Usage

## S3 method for class 'segmented'
predict(object, newdata, se.fit=FALSE, interval=c("none","confidence", "prediction"), 
            type = c("link", "response"), level=0.95, .coef=NULL, ...)

Arguments

object

a fitted segmented model coming from segmented.lm or segmented.glm.

newdata

An optional data frame in which to look for variables with which to predict. If omitted, the fitted values are used.

se.fit

Logical. Should the standard errors be returned?

interval

Which interval? See predict.lm

type

Predictions on the link or response scale? Only if object is a segmented glm.

level

The confidence level.

.coef

The regression parameter estimates. If unspecified (i.e. NULL), it is computed internally by coef().

...

further arguments.

Details

Basically predict.segmented builds the right design matrix accounting for breakpoint and passes it to predict.lm or predict.glm depending on the actual model fit object.

Value

predict.segmented produces a vector of predictions with possibly associated standard errors or confidence intervals. See predict.lm or predict.glm.

Warning

For segmented glm fits with offset obtained starting from the model glm(.., offset=..), predict.segmented returns the fitted values without considering the offset.

Note

If type="terms", predict.segmented returns predictions for each component of the segmented term. Namely if ‘my.x’ is the segmented variable, predictions for ‘my.x’, ‘U1.my.x’ and ‘psi1.my.x’ are returned. These are meaningless individually, however their sum provides the predictions for the segmented term.

Author(s)

Vito Muggeo

See Also

segmented, plot.segmented, broken.line, predict.lm, predict.glm

Examples

n=10
x=seq(-3,3,l=n)
set.seed(1515)
y <- (x<0)*x/2 + 1 + rnorm(x,sd=0.15)
segm <- segmented(lm(y ~ x), ~ x, psi=0.5)
predict(segm,se.fit = TRUE)$se.fit

#wrong (smaller) st.errors (assuming known the breakpoint)
olm<-lm(y~x+pmax(x-segm$psi[,2],0))
predict(olm,se.fit = TRUE)$se.fit

segmented documentation built on Nov. 28, 2023, 1:07 a.m.