If you think about how the MARS model works, it does the following:
- Create and include pairs of hinge functions on the forward pass.
- Prune individually on the backward pass.
There shouldn't be any potentially for collinearity among a pair of hinge functions on the forward pass because of the way that they're made. One side will be zero when the other is non-zero. There could be collinearity across hinge functions (i.e., for one side of a hinge for two different variables), but I would think one of those would get pruned out on the backward pass because its deletion from the model wouldn't result in an interesting loss of fit (particularly if correlations were really high). If you chose not to prune the hinges (I'm not sure why you would), then there are possibilities for collinearity I suppose. In a sense, it might mean that the model is sensitive to collinearity in that given the ordering of the variables in the backward pass, it might choose a different hinge to prune, but the predictions it makes should not be sensitive to collinearity. If you wanted to see what collinearity looked like for the model, you could make the design matrix and use conventional collinearity diagnostics on it.
library(earth)
mod <- earth(Volume ~ ., data = trees)
mf <- model.frame(formula(mod), data=trees)
X <- model.matrix(mod, mf)[,-1]
r2j <- sapply(1:ncol(X), function(i)summary(lm(X[,i] ~ X[,-i]))$r.squared)
tol <- 1-r2j
vif <- 1/tol
names(vif) <- colnames(X)
vif
# h(Girth-14.2) h(14.2-Girth) h(Height-75)
# 1.683813 1.475042 1.333748
These are just my impressions based on how the model works. I'm happy to hear other thoughts, too.