我正在使用' earth'包构建一个多元自适应回归样条模型。使用地球函数,有没有办法只允许某些预测变量之间的交互?
例如,如果我想将 y 建模为预测变量 a 的函数,< strong> b , c , d 2度在交互方面,我是否可以允许 b 仅与 c 和 d进行交互 ,不是 a ?我认识到有'#34; allowable&#34;在地球函数中输入,但是从我的理解中可以得到&#34;允许&#34; input仅指定是否允许预测变量进行交互,而不是具体指定它可与之交互的其他预测变量。
请注意,我是使用MARS模型和此R包的新手,因此非常感谢任何帮助。谢谢!
答案 0 :(得分:0)
以下是仅允许指定交互的示例。允许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)