# Elasticity vs marginal effects in probit models with logarithmic and dummy independent variables

I am trying to estimate a model with probit in stata of this form: p(y=1|x)=a+bi(ln(xi))+bj(xj)+e

where xj are dummy variables and ln(xi) are continuos variables in logarithms.

How do i interpret the values of mfx,eyex for the variables in logarithms and those that are dichotomic?

I know that dydx gives marginal effects that are the elasticities, i want to know what happens if i calculate the elasticities(dyex) on logarithmic independent variables. How can i interpret that? Moreover, should i use dyex or eyex to have elasticities?

Looking forward for your help Cheers

In a probit model,

$$p(y=1 \vert d,\ln x)=\Phi(\alpha + \beta \cdot \ln x + \gamma \cdot d),$$

where $\Phi()$ is the standard normal CDF. Taking the derivative gets you

$$\frac{\partial p}{\partial x}=\varphi(\alpha + \beta \cdot \ln x + \gamma \cdot d) \cdot \beta \cdot\frac{1}{x},$$

where $\varphi()$ is the standard normal pdf. This derivative can be re-arranged as $$\frac{\partial p}{\partial x} \cdot \frac{x}{100}=\varphi(\alpha + \beta \cdot \ln x + \gamma \cdot d) \cdot \frac{\beta}{100}.$$

The right hand side is a semi-elasticity: it gives you the change in the probability of success for 1% change in x. You can see that a bit more clearly if you rewrite it as:

$$\frac{\partial p}{\partial x} \cdot \frac{x}{100}=\frac{\Delta p}{100 \cdot \Delta x /x}.$$

If you want the full elasticity, you need to divide by $p$ instead (the 100 goes away since it now you have a percentage change in both in the numerator and denominator):

$$\frac{\partial p}{\partial x} \cdot \frac{x}{p}=\frac{\Delta p/p}{ \Delta x /x}=\frac{\varphi(\alpha + \beta \cdot \ln x + \gamma \cdot d) \cdot \beta}{\Phi(\alpha + \beta \cdot \ln x + \gamma \cdot d)}.$$

For binary variables, you can calculate the marginal effect as $$p(y=1 \vert d=1,\ln x)-p(y=1 \vert d=0,\ln x)=\Phi(\alpha + \beta \cdot \ln x + \gamma \cdot d)-\Phi(\alpha + \beta \cdot \ln x + \gamma \cdot 0).$$

This is arguably better since you are considering a discrete change in $d$ from 1 to 0, instead of an tiny change in $x$, so the finite difference is superior to the derivative.

In Stata, you can calculate averages of these quantities over the estimation sample like this:

sysuse auto, clear
gen lnx = ln(mpg)
xtile high_rep78 = rep78, nq(2)
probit foreign lnx weight i.high_rep78, nolog
margins, expression(normalden(xb())*_b[lnx]/100)
margins, expression(normalden(xb())*_b[lnx]/normal(xb()))
margins, dydx(high_rep78)


mfx has been superseded by margins.