繁体   English   中英

在 R 中的“earth”包中强制进行特定交互

[英]Force specific interactions in Package 'earth' in R

我正在使用“地球”包来构建多元自适应回归样条模型。 使用 earth 函数,有没有办法只允许某些预测变量之间的交互?

例如,如果我想将y建模为具有 2 度交互作用的预测变量abcd的函数,我可以允许b仅与cd交互,而不是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)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM