1

我使用glm()(带有偏移的泊松链接,例如

y ~ offset(log(x1)) + x2 + x3

响应是y/x1在这种情况下)。

然后我想使用caret包进行交叉验证,所以我使用了带有k - fold CV 控制的“train()”函数。事实证明,我拥有的 2 个模型非常不同。似乎train()无法处理offset:我将变量更改offsetoffset(log(log(x1))or offset(log(sqrt(x1)),模型保持不变。

有没有人有过这样的经历,你是怎么处理的?谢谢!

顺便说一句,我想保存每个验证集的预测到目前为止我只知道插入符号可以做到这一点,这就是我没有选择使用 cv.glm 的原因。

4

1 回答 1

0

我不能声称在这个确切的过程中具有先前的经验,并且在没有您提供可重现的示例和代码的情况下没有进行任何测试。但是我确实有将偏移量移动到glm-Poission 回归调用的 LHS 的经验,所以为什么不将公式(和族)更改为:

 glm( I(y/x1) ~ x2 + x3, family=quasipoisson, data= , ...)
于 2013-08-30T16:55:37.097 回答