我正在使用“地球”包来构建多元自适应回归样条模型。使用 earth 函数,有没有办法只允许某些预测变量之间的交互?
例如,如果我想将y建模为具有 2 度交互作用的预测变量a、b、c和d的函数,我可以允许b仅与c和d交互,而不是a吗?我认识到地球功能中有“允许”输入,但据我了解,“允许”输入仅指定是否允许预测器交互,而不是具体指定它可以与哪些其他预测器交互。
请注意,我不熟悉使用 MARS 模型和这个 R 包,因此非常感谢任何帮助。谢谢!
我正在使用“地球”包来构建多元自适应回归样条模型。使用 earth 函数,有没有办法只允许某些预测变量之间的交互?
例如,如果我想将y建模为具有 2 度交互作用的预测变量a、b、c和d的函数,我可以允许b仅与c和d交互,而不是a吗?我认识到地球功能中有“允许”输入,但据我了解,“允许”输入仅指定是否允许预测器交互,而不是具体指定它可以与哪些其他预测器交互。
请注意,我不熟悉使用 MARS 模型和这个 R 包,因此非常感谢任何帮助。谢谢!
这是一个仅允许指定交互的示例。允许 PREDICTORS 中的预测器与 PARENTS 中的预测器交互,并且不允许其他交互:
library(earth)
data(etitanic)
PREDICTORS <- c("age")
PARENTS <- c("survived", "parch")
example5 <- function(degree, pred, parents, namesx)
{
if (degree < 2)
return(TRUE)
predictor <- namesx[pred]
parents <- namesx[parents != 0]
if((any(predictor %in% PREDICTORS) && any(parents %in% PARENTS)) ||
(any(predictor %in% PARENTS) && any(parents %in% PREDICTORS))) {
return(TRUE)
}
FALSE
}
a5 <- earth(sex~., data=etitanic, degree=2, allowed=example5)