使用插入符号验证泊松 GAM 模型

validating poisson GAM models with caret

我正在尝试 运行 使用 R 中的 'caret' 包对广义加性模型 (GAM) 进行交叉验证。我可以让它为 GLM 工作,并且认为对于 GAM,运行 同样的事情应该很简单,但无法让它工作,见下文:

dat <- data.frame(label=round(rpois(100,20)),v1=rnorm(100),v2=rnorm(100))
tc <- trainControl("cv",10,savePred=T)
(fit <- train(label~.,data=dat,method="glm",trControl=tc,family=poisson(link = "log")))

(fit1 <- train(label~.,data=dat,method="gam",trControl=tc,family=poisson(link = "log")))

最后一行 运行 抛出的关键警告是:

20: In eval(expr, envir, enclos) :
  model fit failed for Fold10: select=FALSE, method=GCV.Cp Error in mgcv:::gam(modForm, data = dat, family = dist, select = param$select,  : 
  formal argument "family" matched by multiple actual arguments

家庭参数似乎以某种方式没有像在 glm() 中那样传递给 gam()。在详尽地搜索网络后,我还没有找到这方面的任何工作示例。如有任何帮助,我们将不胜感激!

尼克

经进一步审查,泊松结果似乎明确不支持使用插入符号中的任何基于 GAM 的模型类型。我 flagged this as an issue(至少在文档中,如果没有明确支持这些类型的模型)在插入符代码库中 Github。