I have some difficulties in thoroughly interpreting all the outcomes of the Poisson Regression Model.

I have a Poisson regression model with Observed deaths as dependent variable, A categorical variable with 5 levels (ClusterAIR) and Education_level as a numerical variable. The expected deaths are used as an offset in the Poisson regression model, therefore the rate is observed/expected deaths in the model.

The dataset is divided into 5 clusters and of course I would expect that for the entire dataset (the sum of all 5 clusters) the observed/expected deaths approximate 1, as the expected deaths are calculated based on the entire dataset (corrected for age-structure), and the observed dataset contain the deaths observed in each sector of the dataset.

When running the entirely categorical poisson regression, the result is what I would expect. Intercept of 0.0756 --> exp(0,0756) = 1.08 : The rate observed/expected deaths in Cluster A (reference Cluster) is 1.08 and for the other clusters, the rate is (1.08 * multiplicative factor) sometimes above 1.00 and sometimes below 1.00. For example, Cluster C has an estimate of -0.18, which implies a multiplicative factor of 0.835 -> 1.08 * 0.835 = 0.90

However, when adding the education level as a numerical variable to the model, the rate observed/expected deaths is ABOVE 1 FOR ALL CLUSTERS (2nd image), despite for the entirety of the dataset the number of expected deaths equals the number of observed deaths. How is this possible ?: How is it possible that all parts of the dataset have a higher than expected mortality (after adding the education level as a covariate) while for the entirety of the dataset the observed deaths equal the expected deaths? How does the education level as numerical variable exactly interact with the determination of the intercept ? How can I interpret this finding?

For example, the intercept is 0.25 -> exp(0.25)=1.28, the lowest mortality is found in Cluster D with an estimate of -0.10 -> exp (-0.10)= 0.90 (multiplicative factor). The part of the dataset where the observed/expected mortality is the lowest, Cluster D, has still (1.28 *0.9) an observed/expected mortality of > 1.0 while for the entirety of the dataset this number has 1.0, and this only occurs after adding co-variates, when the categorical variable is the only variable, this phenomenom does not appear to happen, and the results are as expected (some clusters have an observed/expected mortality of > 1.0 and others of <1.0 as it is 1.0 for the entirety of the dataset).

Categorical Poisson Regression

Poisson regression with numerical and categorical variables

  • $\begingroup$ can you please edit your question to include the output as cut-and-pasted text (in a code block) rather than images? Images are hard to search and inaccessible to visually impaired people $\endgroup$
    – Ben Bolker
    Commented Dec 23, 2021 at 18:01
  • $\begingroup$ I might have addressed this already: stats.stackexchange.com/questions/11096/… Categorical variable's levels are interpreted as one unit different from the base level when the default "treatment contrasts" are in effect. $\endgroup$
    – DWin
    Commented Dec 23, 2021 at 18:23
  • $\begingroup$ I think this is actually a "where is the intercept?" problem, not a categorical-variable problem; i.e. the predictions the OP is making are implicitly evaluated at an education decile value of zero ... $\endgroup$
    – Ben Bolker
    Commented Dec 23, 2021 at 19:42
  • 1
    $\begingroup$ @BenBolker: It might have some different wrinkles than the earlier problem, especially because it has an offset specification of some sort, but a "where is the intercept" is a pretty typical question in a categorical problem in regression. I suppose it could be a "why is the Intercept moving" question. The OP seemed puzzled most by the change in estimates for the categorical term when the continuous education term was entered. The Intercept now includes a "zero" assumption" for education as well as the reference="ClustAIRA" assumption which was present in the reduced model. $\endgroup$
    – DWin
    Commented Dec 24, 2021 at 1:12

1 Answer 1


In this case education deciles term appears to be a continuous. If it has a minimum of 0 then all estimates are referenced off that 0 value. Predictions of whatever effect is under consideration would decrease for higher education deciles. Comparing those two models it looks like the ClustAIRD level "interacts" with the Education_Deciles terms the most.

R's default for unordered factor or character variables or character variables is to use "treatment contrasts", so that the first level ClustAIRA effect is incorporated into the Intercept term's estimate and all the others are relative to that estimate. (I do think that aspect is described in my earlier answer.) If the contribution of the lowest level of a particular categorical variable to the Intercept estimate is negative, then all the other levels could easily have a positive value since you would be making predictions reference to that "negative value" for the reference estimate.

You might want to build a model with no Intercept term. The R formula mechanism to do that is to include a "+0" term in the formula. That is particularly useful in situations where you have a correctly specified expected offset. (I make the point of "correctly" because you would want the expected deaths to be log-ged when being used as an offset.) In a way the offset replaces the Intercept as a reference level for predictions. You model is "telling you" that some (but not all) of the clusters other than the lowest level have higher estimate conditional on the education term. That doesn't appear to change that much with the addition of the education term.

There are other contrast specifications that are possible. I think SAS uses a sum-contrasts default. (Ill go check an edit this answer if I'm wrong.). R is able to to that as well. Look at the docs for ?contrasts. If you assign contr.sum to a particular variable you would expect some of the levels to get a negative and others to get a positive coefficient, because the reference level is the "mean effect".


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.