Stata The Stata listserver
[Date Prev][Date Next][Thread Prev][Thread Next][Date index][Thread index]

st: Re: Random Effects Probit

From   "James Hardin" <>
To   <>
Subject   st: Re: Random Effects Probit
Date   Tue, 17 Sep 2002 10:33:40 -0500

** My apologies if this comes through twice. **

Several people have written about the random effects probit estimator
in Stata.  There are several issues here.  

(*) Limdep uses BHHH in fitting this model (and uses it in many 
    of the models it fits; check the documentation).  That
    is why the standard errors do not match between the
    packages.  Stata uses the usual or observed Hessian
    (inverse matrix of second derivatives).

(*) Stata fits a constant only random effects probit estimator 
    at the first stage.  It keeps this log-likelihood for a
    future test of the fully specified model.

(*) When Stata starts to fit the full model, it takes the 
    values for a regular probit model and then calculates
    the log-likelihood of the random effects probit model
    using those coefficients with rho=0.0, 0.1, 0.2, ...  It
    continues to fit these models until the log-likelihood
    fails to improve.  It then starts the optimization using
    the (regular) probit estimates along with the "best"
    value of rho it found in this simpleminded search.

    So , several have asked why Stata doesn't use the
    regular probit answers as the starting value.  The
    answer is that Stata does use those values, but
    immediately tries to find a better starting value for
    rho before starting the optimization process.  I believe
    that all of the random-effects models in Stata that use
    Gauss-Hermite quadrature take this same sequence of

    It is easy to verify these starting values by specifying
    the -trace- option on the command (and running the
    regular probit command separately honoring any sample
    selection that occurs in the xtprobit command).

(*) Typically, Stata has no problems fitting this model except 
    when rho is very small (it could have problems when rho
    is close to one, but this is not very common).  When rho
    is very small, the parameterization of the correlation
    using the arctan wants to march off to negative
    infinity.  The calculation of the second derivatives
    becomes numerically difficult and results with missing
    standard errors are not uncommon.

(*) Users can specify their own starting values, but must 
    remember to specify a value for the correlation
    parameter in the arctangent metric.

(*) As has been shown in a very nice article in The Stata Journal, 
    the model may be fit much more efficiently (and
    numerically stable) using adaptive quadrature.  So, use
    the -gllamm- command instead.

(*) Whether one would want to use BHHH calculated standard errors
    or use this for the optimization step-size calculations
    is open for debate.  Personally, I want the standard
    errors that Stata reports.  The xtprobit command is
    mostly internal calculations.  It was written at a time
    that internal commands used a different (but very
    similar) collection of optimization routines from the
    -ml- collection.  Nowadays, I think that they may use
    the same routines.  Coding your own estimator using the
    -d2- form of the -ml- command allows you to use whatever
    method you want to form the stepsize matrix for the

(*) You can affect the answers that you get using several of the 
    options on the -xtprobit- command.  You can specify a
    less conservative tolerance for the log-likelihood.  You
    can specify a small number of maximum iterations.  You
    can specify a different number of quadrature points,
    though as mentioned earlier you are likely better off
    using a command that offers adaptive quadrature in the
    calculation.  To be clear, the quadrature is used to
    calculate the log-likelihood, the gradient, and the
    hessian matrix.  You can specify different starting
    values -- at the very least this will assist you in
    determining if values from another package result in a
    better log-likelihood than that found at the last step
    in Stata.

(*) Running -quadchk- is a must.  You should always do this
    and the manuals give this advice.  With the availability
    of gllamm, I would run that command instead specifying
    the adapt option.  At the very least I would use the
    gllamm with adapt to verify the answers in xtprobit.



James W. Hardin, Ph.D., Lecturer
Department of Statistics, Blocker 416G   979-845-3141 (phone)
Texas A&M University Mail Stop-3143      979-845-3144 (fax)
College Station, TX 77843-3143 
*   For searches and help try:

© Copyright 1996–2017 StataCorp LLC   |   Terms of use   |   Privacy   |   Contact us   |   What's new   |   Site index