Statalist


[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

st: predictnl - calculate mfx and s.e. - oprobit with interaction


From   Zohal Hessami <Zohal.Hessami@uni-konstanz.de>
To   statalist@hsphsun2.harvard.edu
Subject   st: predictnl - calculate mfx and s.e. - oprobit with interaction
Date   Tue, 24 Feb 2009 00:09:01 +0100

Hello guys,

I am currently estimating an ordered probit model, where I have included an interaction term. The regression equation looks as follows:
oprobit lifesat male age age_sq income married divorced separated  
widowed ageeduc_1619 ageeduc_lt19 unempl school retired home self_empl  
govtexp expdecentral expdecexp, r
I have included the interaction term (expdecexp =  
expdecentral*govtexp) because I want to test whether the impact of  
government size on people's life satisfaction is more likely to be  
positive if there is a large extent of expenditure decentralization in  
this specific country. As you can see my dataset is generally a  
mixture of micro- and macro-level variables.
I am now trying to estimate the marginal effects for govtexp,  
expdecentral and the interaction term expdecexp. For this purpose I  
found the link  
http://www.stata.com/support/faqs/stat/mfx_interact.html very useful.  
In the middle section of this website, it is explained how this  
calculation is carried out in a binary probit setting with an  
interaction term. Accordingly, I have asked STATA to do the following:
local xb _b[male]*`meanmale' + _b[age]*`meanage' +  
_b[age_sq]*`meanagesq'  + _b[income]*`meanincome' +  
_b[married]*`meanmarried' + _b[divorced]*`meandivorced' +  
_b[separated]*`meanseparated' + _b[widowed]*`meanwidowed' +  
_b[ageeduc_1619]*`meanageeduc_1619' +  
_b[ageeduc_lt19]*`meanageeduc_lt19' + _b[unempl]*`meanunempl' +  
_b[school]*`meanschool' + _b[retired]*`meanretired' +  
_b[home]*`meanhome' + _b[self_empl]*`meanself_empl'  +  
_b[govtexp]*`meangovtexp' + _b[expdecentral]*`meanexpdecentral' +  
_b[expdecexp]*`meangovtexp'*`meanexpdecentral'
predictnl dydg = normalden(_b[/cut3] - `xb')*(_b[govtexp] +  
_b[expdecexp]*`meanexpdecentral') in 1, se(seg)
predictnl dyde = normalden(_b[/cut3] - `xb')*(_b[expdecentral] +  
_b[expdecexp]*`meangovtexp') in 1, se(see)
predictnl dydeg = normalden(_b[/cut3] - `xb')*(-(_b[/cut3] -  
`xb'))*(_b[govtexp] +  
_b[expdecexp]*`meanexpdecentral')*(_b[expdecentral] +  
_b[expdecexp]*`meangovtexp') + normalden(_b[/cut3] -  
`xb')*(_b[expdecexp]) in 1, se(seeg)
I know for sure that my derivations for the equations that I have used  
for the marginal effects are correct. Nevertheless, the value for the  
marginal effects is reported as ".", while the standard errors that I  
get are "0". Furthermore, I get the error messages >>> Warning:  
prediction doesn't vary with respect to e(b) <<<  and >>> Warning:  
prediction constant over observations; perhaps you meant to run  
nlcom.<<<<
I also programmed the whole thing with nlcom as described on this  
website that I have mentioned above, but I still didn't get any  
results. When I did the same calculations when interacting govtexp and  
people's income the whole procedure worked perfectly and I got very  
convincing results. Apparently, the fact that I am interacting two  
macro-level variables is causing trouble. Can anyone help me solve  
this problem or tell me how to get the marginal effects that I need???
Thx in advance,
Zohal Hessami
University of Konstanz
Department of Economics


*
*   For searches and help try:
*   http://www.stata.com/help.cgi?search
*   http://www.stata.com/support/statalist/faq
*   http://www.ats.ucla.edu/stat/stata/



© Copyright 1996–2025 StataCorp LLC   |   Terms of use   |   Privacy   |   Contact us   |   What's new   |   Site index