Negative Predicted Probabilities in gologit2
Here is a simple example of how gologit2 can sometimes produce negative predicted probabilities.
. sysuse auto(1978 Automobile Data). gologit2 rep78 foreign length mpg, logIteration 0: log likelihood = -93.692061Iteration 1: log likelihood = -75.312137Iteration 2: log likelihood = -73.625868Iteration 3: log likelihood = -73.511329Iteration 4: log likelihood = -73.487266Iteration 5: log likelihood = -73.481532Iteration 6: log likelihood = -73.480231Iteration 7: log likelihood = -73.479948Iteration 8: log likelihood = -73.479901Iteration 9: log likelihood = -73.479895 (not concave)Generalized Ordered Logit Estimates Number of obs = 69LR chi2(12) = 40.42Prob > chi2 = 0.0001Log likelihood = -73.479895 Pseudo R2 = 0.2157------------------------------------------------------------------------------rep78 | Coef. Std. Err. z P>|z| [95% Conf. Interval]-------------+----------------------------------------------------------------1 |foreign | (dropped)length | .1070418 .154429 0.69 0.488 -.1956334 .4097171mpg | .1952588 .4860697 0.40 0.688 -.7574202 1.147938_cons | -21.49491 38.85059 -0.55 0.580 -97.64066 54.65084-------------+----------------------------------------------------------------2 |foreign | 15.29959 1044.196 0.01 0.988 -2031.287 2061.886length | -.0005172 .0410406 -0.01 0.990 -.0809554 .079921mpg | -.0250512 .1696942 -0.15 0.883 -.3576457 .3075432_cons | 1.908498 11.06988 0.17 0.863 -19.78807 23.60507-------------+----------------------------------------------------------------3 |foreign | 3.839048 1.020579 3.76 0.000 1.83875 5.839346length | .0618394 .0322828 1.92 0.055 -.0014336 .1251125mpg | .2485872 .1474317 1.69 0.092 -.0403735 .5375479_cons | -18.36718 9.021422 -2.04 0.042 -36.04884 -.6855182-------------+----------------------------------------------------------------4 |foreign | 3.029612 1.064825 2.85 0.004 .9425925 5.116631length | .0464896 .0329677 1.41 0.158 -.0181259 .1111052mpg | .2451507 .1194876 2.05 0.040 .0109592 .4793421_cons | -17.31256 8.470451 -2.04 0.041 -33.91434 -.7107851------------------------------------------------------------------------------WARNING! 25 in-sample cases have an outcome with a predicted probability that isless than 0. See the gologit2 help section on Warning Messages for more information.. predict p1 p2 p3 p4 p5(option p assumed; predicted probabilities). sum p1-p5Variable | Obs Mean Std. Dev. Min Max-------------+--------------------------------------------------------p1 | 74 .1251925 .1639 .0021189 .7717534p2 | 74 .0244799 .2264678 -.7717533 .2173719p3 | 74 .4389264 .2131038 .0052249 .7701156p4 | 74 .2623029 .1576892 .0249331 .5947708p5 | 74 .1490983 .2158554 .006046 .9513912. tab rep78Repair |Record 1978 | Freq. Percent Cum.------------+-----------------------------------1 | 2 2.90 2.902 | 8 11.59 14.493 | 30 43.48 57.974 | 18 26.09 84.065 | 11 15.94 100.00------------+-----------------------------------Total | 69 100.00As we can see from the above, several of the predicted probabilities were negative. However, there are also many problems with this analysis. Only 2 cases fall into category one and only 8 cases fall into category 2. The variable foreign was actually dropped from the first equation and has a huge coefficient and even bigger standard error in the second. We are spreading the data way too thin here. Combining categories may help.
. recode rep78 (1/3=3), gen(rep78b)(10 differences between rep78 and rep78b). gologit2 rep78b foreign length mpg, logIteration 0: log likelihood = -66.194631Iteration 1: log likelihood = -48.776863Iteration 2: log likelihood = -47.631556Iteration 3: log likelihood = -47.599469Iteration 4: log likelihood = -47.599382Iteration 5: log likelihood = -47.599382Generalized Ordered Logit Estimates Number of obs = 69LR chi2(6) = 37.19Prob > chi2 = 0.0000Log likelihood = -47.599382 Pseudo R2 = 0.2809------------------------------------------------------------------------------rep78b | Coef. Std. Err. z P>|z| [95% Conf. Interval]-------------+----------------------------------------------------------------3 |foreign | 3.844035 1.027301 3.74 0.000 1.830561 5.857509length | .0617889 .032248 1.92 0.055 -.001416 .1249937mpg | .2468554 .1485422 1.66 0.097 -.044282 .5379928_cons | -18.32185 9.008774 -2.03 0.042 -35.97872 -.6649788-------------+----------------------------------------------------------------4 |foreign | 3.032383 1.067163 2.84 0.004 .9407823 5.123985length | .0466275 .0330607 1.41 0.158 -.0181702 .1114252mpg | .2451139 .1194367 2.05 0.040 .0110223 .4792054_cons | -17.33818 8.484411 -2.04 0.041 -33.96732 -.7090361------------------------------------------------------------------------------As you can, combining categories solved the problem.
In other examples I have seen, there are more cases, but there are often a huge number of variables, some of which are themselves problematic (e.g. a 0-1 dichotomy with 985 0's and 15 1's.) It may just be that gologit models aren't appropriate for your data, but following the rest of the advice in the trouble-shooting FAQ may help you to come up with a workable model. (Indeed, your model may be problematic with any method, but negative predicted probabilities in gologit2 may just make the problems more obvious.)