Dear Statalisters,
I am currently analyzing stated choice data from an individualized choice experiment using the user-written commands "mixlogit" and "mixlogitwtp". The data looks like this:
The model in preference space runs fine and yields the following results:
Sadly, this simple WTP space model does not converge:
We tried the following things each on their own and in combinations (mostly taken from this Statalist post: https://www.statalist.org/forums/for...vergence-issue), but nothing seems to work:
Thank you!
I am currently analyzing stated choice data from an individualized choice experiment using the user-written commands "mixlogit" and "mixlogitwtp". The data looks like this:
Code:
* Example generated by -dataex-. For more info, type help dataex clear input int(id caseid) byte(Task alt) float(hochpreis_1 hochpreis_2 niedrigpreis_1 niedrigpreis_2) byte preiszonen int(kosten_angezeigt einsparung_angezeigt zusatzkosten_angezeigt) float(choice kosten_neg) 3 1 1 1 0 0 0 1 3 83 20 6 0 -83 3 1 1 2 0 1 1 0 3 76 18 6 0 -76 3 1 1 3 1 0 0 0 9 55 20 11 1 -55 3 2 2 1 0 1 0 1 9 83 14 23 0 -83 3 2 2 2 1 0 0 0 3 69 20 6 1 -69 3 2 2 3 1 0 0 1 3 55 20 17 0 -55 end
Code:
mixlogit choice kosten_angezeigt , rand(hochpreis_1 hochpreis_2 niedrigpreis_1 niedrigpreis_2 preiszonen einsparung_angezeigt zusatzkosten_angezeigt) group(caseid) id(id) nrep(1000) robust Iteration 0: Log likelihood = -6137.1659 (not concave) Iteration 1: Log likelihood = -6035.0273 Iteration 2: Log likelihood = -6015.9366 Iteration 3: Log likelihood = -6015.7484 Iteration 4: Log likelihood = -6015.7483 Mixed logit model Number of obs = 18,108 Wald chi2(8) = 247.86 Log likelihood = -6015.7483 Prob > chi2 = 0.0000 ---------------------------------------------------------------------------------------- | Robust choice | Coefficient std. err. z P>|z| [95% conf. interval] -----------------------+---------------------------------------------------------------- Mean | kosten_angezeigt | -.0576894 .0039003 -14.79 0.000 -.0653339 -.0500449 hochpreis_1 | .0441881 .0618708 0.71 0.475 -.0770764 .1654527 hochpreis_2 | .0022187 .0612087 0.04 0.971 -.1177482 .1221856 niedrigpreis_1 | -.0416261 .0484117 -0.86 0.390 -.1365112 .053259 niedrigpreis_2 | -.0079596 .051074 -0.16 0.876 -.1080628 .0921435 preiszonen | -.0388723 .008607 -4.52 0.000 -.0557417 -.022003 einsparung_angezeigt | -.013317 .0079175 -1.68 0.093 -.0288349 .002201 zusatzkosten_angezeigt | -.0473624 .0047258 -10.02 0.000 -.0566249 -.0380999 -----------------------+---------------------------------------------------------------- SD | hochpreis_1 | .8914174 .0783303 11.38 0.000 .7378929 1.044942 hochpreis_2 | .7835104 .0913115 8.58 0.000 .6045431 .9624777 niedrigpreis_1 | .3474652 .1461157 2.38 0.017 .0610837 .6338467 niedrigpreis_2 | .679681 .0840821 8.08 0.000 .5148831 .8444788 preiszonen | .1067137 .0167954 6.35 0.000 .0737953 .1396321 einsparung_angezeigt | .0703171 .0149687 4.70 0.000 .040979 .0996552 zusatzkosten_angezeigt | .063285 .0069402 9.12 0.000 .0496825 .0768875 ---------------------------------------------------------------------------------------- The sign of the estimated standard deviations is irrelevant: interpret them as being positive
Code:
mixlogitwtp choice , price(kosten_neg) rand(hochpreis_1 hochpreis_2 niedrigpreis_1 niedrigpreis_2 preiszonen einsparung_angezeigt zusatzkosten_angezeigt) group(caseid) id(id) nrep(1000) vce(robust)
- Lower/higher nrep() values
- Used the burn() option
- Tried random starting values
- Used the wtp values obtained from the preference space model as starting values
- Used all the available options for technique()
- Used the "difficult" option
- Used "xlogit" in Python and "logitr" in R, both did not converge either using various options
Thank you!
Comment