I have a dependent variable that is technically ordinal, so I ran a ordered probit model (polr). However, an ordered probit model does not produce any residuals which I needed (post). I thought maybe I can compare a couple of models (that do produce residuals) and see to what extent the estimate of my variable of interest differs (especially since I read that an ordinal probit is essentially a special case of a glm (answer by @suncoolsu)).


Crime is in this example a dummy variable (I have recoded it to a dummy)

I decided to, in addition to an ordered probit model, also run GLM from the quasipoisson family. My output (only showing the variable of interest) looks as follows:

polr_1st <- polr(polr_form_1st, Hess=TRUE, method="probit", data=full) ;summary(polr_1st)

                                    Value Std. Error   t value
Crime                          0.45799229  0.0253234  18.08573

glm_1st <- glm(glm_form_1st, family="quasipoisson", data=full); summary(glm_1st)

                                Estimate Std. Error t value             Pr(>|t|)    
(Intercept)                   -0.2140713  0.0875054  -2.446             0.014438 *  
Crime                          0.3524041  0.0221681  15.897 < 0.0000000000000002 **

So the estimates are quite a bit different, but I thought lets look at the margins (vignette).

polr_1st_margins <- summary(margins(polr_1st, variables = "Crime")) 

factor     AME     SE        z      p   lower   upper
  Crime -0.1546 0.0084 -18.3506 0.0000 -0.1712 -0.1381

summary(margins(glm_1st, variables = "Crime"))

factor    AME     SE       z      p  lower  upper
Crime 0.3302 0.0209 15.7771 0.0000 0.2892 0.3712

To my surprise, the marginal effect of the bigger (polr) coefficient is negative (see also this post).

Does this mean that these models are in the end so different that I just cannot compare them? If yes, is there any model that comes close to polr which produces residuals?


1 Answer 1


To answer my own question. It seems that the margins package, in the polr example above, only shows the Average Marginal Effect (AME) for the first category. When running the margins command in Stata, the reason for the negative AME becomes clear (interpretation is very well explained in this video).

The marginal effects should be interpreted as follows: If crime dummy variable equals one, the percentage chance that the observation is in the first category, indeed goes down by about 15%. But looking at the other categories, their cumulative chance, increases by 15%.

The chance that an observation is in the second category increases by 1.45%, the chance that an observation is in the third category increases by just under 4% and finally the chance that an observation is in the fourth category increases by just under 9.55%, which together makes 15%.

               |            Delta-method
               |   Contrast   Std. Err.     [95% Conf. Interval]
Crime@_predict |
   (1 vs 0) 1  |  -.1496894   .0083357      -.166027   -.1333517
   (1 vs 0) 2  |   .0145286   .0007616      .0130359    .0160214
   (1 vs 0) 3  |    .039654   .0021988      .0353445    .0439636
   (1 vs 0) 4  |   .0955067   .0060038      .0837395    .1072739

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.