I'm trying to predict the impact of avg grasshopper density(ghavg) on plant biomass. Both the response and predictor are continuous data. I had to log transform biomass (logmass) for a normal distribution, giving the following dataset:

`logmass = c(8.032393925,7.439531107,7.307924891,7.036315375,6.679316231,6.545784839,6.414481385,6.39297518,6.209312602,6.209312602,5.698486978,4.862609605,4.367692388,3.608137836) ghavg = c(30.4,30.4,7.7,124.8,7.7,7.7,123.2,30.4,21.1,21.1,21.1,123.2,47.9,124.8) `

In R I ran a glm:

`biomass<-glm(logmass~ghavg,data.txt). `

To predict the effect of grasshoppers on plant biomass (up to 300 m2) I ran:

`nd<-data.frame(ghavg=0:300) pred_mass<-predict.glm(biomass,type="response",newdata=nd) `

Then back transformed the output with:

`trans_pred<-(exp(1)^(pred_mass)) `

I think this works well but I would now like to add confidence intervals to the prediciton. I tried:

`pred_massSE<-predict.glm(biomass,type="response",se.fit=TRUE,newdata=nd) `

but the standard errors are clearly off when back transformed.

Any assistance on how to properly add CI's to predicted values from transformed data would be greatly appreciated

**Contents**hide

#### Best Answer

@ogrisel: bootstrap seems overkill here! rather:

`preds <- predict.glm(biomass,type="response",se.fit=TRUE,newdata=nd) logci <- preds$fit+(preds$se)%*%t(qnorm(c(0.025,0.5,0.975))) ci <- exp(logci) dimnames(ci)[[2]]<-c("lower95", "est", "upper95") `

should work (if confidence intervals for predictions are actually what you want)

cheers

### Similar Posts:

- Solved – Why is the nonlinear least squares confidence band so wide
- Solved – How to calculate marginal effects in mixed models
- Solved – Correct interpretation of confidence interval for logistic regression
- Solved – What are the formulae used in R by predict.lm when interval= a) ‘none’, b) ‘prediction’, and c) ‘confidence’
- Solved – Confidence bands for model averaged predictions of GLMMs