0

「earth」パッケージを使用して、多変量適応回帰スプライン モデルを構築しています。地球関数を使用して、特定の予測変数間の相互作用のみを許可する方法はありますか?

たとえば、yを予測変数abc、およびdの関数として2 度の交互作用でモデル化したい場合、 bが a ではなくcおよびdとのみ相互作用することを許可できますか? 地球関数に「許容される」入力があることは認識していますが、私の理解では、「許容される」入力は、予測子が相互作用を許可されているかどうかのみを指定し、具体的には相互作用できる他の予測子は指定しません。

私は MARS モデルとこの R パッケージを初めて使用することに注意してください。ありがとう!

4

1 に答える 1

1

以下は、指定された対話のみを許可する例です。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)
于 2015-06-12T14:57:40.843 に答える