Learn R Programming

scam (version 1.0)

bfgs_gcv.ubre: Multiple Smoothing Parameter Estimation by GCV/UBRE

Description

Function to efficiently estimate smoothing parameters of SCAM by GCV/UBRE score optimization. The procedure is outer to the model fitting by the Newton-Raphson method. The function uses the BFGS method where the Hessian matrix is updated iteratively at each step. Backtracking is included to satisfy the sufficient decrease condition. The function is not normally called directly, but rather service routines for scam.

Usage

bfgs_gcv.ubre(fn=gcv.ubre_grad, rho, ini.fd=TRUE, G, gamma=1, ee, eb, 
         esp, SVD=TRUE, n.pen=length(rho), typx=rep(1,n.pen), typf=1, 
        steptol= 1e-7, gradtol = 6.0554*1e-06, maxNstep = 5, 
        maxHalf = 30, check.analytical, del)

Arguments

fn
GCV/UBRE Function which returs the GCV/UBRE value and its derivative wrt log smoothing parameter.
rho
log of the initial values of the smoothing parameters.
ini.fd
If TRUE, a finite difference to the Hessian is used to find the initial inverse Hessian, otherwise the initial inverse Hessian is a diagonal matrix `100*I'.
G
A list of items needed to fit a SCAM.
gamma
An ad hoc parametrer of the GCV/UBRE score.
ee
Get the enviroment for the model coefficients.
eb
Get the enviroment for the model coefficients derivatives.
esp
Get the enviroment for the smoothing parameter.
SVD
If TRUE then svd is applied to the augmented working model matrix when fitting the SCAM, otherwise qr decomposition will be used.
n.pen
Smoothing parameter dimension.
typx
A vector whose component is a positive scalar specifying the typical magnitude of sp.
typf
A positive scalar estimating the magnitude of the gcv near the minimum.
steptol
A positive scalar giving the tolerance at which the scaled distance between two successive iterates is considered close enough to zero to terminate the algorithm.
gradtol
A scalar giving a tolerance at which the gradient is considered to be close enougth to 0 to terminate the algorithm.
maxNstep
A positive scalar which gives the maximum allowable step length.
maxHalf
A positive scalar which gives the maximum number of step halving in "backtracking".
check.analytical
If this is TRUE then finite difference derivatives of GCV/UBRE score will be calculated.
del
A positive scalar (default is 1e-4) giving an increment for finite difference approximation when check.analytical=TRUE.

Value

  • A list is returned with the following items:
  • gcv.ubreThe optimal value of GCV/UBRE.
  • rhoThe best value of the log smoothing parameter.
  • dgcv.ubreThe gradient of the GCV/UBRE.
  • iterationsThe number of iterations taken until convergence.
  • conv.bfgsConvergence information indicating why the BFGS terminated (given below).
  • termcodeAn integer code indicating why the optimization process terminated. 1: relative gradient is close to zero, current iterate probably is a solution. 2: scaled distance between last two steps less than `steptol', current iterate probably is a local minimizer, but it's possible that the algorithm is making very slow progress, or `steptol' is too large. 3: last global step failed to locate a point lower than estimate. Either estimate is an approximate local minimum of the function or steptol is too small. 4: iteration limit exceeded. 5: five consecutive steps of length maxNstep have been taken, it's possible that `maxstep' is too small.
  • objectA list of elements returned by the fitting procedure scam.fit for an optimal value of the smoothing parameter.
  • dgcv.ubre.checkIf check.analytical=TRUE this is the finite-difference approximation of the gradient calculated by gcv.ubre_grad, otherwise NULL.
  • check.gradIf check.analytical=TRUE this is the relative difference (in and finite differenced derivatives calculated by gcv.ubre_grad, otherwise NULL.

References

Pya, N. (2010) Additive models with shape constraints. PhD thesis. University of Bath. Department of Mathematical Sciences Wood, S.N. (2011) Fast stable restricted maximum likelihood and marginal likelihood estimation of semiparametric generalized linear models. Journal of the Royal Statistical Society: Series B. 73(1): 1--34

See Also

scam