help for regoprob2

Random Effects Generalized Ordered Probit Estimation with Autofit Option

regoprob2 depvar [indepvars] [if exp] [in range] [, i(varname) quadrat(#) pl pl(varlist) npl npl(varlist) autofit autofit2(alpha) constraints(clist) level(#) maximize_options ]

regoprob2 shares all the features of the estimation commands; for help see est. regoprob2 typed without arguments redisplays previous results.

The syntax of predict following regoprob2 is

predict [type] newvarname(s) [if exp] [in range] [, statistic outcome(outcome) ]

where statistic is

p probability marginal on the individual effect (specify one new variable and outcome() option, or specify k new variables, k = # of outcomes); the default xb linear prediction xb (outcome() option required) stdp S.E. of linear prediction (outcome() option required) stddp S.E. of difference in linear predictions (outcome() option is outcome(outcome1,outcome2))

Note that you specify one new variable with xb, stdp, and stddp and specify either one or k new variables with p.

These statistics are available both in and out of sample; type "predict ... if e(sample) ..." if wanted only for the estimation sample.


regoprob2 is a user-rewritten program that estimates panel data generalized ordered probit models with random effects. The actual values taken on by the dependent variable are irrelevant except that larger values are assumed to correspond to "higher" outcomes. The generalized model relaxes the parallel regression assumption of standard ordered probit models; see help oprobit and its random effects counterpart reoprob. regoprob2 modifies Stefan Boes´ regoprob (regoprob) program and is backward compatible with it but offers one additional powerful option, namely the autofit option.

regoprob2 supports linear constraints and allows the user to partially relax the parallel regression assumption by specifying variables in npl() or pl(). The likelihood contribution for each unit is approximated using Gauss-Hermite quadrature.

regoprob2 requires installation of the regoprob, goprobit and the ghquadm commands. The autofit option greatly simplifies the process of identifying partial proportional odds models that fit the data.


i() specifies the variable corresponding to an independent unit (e.g., a subject id). i(varname) is not optional.

quadrat() specifies the number of points to use for the Gauss-Hermite quadrature. It is optional, and the default is 12. Increasing this value improves accuracy, but also increases computation time.

pl, npl, npl(), pl(), autofit and autofit2() provide alternative means for imposing or relaxing the proportional odds/ parallel lines assumption. Only one may be specified at a time.

If autofit is selected, the standard significance level is 0.05 and an iterative process is used to identify the partial proportional odds model that best fits the data.

With autofit2(alpha) one can choose another significance level than the standard one. alpha is the desired significance level for the tests; alpha must be greater than 0 and less than 1. If autofit is specified without parameters, the default alpha-value is .05. Note that, the higher alpha is, the easier it is to reject the parallel lines assumption, and the less parsimonious the model will tend to be. This option can take a little while because several models may need to be estimated. The use of autofit is highly recommended but the other options provide more control over the final model if the user wants it.

pl specified without parameters constrains all independent variables to meet the parallel regression assumption. It will produce results that are equivalent to oprobit. npl specified without parameters relaxes the parallel regression assumption for all explanatory variables. This is the default option.

pl(varlist) constrains the specified explanatory variables to meet the parallel regression assumption. All other variables do not need to meet the assumption. The variables specified must be a subset of the explanatory variables.

npl(varlist) frees the specified explanatory variables from meeting the parallel regression assumption. All other explanatory variables are constrained to meet the assumption. The variables specified must be a subset of the explanatory variables.

constraints(clist) specifies the linear constraints to be applied during estimation. The default is to perform unconstrained estimation. Constraints are defined with the constraint command. constraints(1) specifies that the model is to be constrained according to constraint 1; constraints(1-4) specifies constraints 1 through 4; constraints(1-4,8) specifies 1 through 4 and 8. Keep in mind that the pl, and npl options work by generating across-equation constraints, which may affect how any additional constraints should be specified. When using the constraint command, refer to equations by their equation #, e.g. #1, #2, etc.

level(#) specifies the confidence level in percent for the confidence intervals of the coefficients; see help level.

maximize_options control the maximization process; see help maximize. You should never have to specify them.

Options for predict

p, the default, calculates predicted probabilities marginal on the individual effect.

If you do not specify the outcome() option, you must specify k new variables. For instance, say you fitted your model by typing "regoprob2 happy income health, i(persnr)" and that happy takes on three values. Then you could type "predict p1 p2 p3, p" to obtain all three predicted probabilities.

If you also specify the outcome() option, then you specify one new variable. Say that happy took on values 1, 2, and 3. Then typing "predict p1, p outcome(1)" would produce the same p1 as above, "predict p2, p outcome(2)" the same p2 as above, etc. If happy took on values 7, 22, and 93, you would specify outcome(7), outcome(22), and outcome(93). Alternatively, you could specify the outcomes by referring to the equation number (outcome(#1), outcome(#2), and outcome(#3).

xb calculates the linear prediction. You must also specify the outcome() option.

stdp calculates the standard error of the linear prediction. You must specify option outcome().

stddp calculates the standard error of the difference in two linear predictions. You must specify option outcome(), in this case with two particular outcomes of interest inside the parentheses; for example, "predict sed, stdp outcome(1,3)".

outcome() specifies for which outcome the statistic is to be calculated. equation() is a synonym for outcome(): it does not matter which one you use. outcome() and equation() can be specified using (1) #1, #2, ..., with #1 meaning the first category of the dependent variable, #2 the second category, etc.; or (2) values of the dependent variable.

Remarks and Methods

For further details see regoprob (regoprob). regoprob2 uses, as regoprob the d1 method (analytic first derviatives) of Stata's ml commands.


. regoprob2 satisfaction age children unemployment blue_collar, i(id)

. regoprob2 satisfaction age children unemployment blue_collar, i(id) autofit

. regoprob2 satisfaction age children unemployment blue_collar, i(id) autofit2(0.1)

. predict xb1, xb outcome(#1)

Author -------------------------------------------------

Christian Pfarr University of Bayreuth christian.pfarr@uni-bayreuth.de http://www.fiwi.uni-bayreuth.de

Andreas Schmid University of Bayreuth andreas.schmid@uni-bayreuth.de


Udo Schneider University of Bayreuth udo.schneider@uni-bayreuth.de --------------------------------------------


Stefan Boes of the University of Zurich wrote regoprob and kindly gave us the permission to use parts of his code for regoprob2. See regoprob for a description of the former regoprob command.

Richard Williams of the Notre Dame Department of Sociology wrote gologit2 and kindly gave me permission to use parts of his code for programming goprobit. For a more detailed description of gologit2 and its features, see the reference below or gologit2.

reoprob2 is a user-rewritten program of regoprob and combines the features of gologit2 and regoprob, i.e., estimates panel data generalized ordered probit models with the additional option of autofitting the model.


Pfarr, C., Schmid, A. and Schneider, U. (2010). "regoprob2: An extension of estimating random effects generalized ordered probit models." Working Paper No. xx, University Bayreuth.

Boes, S. and R. Winkelmann (2006) "The Effect of Income on Positive and Negative Subjective Well-Being." unpublished manuscript.

Butler, J.S. and R. Moffitt (1982) "A computationally efficient quadrature procedure for the one-factor multinomial probit model." Econometrica 50: 761-764.

Williams, Richard (2006) "Generalized Ordered Logit/ Partial Proportional Odds Models for Ordinal Dependent Variables." The Stata Journal 6(1): 58-82. A pre-publication version is available at http://www.nd.edu/~rwilliam/gologit2/gologit2.pdf.

Also see

Manual: [U] 23 Estimation and post-estimation commands, [U] 29 Overview of Stata estimation commands

Online: help for regoprob, estcom, postest, constraint, oprobit, goprobit, ologit, gologit, gologit2, reoprob