# st: Marginal effect of interaction var in multinomial logit model

 From Guido Heineck <[email protected]> To [email protected] Subject st: Marginal effect of interaction var in multinomial logit model Date Fri, 14 Sep 2007 16:21:10 +0200

Dear all.

I'm somewhat struggling with calculating marginal effects for interaction variables in a multinomial logit model framework.

Adapting two codes by Maarten L. Buis from prior posts that address related issues (http://www.stata.com/statalist/archive/2005-09/msg00126.html and http://www.datasets.org/statalist/archive/2006-05/msg01057.html) I get some results with the following code but I am unsure as to whether it is correctly programmed.

*-------------- begin example -----------------
#delimit ;
sysuse auto, clear;
recode rep78 2=1 3=1 4=2 5=3 ;

gen forXmpg = foreign * mpg ;

mlogit rep78 foreign mpg forXmpg ;

sum foreign if e(sample) ;
scalar mfor = r(mean) ;
sum mpg if e(sample) ;
scalar mmpg = r(mean) ;

local exp2 "exp([2]_cons + [2]foreign*scalar(mfor)
+ [2]mpg*scalar(mmpg) + [2]forXmpg*scalar(mfor)*scalar(mmpg))" ;

local exp3 "exp([3]_cons + [3]foreign*scalar(mfor)
+ [3]mpg*scalar(mmpg) + [3]forXmpg*scalar(mfor)*scalar(mmpg))" ;

local p1 "1/(1 + `exp2' + `exp3')" ;
local p2 "`exp2'/(1 + `exp2' + `exp3')" ;
local p3 "`exp3'/(1 + `exp2' + `exp3')" ;

nlcom (foreign: `p1'*(0-(`p2'*[2]foreign + `p3'*[3]foreign)))
(mpg: `p1'*(0-(`p2'*[2]mpg + `p3'*[3]mpg)))
(forXmpg: `p1'*(0-(`p2'*[2]forXmpg + `p3'*[3]forXmpg))) ;

*--------------------- end example ------------------

Any comment will be appreciated.
Guido

----------------------------------------------