[R] boot strapping poisson getting warnings and negative values

David Winsemius dwinsemius at comcast.net
Sat Nov 15 08:44:24 CET 2014


> On Nov 14, 2014, at 6:28 PM, Aravindhan, K <k-aravindhan1 at ti.com> wrote:
> 
> Team,
> Has anyone looked at this question from me ?  it will help me immensely if someone can provide an answer to this.
> 
> Thanks
> Aravindhan
> 
> -----Original Message-----
> From: r-help-bounces at r-project.org [mailto:r-help-bounces at r-project.org] On Behalf Of K Aravindhan
> Sent: Friday, August 08, 2014 7:42 PM
> To: r-help at r-project.org
> Subject: [R] boot strapping poisson getting warnings and negative values
> 
> Dear Team,
> I am getting this error while running the boot-strapping functions. 
> 
> ==================================================
> mod.db.hub<-glm(TOTAL~1+IPD,family="poisson",data=db)
> fit<-fitted(mod.db.hub)
> e<-residuals(mod.db.hub)
> X<-model.matrix(mod.db.hub)
> boot.huber.fixed<-function(data,indices,maxit=20) { Y<-fit+e[indices]

I would imagine that the length of fit and of e[indices] would be different. Won’t generate an error that stops execute, but may create an error in evaluation.

> mod<-glm(Y~X-1,family="poisson",maxit=maxit)

And if you are pulling X from “outside” the bootstrapped function (and not adjusting it to reflect the indices), I cannot imagine good things should be expected.

> coefficients(mod)
> }
> library(boot)
> db.fix.boot<-boot(db,boot.huber.fixed,2000,maxit=20)

And then there is the question of what ‘db’ really is. Furthermore, it doesn't seem that you are using any of that data-object in your bootstrapped function.

> db.fix.boot
> boot.ci(db.fix.boot,index=1,type=c("bca","perc","poisson"))
> boot.ci(db.fix.boot,index=2,type=c("bca","perc","poisson"))
> ==================================================
> 
> Error in eval(expr, envir, enclos) : 
> negative values not allowed for the 'Poisson' family In addition: Warning messages:

If you wnat to construct a Y variable that is not integer then you need to use quasipoisson.


> 1: In dpois(y, mu, log = TRUE) : non-integer x = 25.006412
> 2: In dpois(y, mu, log = TRUE) : non-integer x = 26.969411
> 3: In dpois(y, mu, log = TRUE) : non-integer x = 66.352323
> 4: In dpois(y, mu, log = TRUE) : non-integer x = 61.083519
> 5: In dpois(y, mu, log = TRUE) : non-integer x = 20.596770
> 6: In dpois(y, mu, log = TRUE) : non-integer x = 43.428258
> 7: In dpois(y, mu, log = TRUE) : non-integer x = 1108.263554
> 8: In dpois(y, mu, log = TRUE) : non-integer x = 61.937982
> 9: In dpois(y, mu, log = TRUE) : non-integer x = 419.991213
> 10: In dpois(y, mu, log = TRUE) : non-integer x = 47.369133
> 
> Can you explain to me how to get rid of these ?
> 
> Thanks
> Aravindhan
> 
> ______________________________________________
> R-help at r-project.org mailing list
> https://stat.ethz.ch/mailman/listinfo/r-help
> PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
> and provide commented, minimal, self-contained, reproducible code.
> 
> ______________________________________________
> R-help at r-project.org mailing list
> https://stat.ethz.ch/mailman/listinfo/r-help
> PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
> and provide commented, minimal, self-contained, reproducible code.

David Winsemius, MD
Alameda, CA, USA



More information about the R-help mailing list