mpl.nlreg: Maximum Adjusted Profile Likelihood Estimates for a 'nlreg'...

Description Usage Arguments Details Value Side Effects Note References See Also Examples


Calculates the maximum adjusted profile likelihood estimates of the variance parameters for a nonlinear heteroscedastic model.


## S3 method for class 'nlreg'
mpl(fitted, offset = NULL, stats = c("sk", "fr"), 
    control = list(x.tol = 1e-6, rel.tol = 1e-6, step.min = 1/2048,
    maxit = 100), trace = FALSE, ... )



a nlreg object, that is, the result of a call to nlreg with non-constant variance function.


a numerical vector whose elements are named after the variance parameters appearing in the nonlinear model. These will be fixed to the values specified in offset. The name logs is used to identify the constant term \code{log(s^2)} which is included by default in the variance function (see the weights argument in nlreg). The default is NULL.


character value indicating which correction term to use. Admissible values are "sk" for Skovgaard's (1996) proposal and "fr" for Fraser, Reid and Wu's (1999) approach. The default is "sk".


a list of iteration and algorithmic constants. See the Details section below for their definition.


logical flag. If TRUE, details of the iterations are printed. Default is FALSE.


absorbs any additional argument.


The mpl.nlreg routine returns nearly unbiased estimates of the variance parameters of a nonlinear heteroscedastic regression model by maximizing the corresponding adjusted profile likelihood (Barndorff-Nielsen, 1983). More precisely, it implements two approximations derived from the theories developed respectively by Skovgaard (1996) and Fraser, Reid and Wu (1999). The core algorithm alternates minimization of minus the adjusted profile log likelihood with respect to the variance parameters, and minimization of minus the profile log likelihood with respect to the regression coefficients. The first step is omitted if the offset argument is used in which case mpl.nlreg returns the constrained maximum likelihood estimates of the regression coefficients. The quasi-Newton optimizer optim is used in both steps. Starting values are retrieved from the nlreg object passed through the fitted argument.

The algorithm iterates until convergence or until the maximum number of iterations is reached. The stopping rule considers the relative difference between successive estimates of the variance parameters and the relative increment of the adjusted profile log likelihood. These are governed by the parameters x.tol and rel.tol/step.min, respectively. If the offset argument is used, the relative difference between successive estimates of the regression coefficients and the relative increment of the profile log likelihood are considered instead. If convergence has been reached, the results are saved in an object of class mpl. The output can be examined by print and summary. Components can be extracted using coef and param.

The theory is outlined in Brazzale (2000, Sections 3.1 and 3.2.3). Details of the implementation are given in Brazzale (2000, Section 6.3.1).


an object of class mpl which inherits from nlreg. See mpl.object for details.

Side Effects

If trace = TRUE and offset = NULL, the iteration number and the corresponding adjusted profile log likelihood are printed.


The argument control which controls the convergence criteria plays an important role. Fine-tuning of this argument helps surrounding a well-known problem in nonlinear regression, that is, convergence failure in cases where the likelihood and/or the adjusted profile likelihood are very flat.


Barndorff-Nielsen, O. E. (1983) On a formula for the distribution of the maximum likelihood estimator. Biometrika, 70, 343–365.

Brazzale, A. R. (2000) Practical Small-Sample Parametric Inference. Ph.D. Thesis N. 2230, Department of Mathematics, Swiss Federal Institute of Technology Lausanne.

Fraser, D.A.S., Reid, N. and Wu, J. (1999). A simple general formula for tail probabilities for frequentist and Bayesian inference. Biometrika, 86, 249–264.

Skovgaard, I. (1996) An explicit large-deviation approximation to one-parameter tests. Bernoulli, 2, 145–165.

See Also

mpl, mpl.object, nlreg.object, optim


data(metsulfuron) <- 
    nlreg( formula = log(area) ~ log( b1+(b2-b1) / (1+(dose/b4)^b3) ), 
           weights = ~ ( 1+dose^exp(g) )^2, data = metsulfuron, hoa = TRUE, 
          start = c(b1 = 138, b2 = 2470, b3 = 2, b4 = 0.07, g = log(0.3)) )
## MMPLE of the variance parameters
metsulfuron.mpl <- mpl(, trace = TRUE )
summary( metsulfuron.mpl, corr = FALSE )
## constrained MLEs of the regression coefficients  
metsulfuron.mpl <- mpl(, offset =$varPar, 
                        trace = TRUE )
summary( metsulfuron.mpl, corr = FALSE )

nlreg documentation built on May 1, 2019, 9:21 p.m.