Predict with an earth model
Predict with an earth
model.
## 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, ...)
object |
An |
newdata |
Make predictions using |
type |
Type of prediction.
One of |
interval |
Return prediction or confidence levels.
Default is |
level |
Confidence level for the |
thresh |
Threshold, a value between 0 and 1 when predicting a probability.
Only applies when |
trace |
Default |
... |
Unused, but provided for generic/method consistency. |
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 limit
If interval="se"
, the standard errors.
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="response"
to get probabilities,
and type="link"
to get log-odds.
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
(default 0.5
).
(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=0.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.
data(trees) earth.mod <- earth(Volume ~ ., data = trees) predict(earth.mod) # same as earth.mod$fitted.values predict(earth.mod, data.frame(Girth=10, Height=80)) # yields 17.6 predict(earth.mod, c(10,80)) # equivalent
Please choose more modern alternatives, such as Google Chrome or Mozilla Firefox.