Announcement

Collapse
No announcement yet.
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • poisson count vs poisson rate

    Hi there

    I'm comparing two ways of modelling the change in a count over time while taking into account population size. Example code below. The first way is to model the count with ln(population) as an offset. The second way is to model the rate itself; when I do this, the width of the confidence intervals for the effect of "time" is (unsurprisingly) dependent on the rate multiplier for count. My question is how to get the width of the CI in the second way identical (or at least nearly identical) to the first way? I have a practical reason for doing this but, more importantly, I'm also interested theoretically in how the "perfect" rate multiplier can be obtained to reflect the true width of the CI. Grateful for any thoughts!

    Thanks.

    Code:
    clear
    input float(time pop count)
     1 50 5
     2 100 15
    end
    gen logpop = ln(pop)
    gen rate100 = count/pop*100
    gen rate1000 = count/pop*1000
    glm count time, family(poisson) offset(logpop) link(log) eform nolog
    glm rate100 time, family(poisson) link(log) eform nolog
    glm rate1000 time, family(poisson) link(log) eform nolog



  • #2
    Dear tim bradshaw,

    I am not sure if I fully understand your question, but I think you can solve the problem simply by using robust standard errors, which you should use anyway (the reason you get different results the way you are doing it is that different scales imply different degrees on non-Poissonness). Notice also that using the offset or using the rate will lead to different results. Which one is preferable will depend on the distribution of the data.

    Best wishes,

    Joao

    Comment


    • #3
      Thank you for the considered reply. In my example, if I apply robust standard errors I get no uncertainty in the CIs at all: IRR 1.5, 95% CI 1.5 to 1.5

      It seems I've found the magic number (i.e. a multiplier that gives me the exact same CI as when I model the count with population as offset), and it's 62.5, but I have no idea why! Example below.

      Any advice very gratefully received.

      Code:
      clear
      input float(time pop count)
      1 50 5
      2 100 15
      end
      gen logpop = ln(pop)
      gen rate = count/pop*62.5
      glm count time, family(poisson) offset(logpop) link(log) eform nolog
      glm rate time, family(poisson) link(log) eform nolog

      Comment


      • #4
        Dear tim bradshaw,

        Your example is misleading because your model has a perfect fit; with real data the robust standard errors will not be zero. The results with rate and count should be different because you are modelling two different variables. The equal results you get with your magic number are spurious because they are based on standard errors that assume that the data follows a (conditional) Poisson distribution.

        Best wishes,

        Joao

        Comment

        Working...
        X