0% found this document useful (0 votes)
40 views

Rmprobit

The document describes the mprobit command in Stata, which fits a multinomial probit model for a categorical dependent variable. The mprobit command allows for a dependent variable with outcomes that have no natural ordering and assumes independent, standard normal error terms. It also provides options for specifying the base outcome, using a probit variance parameterization, and applying linear constraints. Examples are given to illustrate using mprobit to model health insurance type using demographic predictors.

Uploaded by

lompo
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
40 views

Rmprobit

The document describes the mprobit command in Stata, which fits a multinomial probit model for a categorical dependent variable. The mprobit command allows for a dependent variable with outcomes that have no natural ordering and assumes independent, standard normal error terms. It also provides options for specifying the base outcome, using a probit variance parameterization, and applying linear constraints. Examples are given to illustrate using mprobit to model health insurance type using demographic predictors.

Uploaded by

lompo
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 8

Title stata.

com
mprobit — Multinomial probit regression

Description Quick start Menu Syntax


Options Remarks and examples Stored results Methods and formulas
References Also see

Description
mprobit fits a multinomial probit (MNP) model for a categorical dependent variable with outcomes
that have no natural ordering. The actual values taken by the dependent variable are irrelevant. The
error terms are assumed to be independent, standard normal, random variables. cmmprobit relaxes
the independence of irrelevant alternatives assumption by specifying correlated latent-variable errors.
cmmprobit also allows heteroskedastic latent-variable errors and alternative-specific independent
variables.

Quick start
Multinomial probit model of y on x1, x2, and categorical a
mprobit y x1 x2 i.a
Same as above, but use as the base outcome y = 3
mprobit y x1 x2 i.a, baseoutcome(3)
Probit variance parameterization of differenced latent errors
mprobit y x1 x2 i.a, probitparam
Multiple-imputation estimates with Monte Carlo errors from mi set data
mi estimate, mcerror: mprobit y x1 x2 i.a

Menu
Statistics > Categorical outcomes > Multinomial probit regression

1
2 mprobit — Multinomial probit regression

Syntax
     
mprobit depvar indepvars if in weight , options

