I have decided to use Poisson regression for my analysis of weight gain and would like to get a second opinion about whether it's appropriate.

Weight is measured at baseline and and a second value is taken a few months later, but the number of months and therefore the observation time varies greatly. So I thought it would be appropriate to use a threshold weight increase to define what counts as an event, calculate person-time for each subject and use Poisson regression to compare groups (grouping variable to be included in the model). Only one observation will be used for each subject (apart from baseline) and the outcome will be 0 or 1 depending on whether the subject exceeded the threshold weight gain.

*First of all, does Poisson regression seem appropriate in this scenario?

*Can Poisson regression handle several covariates and interactions between them?

*A small number of subjects have more several weight measurements (but most of them don't), is that a problem?


1 Answer 1


Poisson regression does not appear to be appropriate in your case.

First off, Poisson regression models counts, and your events are binary, so if at all, logistic regression would be more appropriate. (Poisson regression can be used to model rare binary events, but I would assume you have so many 1s in your data that the Poisson regression would also expect a number of 2s and a few 3s, and their absence will make for a worse model than a logistic regression.)

Also, dichotomizing data is bad practice, per many, many threads here and elsewhere. If your threshold is at a weight gain of 3 pounds, then you will treat two subjects with gains of 3 and of 20 pounds as exactly the same (both have an outcome of 1), also a subject with a gain of 2 pounds and one with a loss of 10 pounds (both are 0) - needless to say, this very much (and artificially) throws away a lot of data.

I would much rather recommend an ANOVA style analysis, which can deal with continuous outcome variables. In your case, since you are dealing with repeated measurements (you should model the fact that a subject's weight measurements are correlated), a repeated measures ANOVA (also known as a "mixed model") would be appropriate. You can even specify that two measurements taken two months apart will be more highly correlated than two measurements taken four months apart (e.g., using a corCAR error correlation in R, and in similar ways in SAS).

Repeated measures ANOVA can deal with predictors and interactions (then it's more commonly called "ANCOVA"). It can deal with different numbers of measurements on the different subjects. If you insist on dichotomizing your data, you can even run a repeated measurements logistic regression.

  • 2
    $\begingroup$ I agree with almost all of this, especially the steer away from Poisson regression in this case -- especially as, but not only because, weight gain can be negative. However, Poisson regression is not as restricted as implied. The really important part is, in generalized linear model terminology, the logarithmic link function tied to the idea that means conditional on covariates are expected to be positive. With careful attention to details Poisson regression can work fine for continuous outcomes too. More at blog.stata.com/2011/08/22/… $\endgroup$
    – Nick Cox
    May 6, 2020 at 8:48
  • $\begingroup$ I understand neither of you recommend Poisson regression. So you recommend using ANOVA/ANCOVA and if I have to dicotomize then use logistic regression. I have two explanatory variables (also binary) for which I want to estimate the effect on the outcome and if possible also see if there is an interaction, can both of those methods handle that? How do I account for the big differences in when the second measurement was taken, can I simply include it time to second measurement as a covariate (person-time in Poison regr. was the main reason settled on it)? $\endgroup$
    – Henke
    May 6, 2020 at 12:31
  • $\begingroup$ Yes, both repeated measures ANOVA and repeated measures logistic regression can handle binary (or other) regressors and their interaction. In R, take a look at lme4:glmer(). For the time differential to the second measurement, you could simply include time since the first measurement as a covariate. Possibly even spline-transform it if you suspect nonlinearities here and if you have enough data to estimate this. $\endgroup$ May 6, 2020 at 13:02

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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