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.
| Value | Technique |
| FIRO | first order method |
| GAUSS | Gauss-Hermite quadrature (default) |
| HARDY | Hardy quadrature based on an adaptive trapezoidal rule |
| ISAMP | adaptive importance sampling |
Below are examples of how to specify methods and their options.
/* Using the first order method (method=firo) */ proc nlmixed data="d:datahsb" 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:datahsb" 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:datahsb" 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:datahsb" 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:datahsb" 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:datahsb" 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.