用于MARS的包地球R中的变量选择

时间:2015-02-12 14:17:57

标签: r mars

我正在研究使用R中的earth包的MARS模型。我想强制模型中的所有变量。我有14个预测因子,但在结果中,我只得到13个预测因子。以下是我的代码。

mdl <- earth(x,y,nprune=10000, nk=1000, degree=1, thresh=1e-7,
        linpreds=c(1:14), penalty = -1,  ponly=T, trace = 0)

以下是我的问题

  1. 我是否可以强制变量而不是某些变量选择。如果是,怎么样?\
  2. 一旦我开始探索数据中的铰链,我是否可以手动修复结点,然后根据它们进行估算。
  3. 感谢您的帮助。

1 个答案:

答案 0 :(得分:1)

您不能强制预测器进入地球/ MARS模型。 MARS算法的基础是自动选择预测变量。

但是有可能通过设置thresh = 0和penalty = -1来破坏正常算法,从而增加所有预测变量进入模型的可能性。请参阅地球帮助页面,并在地球小插图中搜索“thresh”和“penalty”以获取详细信息和示例。

然而,引用那个小插图:“通常最好不要通过调整来破坏标准的MARS算法 thresh,penalty和endpan等参数。请记住,我们并不寻求 一个最适合训练数据的模型,而是一个最适合底层的模型 分配“。

您无法手动修复结。再次,如果MARS算法固有的话,自动选择结。但是,minspan和endpan参数为您提供了一些自动放置结的灵活性,例如minspan = -3将允许每个预测器最多3个等间距结。