我使用glm()
拟合了一个速率模型(带偏移的泊松链接,如
y ~ offset(log(x1)) + x2 + x3
在这种情况下,响应为y/x1
。
然后我想使用插入符号包进行交叉验证,所以我使用了'train()'函数和 k -fold CV控件。事实证明,我拥有的2个模型非常不同。似乎train()
无法处理offset
:我将offset
中的变量更改为offset(log(log(x1))
或offset(log(sqrt(x1))
,模型保持不变。
之前有过这种经历,你是如何处理它的? 谢谢!
btw我想保存每个验证集的预测,所以到目前为止我只知道插入符可以做到这一点,这就是为什么我没有选择使用cv.glm。
答案 0 :(得分:0)
我不能声称拥有此过程的先前经验,并且在没有提供可重现的示例和代码的情况下没有进行任何测试。但我确实有将偏移移动到glm
- Lission回归调用的LHS的经验,那么为什么不将公式(和族)改为:
glm( I(y/x1) ~ x2 + x3, family=quasipoisson, data= , ...)