我尝试使用偏移在glmnet上为family = poisson运行交叉验证时遇到错误。
我设法用以下非常简单的例子复制错误:
library(glmnet)
#poisson
N=500; p=20
nzc=5
x=matrix(rnorm(N*p),N,p)
beta=rnorm(nzc)
f = x[,seq(nzc)]%*%beta
mu=exp(f)
y=rpois(N,mu)
exposure=rep(0.5,length(y))
#cross validation
cv=cv.glmnet(x,y,family="poisson",offset=log(exposure),nlambda=50,nfolds=3)
返回以下错误:
错误:没有为预测提供新的偏移,但在适合的情况下使用偏移 glmnet
我无法弄清楚我在这里做错了什么。并且无法在互联网上找到任何帮助。有人会有想法吗?
非常感谢!
编辑:此问题已过时,并已链接到
2.0-12
包的版本glmnet
- 在更新为版本2.0-13
答案 0 :(得分:1)
这有效:
predict(cv,x,newoffset=log(exposure))
glmnet
参数的offset
文档:
如果提供,则还必须将值提供给预测 功能