I am using a probit model, and margins says that my marginal
effect is greater than 1. Can that be correct?
|
Title
|
|
Marginal effects of probabilities greater than 1
|
|
Authors
|
May Boggess, StataCorp
Kristin MacDonald, StataCorp
|
|
Date
|
April 2004; updated July 2009
|
The marginal effect of an independent variable is the derivative (that is,
the slope) of the prediction function, which, by default, is the probability
of success following probit. By default,
margins
evaluates this derivative for each observation and reports the average of
the marginal effects. We can specify the point at which we want the
marginal effect to be evaluated by using the at() option.
The important thing to remember is the slope of a function can be
greater than one, even if the values of the function are all between 0 and
1.
Here are some examples:
. sysuse auto, clear
(1978 Automobile Data)
. probit foreign mpg
Iteration 0: log likelihood = -45.03321
Iteration 1: log likelihood = -39.264978
Iteration 2: log likelihood = -39.258972
Iteration 3: log likelihood = -39.258972
Probit regression Number of obs = 74
LR chi2(1) = 11.55
Prob > chi2 = 0.0007
Log likelihood = -39.258972 Pseudo R2 = 0.1282
------------------------------------------------------------------------------
foreign | Coef. Std. Err. z P>|z| [95% Conf. Interval]
-------------+----------------------------------------------------------------
mpg | .0960601 .0301523 3.19 0.001 .0369627 .1551575
_cons | -2.635268 .6841462 -3.85 0.000 -3.97617 -1.294366
------------------------------------------------------------------------------
. margins, dydx(mpg) at(mpg=25)
Conditional marginal effects Number of obs = 74
Model VCE : OIM
Expression : Pr(foreign), predict()
dy/dx w.r.t. : mpg
at : mpg = 25
------------------------------------------------------------------------------
| Delta-method
| dy/dx Std. Err. z P>|z| [95% Conf. Interval]
-------------+----------------------------------------------------------------
mpg | .0372895 .0125636 2.97 0.003 .0126653 .0619137
------------------------------------------------------------------------------
. predict pmpg, p
. sort mpg
. twoway scatter pmpg mpg
The graph is not steep at mpg=25, and that shows the result we see
from margins, which is that the marginal effect is small. By comparison
. sysuse auto, clear
(1978 Automobile Data)
. probit foreign gear_ratio
Iteration 0: log likelihood = -45.03321
Iteration 1: log likelihood = -22.664339
Iteration 2: log likelihood = -21.653347
Iteration 3: log likelihood = -21.641904
Iteration 4: log likelihood = -21.641897
Iteration 5: log likelihood = -21.641897
Probit regression Number of obs = 74
LR chi2(1) = 46.78
Prob > chi2 = 0.0000
Log likelihood = -21.641897 Pseudo R2 = 0.5194
------------------------------------------------------------------------------
foreign | Coef. Std. Err. z P>|z| [95% Conf. Interval]
-------------+----------------------------------------------------------------
gear_ratio | 3.45954 .7132767 4.85 0.000 2.061543 4.857537
_cons | -11.44249 2.30258 -4.97 0.000 -15.95546 -6.929517
------------------------------------------------------------------------------
. margins, dydx(gear_ratio) at(gear_ratio=3.3)
Conditional marginal effects Number of obs = 74
Model VCE : OIM
Expression : Pr(foreign), predict()
dy/dx w.r.t. : gear_ratio
at : gear_ratio = 3.3
------------------------------------------------------------------------------
| Delta-method
| dy/dx Std. Err. z P>|z| [95% Conf. Interval]
-------------+----------------------------------------------------------------
gear_ratio | 1.37969 .2867635 4.81 0.000 .8176435 1.941736
------------------------------------------------------------------------------
Here we see the graph is quite steep at gear_ratio=3.3, so
the marginal effect is large.
Many people expect the marginal effect to be less than one because we learn
in calculus class that the derivative is the approximate change in y for a
one-unit change in x. Because y is between 0 and 1, the change in y obviously
cannot be greater than 1!
The issue comes from the word approximately. Remember the
derivative at a point is the slope of the tangent line of the curve at that
point.
Let’s draw the tangent line, at the point gear_ratio=3.3, on
the graph produced by our last example.
Now we see that the change in the y value on the line, between
gear_ratio=3 and gear_ratio=4, is greater than 1 (because at
gear_ratio=4, the line has y value greater than 1).
The approximation of a curve by a tangent line is good close to the point
where the tangent is drawn, but if the slope of the curve is changing
quickly, this approximation is not very good further away from the point.
|