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

Henrik Parn henrik.parn at bio.ntnu.no
Sat Jan 3 15:28:02 CET 2009


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!


-- 
Henrik Pärn
Centre for Conservation Biology
Department of Biology
Norwegian University of Science and Technology
NO-7491 Trondheim
Norway

Office: +47 73596285
Fax: +47 73596100
Mobile: +47 90989255

E-mail: henrik.parn at bio.ntnu.no




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