options Description
Model
noconstant suppress constant terms
baseoutcome(# | lbl) outcome used to normalize location
probitparam use the probit variance parameterization
constraints(constraints) apply specified linear constraints
SE/Robust
vce(vcetype) vcetype may be oim, robust, cluster clustvar, opg, bootstrap,
or jackknife
Reporting
level(#) set confidence level; default is level(95)
nocnsreport do not display constraints
display options control columns and column formats, row spacing, line width,
display of omitted variables and base and empty cells, and
factor-variable labeling
Integration
intpoints(#) number of quadrature points
Maximization
maximize options control the maximization process; seldom used
collinear keep collinear variables
coeflegend display legend instead of statistics
indepvars may contain factor variables; see [U] 11.4.3 Factor variables.
bayes, bootstrap, by, collect, fp, jackknife, mi estimate, rolling, statsby, and svy are allowed; see
[U] 11.1.10 Prefix commands. For more details, see [BAYES] bayes: mprobit.
vce(bootstrap) and vce(jackknife) are not allowed with the mi estimate prefix; see [MI] mi estimate.
Weights are not allowed with the bootstrap prefix; see [R] bootstrap.
vce() and weights are not allowed with the svy prefix; see [SVY] svy.
fweights, iweights, and pweights are allowed; see [U] 11.1.6 weight.
collinear and coeflegend do not appear in the dialog box.
See [U] 20 Estimation and postestimation commands for more capabilities of estimation commands.

Options

 Model
noconstant suppresses the J − 1 constant terms.
baseoutcome(# | lbl) specifies the outcome used to normalize the location of the latent variable. The
base outcome may be specified as a number or a label. The default is to use the most frequent
outcome. The coefficients associated with the base outcome are zero.
probitparam specifies to use the probit variance parameterization by fixing the variance of the
differenced latent errors between the scale and the base alternatives to be one. The default is to
mprobit — Multinomial probit regression 3

make the variance of the base and scale latent errors one, thereby making the variance of the
difference to be two.
constraints(constraints); see [R] Estimation options.

 SE/Robust
vce(vcetype) specifies the type of standard error reported, which includes types that are derived from
asymptotic theory (oim, opg), that are robust to some kinds of misspecification (robust), that
allow for intragroup correlation (cluster clustvar), and that use bootstrap or jackknife methods
(bootstrap, jackknife); see [R] vce option.
If specifying vce(bootstrap) or vce(jackknife), you must also specify baseoutcome().

 Reporting
level(#), nocnsreport; see [R] Estimation options.
display options: noci, nopvalues, noomitted, vsquish, noemptycells, baselevels,
allbaselevels, nofvlabel, fvwrap(#), fvwrapon(style), cformat(% fmt), pformat(% fmt),
sformat(% fmt), and nolstretch; see [R] Estimation options.

 Integration
intpoints(#) specifies the number of Gaussian quadrature points to use in approximating the
likelihood. The default is intpoints(15).

 Maximization
 
maximize options: difficult, technique(algorithm spec), iterate(#), no log, trace,
gradient, showstep, hessian, showtolerance, tolerance(#), ltolerance(#),
nrtolerance(#), nonrtolerance, and from(init specs); see [R] Maximize. These options are
seldom used.
Setting the optimization type to technique(bhhh) resets the default vcetype to vce(opg).

The following options are available with mprobit but are not shown in the dialog box:
collinear, coeflegend; see [R] Estimation options.

Remarks and examples stata.com


The MNP model is used with discrete dependent variables that take on more than two outcomes
that do not have a natural ordering. The stochastic error terms for this implementation of the model
are assumed to have independent, standard normal distributions. To use mprobit, you must have one
observation for each decision maker in the sample. See [CM] cmmprobit for another implementation
of the MNP model that permits correlated and heteroskedastic errors and is suitable when you have
data for each alternative that a decision maker faced.
The MNP model is frequently motivated using a latent-variable framework. The latent variable for
the j th alternative, j = 1, . . . , J , is
ηij = zi αj + ξij
where the 1 × q row vector zi contains the observed independent variables for the ith decision maker.
Associated with zi are the J vectors of regression coefficients αj . The ξi,1 , . . . , ξi,J are distributed
independently and identically standard normal. The decision maker chooses the alternative k such
that ηik ≥ ηim for m 6= k .
4 mprobit — Multinomial probit regression

Suppose that case i chooses alternative k , and take the difference between latent variable ηik and
the J − 1 others:
vijk = ηij − ηik
= zi (αj − αk ) + ξij − ξik (1)
= zi γ j 0 + 
ij 0

where j = j if j < k and j = j−1 if j > k so that j 0 = 1, . . . , J −1. Var(ij 0 ) = Var(ξij −ξik ) = 2
0 0

and Cov(ij 0 , il0 ) = 1 for j 0 =


6 l0 . The probability that alternative k is chosen is

Pr(i chooses k) = Pr(vi1k ≤ 0, . . . , vi,J−1,k ≤ 0)


= Pr(i1 ≤ −zi γ1 , . . . , i,J−1 ≤ −zi γJ−1 )

Hence, evaluating the likelihood function involves computing probabilities from the multivariate
normal distribution. That all the covariances are equal simplifies the problem somewhat; see Methods
and formulas for details.
In (1), not all J of the αj are identifiable. To remove the indeterminacy, αl is set to the zero vector,
where l is the base outcome as specified in the baseoutcome() option. That fixes the lth latent
variable to zero so that the remaining variables measure the attractiveness of the other alternatives
relative to the base.

Example 1
As discussed in example 1 of [R] mlogit, we have data on the type of health insurance available
to 616 psychologically depressed subjects in the United States (Tarlov et al. 1989; Wells et al. 1989).
Patients may have either an indemnity (fee-for-service) plan or a prepaid plan such as an HMO, or
the patient may be uninsured. Demographic variables include age, gender, race, and site. Indemnity
insurance is the most popular alternative, so mprobit will choose it as the base outcome by default.
mprobit — Multinomial probit regression 5

. use https://www.stata-press.com/data/r18/sysdsn1
(Health insurance data)
. mprobit insure age male nonwhite i.site
Iteration 0: Log likelihood = -535.89424
Iteration 1: Log likelihood = -534.56173
Iteration 2: Log likelihood = -534.52835
Iteration 3: Log likelihood = -534.52833
Multinomial probit regression Number of obs = 615
Wald chi2(10) = 40.18
Log likelihood = -534.52833 Prob > chi2 = 0.0000

insure Coefficient Std. err. z P>|z| [95% conf. interval]

Indemnity (base outcome)

Prepaid
age -.0098536 .0052688 -1.87 0.061 -.0201802 .000473
male .4774678 .1718316 2.78 0.005 .1406841 .8142515
nonwhite .8245003 .1977582 4.17 0.000 .4369013 1.212099

site
2 .0973956 .1794546 0.54 0.587 -.2543289 .4491201
3 -.495892 .1904984 -2.60 0.009 -.869262 -.1225221

_cons .22315 .2792424 0.80 0.424 -.324155 .7704549

Uninsure
age -.0050814 .0075327 -0.67 0.500 -.0198452 .0096823
male .3332637 .2432986 1.37 0.171 -.1435929 .8101203
nonwhite .2485859 .2767734 0.90 0.369 -.29388 .7910518

site
2 -.6899485 .2804497 -2.46 0.014 -1.23962 -.1402771
3 -.1788447 .2479898 -0.72 0.471 -.6648957 .3072063

_cons -.9855917 .3891873 -2.53 0.011 -1.748385 -.2227986

The likelihood function for mprobit is derived under the assumption that all decision-making
units face the same choice set, which is the union of all outcomes observed in the dataset. If that
is not true for your model, then an alternative is to use the cmmprobit command, which does not
require this assumption. To do that, you will need to expand the dataset so that each decision maker
has ki observations, where ki is the number of alternatives in the choice set faced by decision maker
i. You will also need to create a binary variable to indicate the choice made by each decision maker.
Moreover, you will need to use the correlation(independent) and stddev(homoskedastic)
options with cmmprobit unless you have alternative-specific variables.
6 mprobit — Multinomial probit regression

Stored results
mprobit stores the following in e():
Scalars
e(N) number of observations
e(k out) number of outcomes
e(k points) number of quadrature points
e(k) number of parameters
e(k eq) number of equations in e(b)
e(k eq model) number of equations in overall model test
e(k indvars) number of independent variables
e(k dv) number of dependent variables
e(df m) model degrees of freedom
e(ll) log likelihood
e(N clust) number of clusters
e(chi2) χ2
e(p) p-value for model test
e(k eq base) equation number of the base outcome
e(baseout) the value of depvar to be treated as the base outcome
e(ibaseout) index of the base outcome
e(const) 0 if noconstant is specified, 1 otherwise
e(probitparam) 1 if probitparam is specified, 0 otherwise
e(rank) rank of e(V)
e(ic) number of iterations
e(rc) return code
e(converged) 1 if converged, 0 otherwise
Macros
e(cmd) mprobit
e(cmdline) command as typed
e(depvar) name of dependent variable
e(indvars) independent variables
e(wtype) weight type
e(wexp) weight expression
e(title) title in estimation output
e(clustvar) name of cluster variable
e(chi2type) Wald, type of model χ2 test
e(vce) vcetype specified in vce()
e(vcetype) title used to label Std. err.
e(outeqs) outcome equations
e(out#) outcome labels, # =1,...,e(k out)
e(opt) type of optimization
e(which) max or min; whether optimizer is to perform maximization or minimization
e(ml method) type of ml method
e(user) name of likelihood-evaluator program
e(technique) maximization technique
e(properties) b V
e(predict) program used to implement predict
e(marginsnotok) predictions disallowed by margins
e(marginsdefault) default predict() specification for margins
e(asbalanced) factor variables fvset as asbalanced
e(asobserved) factor variables fvset as asobserved
Matrices
e(b) coefficient vector
e(outcomes) outcome values
e(Cns) constraints matrix
e(ilog) iteration log (up to 20 iterations)
e(gradient) gradient vector
e(V) variance–covariance matrix of the estimators
e(V modelbased) model-based variance
Functions
e(sample) marks estimation sample
mprobit — Multinomial probit regression 7

In addition to the above, the following is stored in r():


Matrices
r(table) matrix containing the coefficients with their standard errors, test statistics, p-values,
and confidence intervals

Note that results stored in r() are updated when the command is replayed and will be replaced when
any r-class command is run after the estimation command.

Methods and formulas


See Cameron and Trivedi (2005, chap. 15) for a discussion of multinomial models, including
multinomial probit. Long and Freese (2014, chap. 8) discuss the multinomial logistic, multinomial
probit, and stereotype logistic regression models, with examples using Stata.
As discussed in Remarks and examples, the latent variables for a J -alternative model are ηij =
zi αj + ξij , for j = 1, . . . , J , i = 1, . . . , n, and {ξi,1 , . . . , ξi,J } ∼ i.i.d.N (0, 1). The experimenter
observes alternative k for the ith observation if ηik > ηil for l 6= k . For j 6= k , let

vij 0 = ηij − ηik


= zi (αj − αk ) + ξij − ξik
= zi γj 0 + ij 0

where j 0 = j if j < k and j 0 = j − 1 if j > k so that j 0 = 1, . . . , J − 1. i = (i1 , . . . , i,J−1 ) ∼


M V N (0, Σ), where

2 1 1 ... 1
 
1 2 1 ... 1
1 1 2 ... 1
 
Σ=
. . . .
 .. .. .. .. .. 
.
1 1 1 ... 2

Denote the deterministic part of the model as λij 0 = zi γj 0 ; the probability that subject i chooses
outcome k is

Pr(yi = k) = Pr(vi1 ≤ 0, . . . , vi,J−1 ≤ 0)


= Pr(i1 ≤ −λi1 , . . . , i,J−1 ≤ −λi,J−1 )
Z −λi1 Z −λi,J−1
1
exp − 12 z0 Σ−1 z dz

= (J−1)/2
· · ·
(2π) |Σ|1/2 −∞ −∞

Because of the exchangeable correlation structure of Σ (ρij = 1/2 for all i 6= j ), we can use
Dunnett’s (1989) result to reduce the multidimensional integral to one dimension:
 
1
Z ∞ J−1
Y  √  J−1
Y  √  2
Pr(yi = k) = √ Φ −z 2 − λij + Φ z 2 − λij e−z dz
π 0 
j=1 j=1

8 mprobit — Multinomial probit regression

Gaussian quadrature is used to approximate this integral, resulting in the K -point quadrature formula
 
K J−1
1X Y √  J−1Y √ 
Pr(yi = k) ≈ wk Φ − 2xk − λij + Φ 2xk − λij
2 
j=1 j=1

k=1

where wk and xk are the weights and roots of the Laguerre polynomial of order K . In mprobit, K
is specified by the intpoints() option.
This command supports the Huber/White/sandwich estimator of the variance and its clustered
version using vce(robust) and vce(cluster clustvar), respectively. See [P] robust, particularly
Maximum likelihood estimators and Methods and formulas.
mprobit also supports estimation with survey data. For details on VCEs with survey data, see
[SVY] Variance estimation.

References
Cameron, A. C., and P. K. Trivedi. 2005. Microeconometrics: Methods and Applications. New York: Cambridge
University Press.
Dunnett, C. W. 1989. Algorithm AS 251: Multivariate normal probability integrals with product correlation structure.
Journal of the Royal Statistical Society, Series C 38: 564–579. https://doi.org/10.2307/2347754.
Haan, P., and A. Uhlendorff. 2006. Estimation of multinomial logit models with unobserved heterogeneity using
maximum simulated likelihood. Stata Journal 6: 229–245.
Hole, A. R. 2007. Fitting mixed logit models by using maximum simulated likelihood. Stata Journal 7: 388–401.
Long, J. S., and J. Freese. 2014. Regression Models for Categorical Dependent Variables Using Stata. 3rd ed. College
Station, TX: Stata Press.
Tarlov, A. R., J. E. Ware, Jr., S. Greenfield, E. C. Nelson, E. Perrin, and M. Zubkoff. 1989. The medical outcomes
study. An application of methods for monitoring the results of medical care. Journal of the American Medical
Association 262: 925–930. https://doi.org/10.1001/jama.1989.03430070073033.
Wells, K. B., R. D. Hays, M. A. Burnam, W. H. Rogers, S. Greenfield, and J. E. Ware, Jr. 1989. Detection of
depressive disorder for patients receiving prepaid or fee-for-service care. Results from the Medical Outcomes Survey.
Journal of the American Medical Association 262: 3298–3302. https://doi.org/10.1001/jama.1989.03430230083030.

Also see
[R] mprobit postestimation — Postestimation tools for mprobit
[R] clogit — Conditional (fixed-effects) logistic regression
[R] mlogit — Multinomial (polytomous) logistic regression
[R] ologit — Ordered logistic regression
[R] oprobit — Ordered probit regression
[BAYES] bayes: mprobit — Bayesian multinomial probit regression
[CM] cmmprobit — Multinomial probit choice model
[CM] nlogit — Nested logit regression
[MI] Estimation — Estimation commands for use with mi estimate
[SVY] svy estimation — Estimation commands for survey data
[XT] xtmlogit — Fixed-effects and random-effects multinomial logit models
[U] 20 Estimation and postestimation commands

You might also like