UCLA Academic Technology Services HomeServicesClassesContactJobs

SAS Code Fragment
Estimation options in nlmixed

The default integration method for proc nlmixed is adaptive Gauss-Hermite quadrature (Pinheiro and Bates 1995), other integration methods can be requested using the method option. Users can select from three additional methods, the first-order method (Beal and Sheiner 1982), Hardy quadrature, or adaptive importance sampling (Pinheiro and Bates 1995). Not all methods are available for all models. The first order method is available only when the outcome is specified as normal and the random option is used. Hardy quadrature allows only one random effect. For the Gauss-Hermite and importance sampling methods, the use of  adaptive quadrature and adaptive scaling can be suppressed using the noad and noadscale options respectively. For adaptive importance sampling an additional option, seed, is available to specify the value of the starting seed for the random number generator. The valid values for method as well as the associated techniques are listed in the table below.

ValueTechnique
FIROfirst order method
GAUSS Gauss-Hermite quadrature (default)
HARDY Hardy quadrature based on an adaptive trapezoidal rule
ISAMPadaptive importance sampling

Below are examples of how to specify methods and their options.

/*	Using the first order method (method=firo)       */
proc nlmixed data="d:\data\hsb" method=firo ;
pred = b0 + u + b1*female ;
model mathach ~ normal(pred,sd);
random u ~ normal(0,s2u) subject=id;
run;

/*	Using Hardy quadrature (method=hardy)       */
proc nlmixed data="d:\data\hsb" method=hardy ;
pred = b0 + u + b1*female ;
model mathach ~ normal(pred,sd);
random u ~ normal(0,s2u) subject=id;
run;

/*	non-adaptive (noad) Gauss-Hermite quadrature   */
proc nlmixed data="d:\data\hsb" noad;
pred = b0 + u + b1*female ;
model mathach ~ normal(pred,sd);
random u ~ normal(0,s2u) subject=id;
run;


/*	importance sampling (method=isamp) without adaptive scaling (noadscale)   */
proc nlmixed data="d:\data\hsb" method=isamp noscale ;
pred = b0 + u + b1*female ;
model mathach ~ normal(pred,sd);
random u ~ normal(0,s2u) subject=id;
run;


/*	non-adaptive importance sampling without adaptive scaling */
proc nlmixed data="d:\data\hsb" method=isamp noad noscale;
pred = b0 + u + b1*female ;
model mathach ~ normal(pred,sd);
random u ~ normal(0,s2u) subject=id;
run;


/*	adaptive importance sampling, setting the seed (seed=1234)      */
proc nlmixed data="d:\data\hsb" method=isamp seed=1234;
pred = b0 + u + b1*female ;
model mathach ~ normal(pred,sd);
random u ~ normal(0,s2u) subject=id;
run;

References

Pinheiro, Jose C., and Douglas M. Bates (1995) "Approximations to the Log-Likelihood Function in the Nonlinear Mixed-Effects Model," Journal of Computational and Graphical Statistics, Vol. 4, No. 1, pp. 12-35.

Beal, Stuart L. and Lewis B. Sheiner (1982), "Estimating Population Kinetics," Critical Reviews in Biomedical Engineering, Vol. 8, No. 3, pp. 195-222.


How to cite this page

Report an error on this page

UCLA Researchers are invited to our Statistical Consulting Services
We recommend others to our list of Other Resources for Statistical Computing Help
These pages are Copyrighted (c) by UCLA Academic Technology Services


The content of this web site should not be construed as an endorsement of any particular web site, book, or software product by the University of California.