No subject


Sat Jul 11 12:35:05 EST 2009


specification.

On working my way towards this more complicated model, I am just trying to 
get a rather simple mixed logit to estimate with user-defined simulated 
maximum likelihood, one that is easily implemented in NLOGIT. My basic 
likelihood function seems fine, as I am able to replicate exactly the canned 
"nlogit" conditional logit results via user-defined simulated maximum 
likelihood. The problem arises when I try to make *any* parameter random 
("nlogit" works fine for all specifications I have tried with random 
parameters). What happens is that the program will go through many 
iterations (usually 9-15), I'll get a message "Normal exit from iterations. 
Exit status=0" (which is usually a good sign), but then I'll get a message 
suggesting the estimating covariance matrix is singular. I have used as 
starting values either the conditional logit estimates or values that are 
real close to the actual mixed logit values.

Any advice would be most appreciated.

Cheers,
Christian
--------------------------------------
Christian A. Vossler
Assistant Professor
Department of Economics
534 Stokely Management Center
The University of Tennessee
Knoxville, TN 37996-0550

Phone: 865-974-1699
Fax: 865-974-4601
E-mail: cvossler at utk.edu
Web Page: http://econ.bus.utk.edu/Vossler/vossler.htm






For reference, here is the code:

maximize ; labels=c, bcost, br, bb
  ; start=-1.00, -4.25, 4.75, 4.17
  ; alg=bfgs
  ; sim=se
  ; sdv=1,*,1,1
  ; pts=500
  ; halton
  ; fcn =
    IndSQ = br*redval + bb*blueval |
    IndA1 = c + bcost*4   + br*redval*2 + bb*blueval*3 |
    IndA2 = c + bcost*2.5 + br*redval*2 + bb*blueval*1 |
    IndA3 = c + bcost*4   + br*redval*2 + bb*blueval*1 |
    IndA4 = c + bcost*2.5 + br*redval*1 + bb*blueval*3 |
    IndA5 = c + bcost*4   + br*redval*1 + bb*blueval*3 |
    Pnum1 = T11*exp(IndA1)+T21*exp(IndA2)+T31*exp(IndSQ) |
      Pden1 = exp(IndA1)+exp(IndA2)+exp(IndSQ) |
    Pnum2 = T12*exp(IndA3)+T22*exp(IndA4)+T32*exp(IndSQ) |
      Pden2 = exp(IndA3)+exp(IndA4)+exp(IndSQ) |
    Pnum3 = T13*exp(IndA4)+T23*exp(IndA1)+T33*exp(IndSQ) |
      Pden3 = exp(IndA4)+exp(IndA1)+exp(IndSQ) |
    Pnum4 = T14*exp(IndA2)+T24*exp(IndA5)+T34*exp(IndSQ) |
      Pden4 = exp(IndA2)+exp(IndA5)+exp(IndSQ) |
    Pnum5 = T15*exp(IndA5)+T25*exp(IndA2)+T35*exp(IndSQ) |
      Pden5 = exp(IndA5)+exp(IndA2)+exp(IndSQ) |
    Pnum6 = T16*exp(IndA2)+T26*exp(IndA1)+T36*exp(IndSQ) |
      Pden6 = exp(IndA2)+exp(IndA1)+exp(IndSQ) |
log (Pnum1/Pden1) + log(Pnum2/Pden2) + log(Pnum3/Pden3) + log(Pnum4/Pden4) + 
log(Pnum5/Pden5) + log(Pnum6/Pden6) $















More information about the Limdep mailing list