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.


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.