From what I was reading for several hours now about these models, requirements and normality, I understand the following, albeit there are some contradictory statements, so I am confused.

May I ask you to either confirm or correct the following statements, posisbly with some citable reference(s)?

(1) For generalized (not general) linear models,

  • normality is not required for the "input" variables (independent/predictor variables and dependent/response variable) of the model, but
  • normality is required for the residuals. This is independent from the specified distribution e.g. glm(y ~ x1 + x2 + x3, family = gaussian ...), which refers to the response variable, not the residuals.

(2) For generalized estimating equations (GEE), normality is not required,

  • neither for independent/predictor and dependent/response variable,

  • nor for residuals of the model.

(I am using R and glm() in {stats}, geeglm() in {geepack})


Normality has never been required for an input variable either in OLS, GLMs, nor GEE.

GLMs do not generally require normality of the residuals. In fact, it's the opposite: GLMs are the general framework for Poisson and logistic regression and other maximum likelihood regression procedures for non-normally distributed conditional responses. The exception is that the OLS model is the special case of a GLM. Even then OLS models do not "require" that residuals are normally distributed except when large sample theory does not apply or one wishes to construct prediction intervals for specific observations.

  • $\begingroup$ Thanks!! May I ask you to comment on the residuals? Then this is a great and helpful answer for me. $\endgroup$
    – Martin
    Mar 9 at 22:49
  • $\begingroup$ @Martin good catch. Please see the edit. GLMs don't have residuals in the sense of an OLS model i.e. they do not factor with the predictions to add up to the "total variance" of the (unconditional) response. $\endgroup$
    – AdamO
    Mar 9 at 22:53
  • $\begingroup$ Thanks! With residuals I refer to the values I get from stats::glm()$residuals and geepack::geeglm()$residuals. How else would one call them correctly? boot::glm.diag.plots() offers e.g. QQ plots to assess normality of ordered deviance residuals, implying that they should be normal? $\endgroup$
    – Martin
    Mar 9 at 23:05
  • $\begingroup$ @Martin reread my comment a bit more closely. You can always create a residual in the sense of observation minus expectation, but think about a logistic model or a poisson model... since the variance depends on the mean, of what use is such an absolute difference? You can Pearsonize the residuals in a GLM for a somewhat more nuanced diagnostic, but still the distributional requirements of a GLM to provide exact inference don't depend on the residual, but the conditional response. $\endgroup$
    – AdamO
    Mar 9 at 23:29

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.