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
 A: 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.
