Computing marginal effects (logit / probit)
In LPM the coefficient is the marginal effect, but in logit and probit the raw tells you only the direction of the effect — the magnitude depends on where you are on the S-curve. To get a probability change you have to evaluate , where is the PDF of the link distribution. The standard protocol evaluates this at the sample mean (the marginal effect for the average person).
- Get the coefficient estimates from R output (
summary(glm(...))). - Calculate sample means of all explanatory variables: .
- Compute the linear prediction at the mean: .
- Evaluate the scaling factor:
- Probit: using
dnorm()in R. - Logit: =
dlogis()evaluated at .
- Probit: using
- Multiply: marginal effect of = .
Common pitfalls
- Comparing raw across LPM / logit / probit. The three are on different scales — compare marginal effects, never raw coefficients. The Logit coefficient on
schooly(0.128) being 6× the LPM coefficient (0.021) doesn't mean Logit thinks education matters more; it's the same effect on a different scale. - Evaluating at a single non-representative point. The "average" person may not exist (e.g. with binary regressors). The
marginspackage'ssummary(margins(model))computes the average marginal effect — the mean of across all observations — which is often a more honest summary. - Forgetting the marginal effect has its own standard error (you can't just use ). Use the delta method, or rely on
margins::summary().
Worked example
Topic 3 women's labour supply with probit . At the sample means the lecture reports , so ME = — the average woman's probability of being employed rises by 2.5 percentage points per extra year of schooling. The corresponding logit ME is 0.032 and the LPM coefficient is 0.021 — all three agree on direction and on order of magnitude.