[Limdep Nlogit List] interactions in binary logit models

A.M.Zanni at lboro.ac.uk A.M.Zanni at lboro.ac.uk
Tue Jun 29 23:18:21 EST 2010


Thank you very much Prof Greene, I'll try to use Lgp 
instead of Phi and have another look at the codes you 
posted
Best
Alberto


On Mon, 28 Jun 2010 14:43:27 -0400 (EDT)
 William Greene <wgreene at stern.nyu.edu> wrote:
> Alberto.  Yes, you can change Phi to Lgp.
> I think you will find  what you need to do this 
>calculation in
> the file that I posted. I'm afraid I cannot write a new 
>program
> for you to do those calculations now. I am on my way to 
>Australia.
> 
> Regards,
> Bill Greene
> 
> 
> ----- Original Message -----
>From: "A M Zanni" <A.M.Zanni at lboro.ac.uk>
> To: "Limdep and Nlogit Mailing List" 
><limdep at limdep.itls.usyd.edu.au>
> Sent: Monday, June 28, 2010 12:39:41 PM GMT -05:00 
>Colombia
> Subject: Re: [Limdep Nlogit List] interactions in binary 
>logit models
> 
> Dear Prof Greene,
> 
> thanks for replying to my previous query, the problem 
>was 
> indeed the one  you highlighted.
> 
> I have another question on the same subject 
>(interactions 
> in binary  logit models). I will use the code you 
>provided 
> in your Economic Letters  2010 paper for my question:
> 
> 
> 
> Sample   ; All $
> Create   ; int = female*age$
> Probit   ; lhs = doctor
>          ; Rhs = 
> female,age,int,one,educ,hhninc,hhkids,married $
> Matrix   ; bz = b(4:8) ; bzz = bz'zbar $
> Calc     ; df = b(1) ; da = b(2) ;di = b(3) $
> Create   ; ME_Malei = phi(     da*age            + bzz)
>          ; ME_FEMi  = phi(df + da*age + di * age + bzz) 
>$
> Calc     ; Ran (123479) $
> Draw     ; N=2733 $
> Plot     ; lhs = age ; rhs = ME_Malei,ME_FEMi ; fill ; 
> Grid
>          ; Title=Partial Effects for Men and Women with 
> Interaction
>          ; Vaxis=Partial Effects$
>  
> 
> I am trying to work out how to modify the code above to 
> consider a logit  rather than a probit model and I am 
> struggling a little. Would  replacing 'phi' with 'lgp' 
>be 
> enough?
> 
> Also, how would I calculate the estimated probabilities, 
> interaction  effects and standard deviation for this 
>case 
> when a dummy is interacted  with a continuous variable 
>in 
> a logit.
> 
> I tried the following
> 
> samp;all$
> --> create ; sdindex=sqr(qfr(all,varb))
>     ; tindex = all_b/sdindex $
> 
> with no success.
> 
> Thanks and best regards
> 
> Alberto 
> 
> 
> 
> On Fri, 18 Jun 2010 17:43:11 -0400 (EDT)
>  William Greene  <wgreene at stern.nyu.edu> wrote:
>> M. Zanni. It looks like the  PROBIT command has only 25 
>>variables in 
>> it, so b(3:26)  has a bad subscript.  Since BZ then does 
>>not exsit, 
>>  nothing after that will work.  
>> /B. Greene
>> 
>> 
>>  
>> ----- Original Message -----
>>From: "A M Zanni"  <A.M.Zanni at lboro.ac.uk>
>> To: "Limdep and Nlogit Mailing  List" 
>><limdep at limdep.itls.usyd.edu.au>
>> Sent:  Thursday, June 17, 2010 3:04:51 PM GMT -05:00 
>>US/Canada Eastern
>>  Subject: [Limdep Nlogit List] interactions in binary 
>>logit  models
>> Dear Prof Greene and Limdep  Users
>>    I  am  analysing a binary logit model with y=yes/no 
>> responses to a  program and a number of dependent
>> variables including price  level and respondents 
>> socio-economic  characteristics. I would  like to 
>>interact
>> the variable describing price levels  (continuous) with 
>> some of these  characteristics (generally  categorical) 
>>in
>> order to see how the response vary in  accordance with 
>> price.
>>  
>> I was about to ask how  to replicate the STATA command 
>> INTEFF (Ai and Norton, 2003) in  Limdep, but then last 
>>week 
>> came across Prof Greene's  recent paper "Testing 
>> Hypotheses about  interaction terms in  nonlinear 
>>models" 
>> 2010. Economic Letters 107,  291-296.
>>   
>>  I have been trying to use the Limdep codes provided 
>>with  
>> the paper. I came across a couple of problems
>> both in  the set-up and interpretation. Hope you may 
>>help.
>>  
>>   I started with the following - interaction between 
>> variable  price (continuous) and blwabv (dummy):
>> 
>> 
>> 
>>  
>> 
>> Sample   ; All $
>> Namelist ; z=one,male,  age1829, age3044, age4560, 
>>TOTHSLD, 
>>  CARYESN,  FLYNOFL,rent, emp,
>> educ, ret,  
>> taxpct,  totco2, lower, higher, 
>> CHGMONEY,CHGCLIMA,CHGOTHER,COSTB,TIMEB, 
>>  EASYHOME,EASYTRAN 
>> $
>> Probit   ; Lhs = reduce ; Rhs =  blwabv, price, z$
>> Calc     ; df = b(1) ; da = b(2)  $
>>  Matrix   ; bz = b(3:26) ; zbar = Mean(z) ; bzz = 
>>bz'zbar 
>>$
>>  Create   ; ME_Blw = phi(     da*price + bzz)
>>          ; ME_Abv   = phi(df + da*price + bzz) $
>> Calc     ; Ran (123479) $
>>  Draw     ; N=100 $
>> Plot     ; lhs = price ; rhs = ME_Blw,ME_Abv ;  fill ; 
>>Grid
>>          ; Title=Partial Effects for a  Model with No 
>> Interaction Term
>>          ; Yaxis=Partial  Effects$
>> 
>> 
>> 
>> 
>> 
>> And I  obtain the following:
>> 
>> 
>> 
>> 
>> 
>>  Calc     ; df = b(1) ; da =  b(2)  $
>> --> Matrix   ; bz =  b(3:26) ; zbar = Mean(z) ; bzz = 
>> bz'zbar $
>>   Error    400: MNAME(first:last  ).  Matrix size 
>>exceeded 
>> by  this  address.
>>   Error    32: Model command.  Start vals.  unreadable 
>>or 
>> wrong # given.
>>   Error   583: Model  command.  Start vals. unreadable 
>>or 
>> wrong # given.
>>  --> Create   ; ME_Blw = phi(     da*price + bzz)
>>     ;  ME_Abv  = phi(df + da*price + bzz) $
>>   Error   768: Have been  unable to break down the 
>>command 
>> segment.
>>    Error   623: Check for error in DA*PRICE+BZZ
>>   Error   623: Look  for: Unknown names, pairs of 
>> operators, e.g., */
>>    Error    61: Compilation error in CREATE. See 
>>previous 
>>  diagnostic.
>> --> Calc     ; Ran (123479) $
>> -->  Draw     ; N=50 $
>> --> Plot     ; lhs = price ; rhs =  ME_Blw,ME_Abv ; fill 
>>; 
>> Grid
>>     ; Title=Partial  Effects for a Model with No 
>> Interaction Term
>>     ;  Yaxis=Partial Effects$
>>   Error    71: Variable list contains a  name not in the 
>> expected table.
>>   Error   539: Variable  list: The unidentifiable string 
>>is 
>> ME_BLW
>>    Error    83: RHS/RH1  variable in list  not in the 
>> variable  names  table.
>> 
>> 
>> 
>>  
>> 
>> 
>>  
>>  
>> I also tried the following from the paper limdep 
>>  command 
>> file
>>  
>> 
>> 
>> 
>> 
>>  
>> 
>> 
>> ? Model with interaction  effects. Just  examine partial 
>> effect ? graphically.
>> Sample   ; All $
>>  Create   ; int = blwabv*price$
>> Probit   ; lhs = reduce
>>           ; Rhs = blwabv,price, int, one, male, age1829, 
>>  age3044,  age4560, TOTHSLD, CARYESN, FLYNOFL,rent, emp, 
>> educ,  ret, taxpct,
>> totco2, lower, higher, 
>>  CHGMONEY,CHGCLIMA,CHGOTHER,COSTB,TIMEB, 
>> EASYHOME,EASYTRAN 
>>  $
>> 
>> 
>> Matrix   ; bz = b(4:26) ; bzz = bz'zbar $
>>  Calc     ; df = b(1) ; da = b(2) ;di = b(3) $
>> Create   ;  ME_blwi = phi(    da*price + bzz)
>>          ; ME_abvi  = phi(df +  da*price + di * price + 
>> bzz) $
>> Calc     ; Ran (123479)  $
>> Draw     ; N=100 $
>> Plot     ; lhs = price ; rhs =  ME_blwi,ME_abvi ; fill ; 
>> Grid
>>          ; Title=Partial  Effects for Blw and Abv with 
>> Interaction
>>          ;  Yaxis=Partial Effects $
>> 
>> ? Plot results from both models  in the same figure
>> Plot ; lhs = price ; rhs = ME_blwi,ME_abvi ;  fill
>> ;grid
>> ;title=Fitted Probabilities for Models with  Interaction 
>> Terms
>> ;Yaxis=Fitted Probabilities (Other  Vars. At Means)$
>> 
>> 
>> 
>> And I obtained more  of less the  same (below):
>> 
>> 
>> 
>> 
>> 
>>  
>> 
>> Matrix   ; bz = b(4:26) ; bzz =  bz'zbar $
>>    Error   442: Matrix: The expression contains an 
>>unknown 
>>  name.
>>   Error   569: Error is in BZ'ZBAR
>>   Error   583:  Problem with matrix. See previous 
>> diagnostic.
>> -->  Calc     ; df = b(1) ; da = b(2) ;di = b(3) $
>> --> Create   ;  ME_blwi = phi(    da*price + bzz)
>>     ; ME_abvi  = phi(df +  da*price + di * price + bzz) 
>>$
>>   Error   768: Have been unable  to break down the 
>>command 
>> segment.
>>   Error    623: Check for error in DA*PRICE+BZZ
>>   Error   623: Look for:  Unknown names, pairs of 
>> operators, e.g., */
>>   Error     61: Compilation error in CREATE. See 
>>previous 
>> diagnostic.
>>  --> Calc     ; Ran (123479) $
>> --> Draw     ; N=150 $
>>  --> Plot     ; lhs = price ; rhs = ME_blwi,ME_abvi ; 
>>fill 
>>  ; Grid
>>     ; Title=Partial Effects for Blw and Abv with 
>>  Interaction
>>     ; Yaxis=Partial Effects $
>>   Error     71: Variable list contains a name not in the 
>> expected table.
>>    Error   539: Variable list: The unidentifiable string 
>>is 
>>  ME_BLWI
>>   Error    83: RHS/RH1  variable in list  not in the 
>>  variable names  table.
>> --> Plot ; lhs = price ; rhs =  ME_blwi,ME_abvi ; fill
>>     ;grid
>>     ;title=Fitted  Probabilities for Models with 
>> Interaction Terms
>>      ;Yaxis=Fitted Probabilities (Other Vars. At Means)$
>>   Error     71: Variable list contains a name not in the 
>> expected table.
>>    Error   539: Variable list: The unidentifiable string 
>>is 
>>  ME_BLWI
>>   Error    83: RHS/RH1  variable in list  not in the 
>>  variable names  table.
>> 
>> 
>> 
>> I am not sure  what is wrong in  the code above. Also I 
>> would like to use a  logit rather than a probit.  In 
>>what 
>> way would the code above  be different?
>> 
>> 
>> 
>> 
>> 
>>  *  
> _______________________________________________
> Limdep site list
> Limdep at limdep.itls.usyd.edu.au
> http://limdep.itls.usyd.edu.au
> _______________________________________________
> Limdep site list
> Limdep at limdep.itls.usyd.edu.au
> http://limdep.itls.usyd.edu.au



More information about the Limdep mailing list