[R-sig-ME] 'adjusting for bias' in a Poisson model

Ben Bolker bolker at ufl.edu
Sat Jan 3 16:23:26 CET 2009


  "offset" is you want to look for.
  offsets apply on the scale of the linear predictor
(log scale in this case), so I think adding something
like offset=((x==1)*log(0.8)) to the model will do
the trick.

Henrik Parn wrote:
> Dear all,
> 
> Basically, I have fitted a mixed model with poisson error to analyse how
> number of offspring (y) depend on a fixed factor (x). The data is
> grouped by two random factors (gr1, gr2).
> 
> # Some test data with at least a similar structure:
> 
> set.seed(100)
> test.data <- data.frame(
> y = c(rpois(40, 5.5), rpois(40, 3.5)),
> x = factor(rep(0:1, each = 40)),
> gr1 = factor(rep(1:4, each = 10)),
> gr2 = factor(rep(1:2, each = 5)))
> 
> # The model
> model <- lmer(y ~ x + (1|gr1) + (1|gr2),
> data = test.data, family = poisson)
> 
> summary(model)
> Generalized linear mixed model fit by the Laplace approximation
> Formula: y ~ x + (1 | gr1) + (1 | gr2)
>    Data: test.data
>    AIC   BIC logLik deviance
>  61.01 70.54 -26.51    53.01
> Random effects:
>  Groups Name        Variance   Std.Dev.
>  gr1    (Intercept) 0.00045437 0.021316
>  gr2    (Intercept) 0.00000000 0.000000
> Number of obs: 80, groups: gr1, 4; gr2, 2
> 
> Fixed effects:
>             Estimate Std. Error z value Pr(>|z|)
> (Intercept)  1.75331    0.06666  26.302  < 2e-16 ***
> x1          -0.48660    0.10665  -4.563 5.05e-06 ***
> 
> 
> Thus, y is significantly higher for x = 0 than for x = 1. However, it
> has been suggested that the estimate of x may be biased (for biological
> reasons) and actually be less negative than what is found above.
> Specifically, even in absence of an effect of x, the bias could cause y
> for x = 1 to be 20% lower than y for x = 0.
> (y for x=0 - y for x=1)/ y for x=0 = 20%; y for x=1 could be 0.8*y for
> x=0 due to bias.
> 
> Thus, the estimate of x would be (1.75331 - 0.2 * 1.75331) - 1.75331 =
> -1.75331 * 0.2 = -0.350662 just due to the bias.
> 
> I wish to test if there is an effect of x on y over and above the
> potential 20% bias.
> 
> My naive starting point: Instead of testing if the estimate of x
> (-0.48660) differs from zero, I would need to test if -0.48660 -
> (-0.350662) = -0.135938 differs fro zero.
> 
> Or could I somehow make the adjustment already in the data set, e.g.
> adjusting the y's for x = 1? But I assume that I cannot 'just add ?? %
> to y in group x', because the response has to be integers?
> 
> Does anyone have a suggestion of a convenient way of performe test for
> significance of x on y while taking the bias into account?
> 
> 
> Thanks a lot in advance!
> 
> 


-- 
Ben Bolker
Associate professor, Biology Dep't, Univ. of Florida
bolker at ufl.edu / www.zoology.ufl.edu/bolker
GPG key: www.zoology.ufl.edu/bolker/benbolker-publickey.asc




More information about the R-sig-mixed-models mailing list