I've researched this problem a bit, but I want to make sure I'm not stepping on a landmine somewhere. I've read that one can use a Poisson regression for rate data if an offset or exposure term is included in the equation (constrained to one). To make this happen, I could:

  1. Transform crime rates into counts and make the offset term = (1/population) * 100,000 so that the coefficients describe multiplicative changes in rates per 100,00 people.

  2. Transform crime rates into counts and make the offset term = population so coefficients are multiplicative changes in crimes per capita.

  3. Leave crime rates in the original form and make the offset term = (1/population) * 100,000.

  4. Leave crime rates in the original form and make the offset term = population.

For the moment, I'm using option 1, but I'd like to cross-check because everything else I've read is a bit murky.

  • 1
    $\begingroup$ Do you have access to crime counts? The rates are calculated from numbers of accidents. It's best to work with counts if you want to apply Poisson here. $\endgroup$
    – Aksakal
    Aug 30, 2017 at 16:59
  • $\begingroup$ Offsets are additive; if you want an offset for exposure, wouldn't you need a log-link, in which case your coefficients are not multiplicative changes but logs of those. If you want to do Poisson regression you want to be working on the count scale or the dispersion will be screwed up, but you need to be clear on how offsets work. $\endgroup$
    – Glen_b
    Aug 31, 2017 at 0:20

1 Answer 1


Short answer is that making a linear change to an offset will only affect the intercept term in a regression equation. This is as true for Poisson regression as it is for linear regression. So there is no material difference in options 1 and 2.

Here is a brief example using R code

n <- 1000
x <- rnorm(n)
pop <- trunc(runif(n,1e3,1e6))
lambda <- exp(-10 + 0.5*x + log(pop) )
count <- rpois(n,lambda)

m1 <- glm(count ~ x + offset(log(pop)), family=poisson)
m2 <- glm(count ~ x + offset(log(pop/1000)), family=poisson)


You can see that the coefficient and standard error for x in both equations is the same, along with all of the other model characteristics besides the intercept.

Options 3 and 4 do not make sense for Poisson regression. Using an offset allows you interpret the original count in terms of a rate, see here for some discussion. If you modelled the rate on the left hand side and included an offset it would be logically similar to dividing by the population squared, although would not be exactly the same as you would be modelling $\log(\mathbb{E}[Y/\text{Pop}])/\text{Pop}$, whereas including $\log(\text{Pop}^2)$ as an offset you would be modelling, $\log(\mathbb{E}[Y])/\text{Pop}^2$. (Pay attention to what is within the expected term for those two equations.)

Finally, there can be some confusion between the terms offset and exposure. R only allows you to specify an offset, which should be the logarithm of the denominator you want in Poisson regression. (For reasons described in the earlier linked post.) Some software, like Stata, allows you to specify an exposure term. In Stata the exposure term should not be the logarithm of the denominator, although I can't say if this applies more generally to all software.

  • $\begingroup$ As soon as I saw "linear change" I realized how silly my question was. Thank you for your help. By the way, I like the new header on your WordPress page. $\endgroup$
    – ZAP
    Sep 1, 2017 at 15:24

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.