Announcement

Collapse
No announcement yet.
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Convergence of mixed logit models in WTP space

    Dear Statalist members,

    I am estimating a mixed logit model in WTP-space with the user-written command mixlogitwtp by Arne Risa Hole. The sign of the price variable was changed as the model assumes the coefficient to be log-normally distributed.
    With about 50,000 rows of data from a choice experiment and 15 random coefficients to estimate, the model has now been running for a good week. The number of replications was set to 500, with 45 burnt. The “difficult” option was also specified. I have already dropped the alternative-specific constant from the model because of the output “numerical derivatives are approximate. flat or discontinuous region encountered”.
    The software is now performing its 84th iteration. The log-likelihood rose from the initial value of - 19508.876 to the current one of -19367.784, with improvements in the first 5 digits not taking place since iteration #36. No “(not concave)” message was seen for the past 37 iterations.

    Given this background and my lack of previous experience in estimating models in WTP-space, I was wondering:
    1. Whether there is any hope for me to see the log-likelihood function converge with the current settings;
    2. Should this not be the case, and if you do not believe that the problem lies in the model being empirically unidentified, it would be nice if someone could indicate any possible trick to facilitate convergence. For instance, would specifying a matrix of initial WTP values obtained through estimation of the model in preference space speed up the process? And can some variables, whose coefficients in preference space were not significant, be dropped from the model in WTP space?

    Best regards,

    Veronica

  • #2
    Veronica Galassi --

    You might try estimating the model using bayesian methods and the bayesmixedlogitwtp package. While I think it will still take awhile, it might deal with flatness problems and estimation of the covariance matrix a bit better, and at least allow you to see where everything is heading after a few draws.

    Best,

    Matt Baker

    Comment


    • #3
      Dear Matt,

      Thanks for your suggestion! I already came across your command and I was actually wondering whether it would be possible to specify priors for the population parameters other than the diffuse ones. As far as I know, diffuse priors might easily lead to overfitting. Moreover, the fact that the model always converges can be harmful if indeed there are problems with the model/data.

      Best regards,

      Veronica

      Comment


      • #4
        Hi Veronica,

        I am wondering how you resolved this? I am in a similar situation. I haven't stopped the code yet, but I was thinking I might first try adjusting the tolerance, before moving on. Did you try this?

        Best,

        Jill

        Comment


        • #5
          Me too. Had the same problem. How did you resolve it?

          Comment


          • #6
            I am also getting similar problems....and decided to terminate the estimation after a whole night running with no convergence.

            mixlogitwtp choice, group(set_id) id(QuestID) price(minstall_cost) rand(asc_t asc_t_b relia2 defect1 dura2 mmaintcost0 mmaintcost2 mdura0 mmov0 mrelia0) ln(5) nrep(50)

            Iteration 0: log likelihood = -4242.6344 (not concave)
            Iteration 1: log likelihood = -4227.9403 (not concave)
            Iteration 2: log likelihood = -3913.8936 (not concave)
            Iteration 3: log likelihood = -3863.5688 (not concave)
            Iteration 4: log likelihood = -3825.402 (not concave)
            Iteration 5: log likelihood = -3824.4779 (not concave)
            Iteration 6: log likelihood = -3359.4442 (not concave)
            Iteration 7: log likelihood = -3316.0183 (not concave)
            Iteration 8: log likelihood = -3299.9982 (not concave)
            Iteration 9: log likelihood = -3217.8253 (not concave)
            Iteration 10: log likelihood = -3201.1218 (not concave)
            Iteration 11: log likelihood = -3162.7932 (not concave)
            Iteration 12: log likelihood = -3162.1035
            Iteration 13: log likelihood = -3125.1936 (not concave)
            Iteration 14: log likelihood = -3125.1305 (not concave)
            Iteration 15: log likelihood = -3122.9066 (not concave)
            Iteration 16: log likelihood = -3122.6362 (not concave)
            Iteration 17: log likelihood = -3118.8574 (not concave)
            Iteration 18: log likelihood = -3109.9053 (not concave)
            Iteration 19: log likelihood = -3101.4406 (not concave)
            Iteration 20: log likelihood = -3099.9481 (not concave)
            Iteration 21: log likelihood = -3091.573 (not concave)
            Iteration 22: log likelihood = -3087.0408
            Iteration 23: log likelihood = -3079.6609 (not concave)
            Iteration 24: log likelihood = -3075.0342 (not concave)
            Iteration 25: log likelihood = -3073.5903
            Iteration 26: log likelihood = -3057.109 (not concave)
            Iteration 27: log likelihood = -3054.3349
            Iteration 28: log likelihood = -3053.7029 (not concave)
            Iteration 29: log likelihood = -3052.9462 (not concave)
            Iteration 30: log likelihood = -3048.0233 (not concave)
            Iteration 31: log likelihood = -3046.9746 (not concave)
            Iteration 32: log likelihood = -3045.8827
            Iteration 33: log likelihood = -3041.997
            Iteration 34: log likelihood = -3033.1551 (not concave)
            Iteration 35: log likelihood = -3032.8973 (not concave)
            Iteration 36: log likelihood = -3032.7121
            Iteration 37: log likelihood = -3028.1005 (not concave)
            Iteration 38: log likelihood = -3025.7919
            Iteration 39: log likelihood = -3023.113
            Iteration 40: log likelihood = -3022.2617 (not concave)
            Iteration 41: log likelihood = -3021.8487 (not concave)
            Iteration 42: log likelihood = -3021.7995 (not concave)
            Iteration 43: log likelihood = -3021.6452 (not concave)
            Iteration 44: log likelihood = -3021.6414 (not concave)
            Iteration 45: log likelihood = -3021.6398 (not concave)
            numerical derivatives are approximate
            flat or discontinuous region encountered
            numerical derivatives are approximate
            flat or discontinuous region encountered
            numerical derivatives are approximate
            flat or discontinuous region encountered
            Iteration 46: log likelihood = -3021.6392
            Iteration 47: log likelihood = -3021.6392 (not concave)


            Iteration 109: log likelihood = -3021.3319 (not concave)
            numerical derivatives are approximate
            flat or discontinuous region encountered
            numerical derivatives are approximate
            flat or discontinuous region encountered
            numerical derivatives are approximate
            flat or discontinuous region encountered
            numerical derivatives are approximate
            flat or discontinuous region encountered
            Something I am not doing correctly?

            Comment

            Working...
            X