predict.earth {earth} | R Documentation |

## Predict with an earth model

### Description

Predict with an `earth`

model.

### 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 |

`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. |

### 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 values

`lwr`

: the lower confidence or prediction limit

`upr`

: the upper confidence or prediction limit

If `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="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.

### See Also

### Examples

```
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
```

*earth*version 5.3.3 Index]