a vector containing the response variable, or in the case of
multiple responses, a matrix whose columns are the response values
for each variable.
w
an optional vector of observation weights (currently ignored).
wp
an optional vector of response weights.
degree
an optional integer specifying maximum interaction
degree (default is 1).
nk
an optional integer specifying the maximum number of model
terms.
penalty
an optional value specifying the cost per degree of
freedom charge (default is 2).
thresh
an optional value specifying forward stepwise stopping
threshold (default is 0.001).
prune
an optional logical value specifying whether the model
should be pruned in a backward stepwise fashion (default is
TRUE).
trace.mars
an optional logical value specifying whether info
should be printed along the way (default is FALSE).
forward.step
an optional logical value specifying whether
forward stepwise process should be carried out (default is
TRUE).
prevfit
optional data structure from previous fit. To see the
effect of changing the penalty parameter, one can use prevfit with
forward.step = FALSE.
...
further arguments to be passed to or from methods.
Value
An object of class "mars", which is a list with the following
components:
call
call used to mars.
all.terms
term numbers in full model. 1 is the constant
term. Remaining terms are in pairs (2 3, 4 5, and so
on). all.terms indicates nonsingular set of terms.
selected.terms
term numbers in selected model.
penalty
the input penalty value.
degree
the input degree value.
thresh
the input threshold value.
gcv
gcv of chosen model.
factor
matrix with ij-th element equal to 1 if term
i has a factor of the form x_j > c, equal to -1 if
term i has a factor of the form x_j ≤ c, and to 0 if
xj is not in term i.
cuts
matrix with ij-th element equal to the cut point
c for variable j in term i.
residuals
residuals from fit.
fitted
fitted values from fit.
lenb
length of full model.
coefficients
least squares coefficients for final model.
x
a matrix of basis functions obtained from the input x
matrix.
Note
This function was coded from scratch, and did not use any of
Friedman's mars code. It gives quite similar results to Friedman's
program in our tests, but not exactly the same results. We have not
implemented Friedman's anova decomposition nor are categorical
predictors handled properly yet. Our version does handle multiple
response variables, however.
Author(s)
Trevor Hastie and Robert Tibshirani
References
J. Friedman, “Multivariate Adaptive Regression Splines” (with
discussion) (1991).
Annals of Statistics, 19/1, 1–141.
See Also
predict.mars,
model.matrix.mars.
Package earth also provides multivariate adaptive regression
spline models based on the Hastie/Tibshirani mars code in package
mda, adding some extra features. It can be used in the
method
argument of fda or mda.