Hi all- I fit a zero-inflated Poisson model to model bycatch rates using an offset term for effort. I need to apply the fitted model to a datasets of varying levels of effort to predict the associated levels of bycatch. I am seeking assistance as to the correct way to code this. Thanks in advance! Laura [[alternative HTML version deleted]]
Lee, Laura wrote> > Hi all- > > I fit a zero-inflated Poisson model to model bycatch rates using an offset > term for effort. I need to apply the fitted model to a datasets of varying > levels of effort to predict the associated levels of bycatch. I am seeking > assistance as to the correct way to code this. > > > --- > Just use the function zeroinfl from the pscl package...fit your > model...extract the estimated parameters, specify a data frame with > variables for which you want to make predictions (including values for > your offset), use model.matrix to convert it into the correct format and > calculate your fitted values. > > You can also use the function predict. > > You can either predict the binary (pi) and count parts (mu), or the > predicted values for the ZIP ((1-pi)*mu)..or better...both. > > > For detailed examples and code see: > > Zero Inflated Models and Generalized Linear Mixed Models with R. (2012) > Zuur, Saveliev, Ieno. > > http://www.highstat.com/book4.htm > > > Alain > > -- > > Dr. Alain F. Zuur > First author of: > > 1. Analysing Ecological Data (2007). > Zuur, AF, Ieno, EN and Smith, GM. Springer. 680 p. > URL: www.springer.com/0-387-45967-7 > > > 2. Mixed effects models and extensions in ecology with R. (2009). > Zuur, AF, Ieno, EN, Walker, N, Saveliev, AA, and Smith, GM. Springer. > http://www.springer.com/life+sci/ecology/book/978-0-387-87457-9 > > > 3. A Beginner's Guide to R (2009). > Zuur, AF, Ieno, EN, Meesters, EHWG. Springer > http://www.springer.com/statistics/computational/book/978-0-387-93836-3 > > > 4. Zero Inflated Models and Generalized Linear Mixed Models with R. (2012) > Zuur, Saveliev, Ieno. > http://www.highstat.com/book4.htm > > Other books: http://www.highstat.com/books.htm > > > Statistical consultancy, courses, data analysis and software > Highland Statistics Ltd. > 6 Laverock road > UK - AB41 6FN Newburgh > Tel: 0044 1358 788177 > Email: highstat at highstat.com > URL: www.highstat.com > URL: www.brodgar.com > > > > > Thanks in advance! > > Laura > > > > > > [[alternative HTML version deleted]] > > ______________________________________________ > R-help@ 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. >----- Dr. Alain F. Zuur First author of: 1. Analysing Ecological Data (2007). Zuur, AF, Ieno, EN and Smith, GM. Springer. 680 p. URL: www.springer.com/0-387-45967-7 2. Mixed effects models and extensions in ecology with R. (2009). Zuur, AF, Ieno, EN, Walker, N, Saveliev, AA, and Smith, GM. Springer. http://www.springer.com/life+sci/ecology/book/978-0-387-87457-9 3. A Beginner's Guide to R (2009). Zuur, AF, Ieno, EN, Meesters, EHWG. Springer http://www.springer.com/statistics/computational/book/978-0-387-93836-3 Other books: http://www.highstat.com/books.htm Statistical consultancy, courses, data analysis and software Highland Statistics Ltd. 6 Laverock road UK - AB41 6FN Newburgh Tel: 0044 1358 788177 Email: highstat at highstat.com URL: www.highstat.com URL: www.brodgar.com -- View this message in context: http://r.789695.n4.nabble.com/Predicted-values-for-zero-inflated-Poisson-tp4635861p4635898.html Sent from the R help mailing list archive at Nabble.com.
Highland Statistics Ltd
2012-Jul-09 21:16 UTC
[R] Predicted values for zero-inflated Poisson
Laura Lee laura.lee at ncdenr.gov Mon Jul 9 22:51:40 CEST 2012 Previous message: [R] Predicted values for zero-inflated Poisson Next message: [R] Lavaan Package - How to Extract Residuals in Data Values Messages sorted by: [ date ] [ thread ] [ subject ] [ author ] Thanks for your reply. I do have a copy of "Zero Inflated Models and Generalized Linear Mixed Models with R" and have been using that as a guide. I applied the predict function (type="count") to the dataset for which I built the model to compare the predicted bycatch numbers to the observed to ensure I was doing things correctly. When I summed over the new predicted variable, the value is over 500 whereas there were less than 10 observed. I'd appreciate any advice regarding what I'm doing wrong. -- View this message in context: http://r.789695.n4.nabble.com/Predicted-values-for-zero-inflated-Poisson-tp4635861p4635916.html Sent from the R help mailing list archive at Nabble.com. AFZ: Laura....no...you don't want to compare the count part of the model with raw data....you need to compare the Exp(Y) = (1-pi) * mu with the raw data. Have a look at the Epilogue chapter....it shows the difference between mu and (1-pi) * mu. Alain -- Dr. Alain F. Zuur First author of: 1. Analysing Ecological Data (2007). Zuur, AF, Ieno, EN and Smith, GM. Springer. 680 p. URL: www.springer.com/0-387-45967-7 2. Mixed effects models and extensions in ecology with R. (2009). Zuur, AF, Ieno, EN, Walker, N, Saveliev, AA, and Smith, GM. Springer. http://www.springer.com/life+sci/ecology/book/978-0-387-87457-9 3. A Beginner's Guide to R (2009). Zuur, AF, Ieno, EN, Meesters, EHWG. Springer http://www.springer.com/statistics/computational/book/978-0-387-93836-3 4. Zero Inflated Models and Generalized Linear Mixed Models with R. (2012) Zuur, Saveliev, Ieno. http://www.highstat.com/book4.htm Other books: http://www.highstat.com/books.htm Statistical consultancy, courses, data analysis and software Highland Statistics Ltd. 6 Laverock road UK - AB41 6FN Newburgh Tel: 0044 1358 788177 Email: highstat@highstat.com URL: www.highstat.com URL: www.brodgar.com [[alternative HTML version deleted]]
Highland Statistics Ltd
2012-Jul-10 17:50 UTC
[R] Predicted values for zero-inflated Poisson
*Laura Lee* laura.lee at ncdenr.gov <mailto:r-help%40r-project.org?Subject=Re%3A%20%5BR%5D%20Predicted%20values%20for%20zero-inflated%20Poisson&In-Reply-To=%3C1341937636301-4636016.post%40n4.nabble.com%3E> /Tue Jul 10 18:27:16 CEST 2012/ ------------------------------------------------------------------------ I want to predict the number of turtles for different levels of effort and combinations of covariates. So, for my dataset from which I built the model, would I compare sum(predict(ZIP,type="response")) to the observed bycatch to compare numbers? In order to predict for the new data (called effort), would I use sum(predict(ZIP,newdata=effort,type="response"))? I want to be certain I am understanding the coding--this is my first time using the predict function. Thanks, Laura Laura Why do you use the sum? If you use: PredY <- predict(ZIP, type = "response") then you have predicted values for each of the rows in your effort data frame. Job done. You have an offset in your model, isn't it? You will need to choose values for this in the data frame effort as well. Also double check that the offset is only in the count part....at least that is what I would do. Note that using an offset means that you assume that if sampling effort is doubled, your fish (?) numbers double. If you fully want to understand what predict is doing, try to do it manually. Below is R code from Chapter 7 (Zero Inflation and GLMM with R) M3 <- zeroinfl(ParrotFish ~ Depth + Slope + SQDistRck + DistSed + Swell + Chla + SST, dist = "poisson", link = "logit", data = PF2) Betas.logistic <- coef(M3, model = "zero") X.logistic <- model.matrix(M3, model = "zero") eta.logistic <- X.logistic %*% Betas.logistic p <- exp(eta.logistic) / (1 + exp(eta.logistic)) Betas.log <- coef(M3, model = "count") X.log <- model.matrix(M3, model = "count") eta.log <- X.log %*% Betas.log mu <- exp(eta.log) ExpY <- mu * (1 - p) VarY <- (1 - p) * (mu + p * mu^2) Instead of using model.matrix(M3), you could specify your own data frame with covariates. Your effort. Something like: M4 <- zeroinfl(ParrotFish ~ Depth + Slope | SST, dist = "poisson", link = "logit", data = PF2) betapois <- coef(M4, model = "count") betaBin <- coef(M4, model = "zero") MyDataPois <- data.frame(Depth = blah blah, Slope = Blah blah) MyDataBin <- data.frame(SST = blah) Xpois <- model.matrix(~ blah blah, data = MyDataPois) Xbin <- model.matrix(~ blah blah, data = MyDataBin) eta.Pois <- Xpois %*% betapois eta.Bin <- blah blah mu = blah blah pi = blah blah ExpY = ... Doing it like this means you fully understand it..:-) Alain -- Dr. Alain F. Zuur First author of: 1. Analysing Ecological Data (2007). Zuur, AF, Ieno, EN and Smith, GM. Springer. 680 p. URL: www.springer.com/0-387-45967-7 2. Mixed effects models and extensions in ecology with R. (2009). Zuur, AF, Ieno, EN, Walker, N, Saveliev, AA, and Smith, GM. Springer. http://www.springer.com/life+sci/ecology/book/978-0-387-87457-9 3. A Beginner's Guide to R (2009). Zuur, AF, Ieno, EN, Meesters, EHWG. Springer http://www.springer.com/statistics/computational/book/978-0-387-93836-3 4. Zero Inflated Models and Generalized Linear Mixed Models with R. (2012) Zuur, Saveliev, Ieno. http://www.highstat.com/book4.htm Other books: http://www.highstat.com/books.htm Statistical consultancy, courses, data analysis and software Highland Statistics Ltd. 6 Laverock road UK - AB41 6FN Newburgh Tel: 0044 1358 788177 Email: highstat@highstat.com URL: www.highstat.com URL: www.brodgar.com [[alternative HTML version deleted]]