predict.earth
Predict with an earth model
Predict with an earth
model.
- Keywords
- models
Usage
## S3 method for class 'earth':
predict(object = stop("no 'object' argument"), newdata = NULL,
type = c("link", "response", "earth", "class", "terms"),
interval = "none", level = .95,
thresh = .5, trace = FALSE, ...)
Arguments
- object
- An
earth
object. This is the only required argument. - newdata
- Make predictions using
newdata
, which can be a data frame, a matrix, or a vector with length equal to a multiple of the number of columns of the original input matrixx
. Note that this is more flexible than the predic - type
- Type of prediction.
One of
"link"
(default),"response"
,"earth"
,"class"
, or"terms"
. See the Note below. - interval
- Return prediction or confidence levels.
Default is
"none"
. Useinterval="pint"
to get prediction intervals on new data. Requires that the earth model was built withvarmod.method
. This argument gets passed - level
- Confidence level for the
interval
argument. Default is.95
, meaning construct 95% confidence bands (estimate the 2.5% and 97.5% levels). - thresh
- Threshold, a value between 0 and 1 when predicting a probability.
Only applies when
type="class"
. Default is .5. See the Note below. - trace
- Default
FALSE
. Set toTRUE
to see which data, subset, etc.predict.earth
is using. - ...
- Unused, but provided for generic/method consistency.
Value
- The predicted values (a matrix for multiple response models).
If
type="terms"
, a matrix with each column showing the contribution of a predictor.If
interval="pint"
or"cint"
, a matrix with three columns:fit
: the predicted valueslwr
: the lower confidence or prediction limitupr
: the upper confidence or prediction limitIf
interval="se"
, the standard errors.
Note
Predicting with standard earth models
Use the default type="link"
, or possibly type="class"
.
Actually, the "link"
, "response"
, and "earth"
choices all return the same value unless the glm
argument
was used in the original call to earth
.
Predicting with earth-GLM models
This section applies to earth models with a GLM component, i.e.,
when the glm
argument was used
in the original call to earth
.
The "link"
and "response"
options:
see predict.glm
for a description of these.
In brief: for logistic models
use type="link"
to get log-odds and
type="response"
to get probabilities.
Use option "earth"
to get the linear fit (this gives the prediction you would get
if your original call to earth had no glm
argument).
Predicting with "class"
Use option "class"
to get the predicted class.
With option "class"
, this function first makes predictions with
type="response"
and then assigns the predicted values to classes as follows:
(i) When the response is a logical, predict TRUE
if
the predicted probability is greater than thresh
.
(ii) When the response is a numeric, predict TRUE
if
the predicted value is greater than thresh
.
Actually, this is identical to the above case,
although thresh
here may legitimately be a value
outside the 0...1 range.
(iii) When the response is a two level factor,
predict the second level if its probability is more than thresh
.
In other words, with the default thresh=.5
predict the most probable level.
(iv) When the response is a three or more level factor,
predict the most probable level (and thresh
is ignored).
Predicting with "terms"
The "terms"
option returns a "link"
response suitable for termplot
.
Only the additive terms and the first response (for multi-response models) are returned.
Also, "terms"
always returns the earth terms, and ignores the GLM component
of the model, if any.
See Also
Examples
data(trees)
earth.mod <- earth(Volume ~ ., data = trees)
predict(earth.mod) # same as earth.mod$fitted.values
predict(earth.mod, c(10,80)) # yields 16.8