[Limdep Nlogit List] determining elasticities for transformed variables

William Greene wgreene at stern.nyu.edu
Fri Jul 25 20:51:44 EST 2008

Brett (and all). Unfortunately, there is no way that the program can know
that a variable X that appears in the utility function is, itself, a function
of underlying variables, z1, z2, .... It is impossible to anticipate what
functions are there; it could be anything.  So, there is no immediate solution
to how to obtain an elasticity with respect to zj as opposed to X other than
doing it the hard way. (You might look at a recent Economics Letters paper by 
Norton and Ai that is gaining some currency and relates to this issue, albeit 
in simpler settings.)
  If anyone has a suggestion for some reasonable way that this might be automated
we are of course open to new ideas.
   By the way, the sign on dVi/dCi in the results below should be negative.
Bill Greene

----- Original Message -----
From: "Brett Smith" <bsmith at biz.uwa.edu.au>
To: Limdep at limdep.itls.usyd.edu.au
Sent: Friday, July 25, 2008 12:14:20 AM (GMT-0500) America/Bogota
Subject: [Limdep Nlogit List] determining elasticities for transformed variables

Dear List

One problem I and others here are facing is obtaining elasticities on
transformed variables included in multinomial discrete choice exercises.
Presently I have completed the task manually but this has been for MNL which
is not so difficult. However a colleague wishes to use a transformed
variable in a NL and this does not prove to be so easy; particularly when
the choice sets are not universal.

For example say we wanted to calculate the elasticity with respect to cost
(ci) in the following expression (where y is income)

Vi= a*Log^2(y-ci) + b*log(y-ci) 

dVi/dCi = a*2*log(y-ci)/(y-ci) + b*1/(y-ci)

dprobj/dVi depends on the model specification.

The marginal effects are dprobj/dVi * dVi/dCi

However, if we use the software to calculate marginal effects we will get
the following 

dprobj/dVi * a  + dprobj/dVi * b

and the corresponding elasticities have the same sort of differences.


I have thought of different ways by using maxit=0 and fixing parameters etc.
but nothing seems to work. So I have resorted to doing the operation
manually in the data area (the files are just too big to export to XL and it
is no easier in that software). However, when it comes to NL or more
advanced models the operation becomes quite tricky.

So before we hand over to our resident programmer (Doina) I was wondering if
any one else had a solution to this problem that may be tackled by mere
humans like me.

Kindest regards,


Limdep site list
Limdep at limdep.itls.usyd.edu.au

Professor William Greene
Department of Economics
Stern School of Business
New York University
44 West 4th St., Rm. 7-78
New York, NY   10012

More information about the Limdep mailing list