首页 > 解决方案 > 当 GAM 具有线性变量、平滑函数和张量交互积时使用 k.check

问题描述

我目前正在尝试为我的数据创建一个模型。该模型包含一些线性项、一些平滑函数和一些张量积交互。在将我的模型简化为仅重要项后,它看起来像这样:

model.5 <- gam(response ~ x1 +x2 +s(x3, bs="tp") + s(x4, bs="tp") + ti(x3, x5, bs="tp") + s(x4, by=x1), family=poisson, method = "GCV.CP")

因子 x1 和 x2 是二元变量。

我正在尝试评估基函数的数量是否合适,并且对于我之前构建的模型,我一直在使用 k.check。这些先前的模型仅包含形式为 s(variable1, variable2, bs="tp") 的平滑函数。但是,对于我的 model.5,如果我使用 k.check 函数或 gam.check 函数,我会收到以下错误:

Error in names(dat) <- object$term : 
  'names' attribute [2] must be the same length as the vector [0]

这是我的编码问题还是因为我现在在我的模型中使用张量积交互。如果问题与它们是张量积交互的事实有关,是否有另一种方法来检查这些平滑函数对数据的建模程度以及基函数的数量是否合适?

谢谢!

标签: rproducttensorgam

解决方案


推荐阅读