Default control parameters for 'serp' fit. User-supplied control parameters could be specified in the main function.

serp.control(
             maxits = 5e01,
             eps = 1e-07,
             maxpen = 1e07,
             trace = 0L,
             maxAdjIter = 5e0,
             max.half.iter = 1e01,
             relTol = 1e-03,
             nrFold = 5e0,
             cv.seed = 1e01,
             grid.length = 5e01,
             misclass.thresh = 5e-01,
             minP = .Machine$double.eps,
             ...)

Arguments

maxits

the maximum number of Newton's iterations. Default to 100.

eps

threshold value during optimization at which the iteration routine terminates. In other words, when the reported change in the log-likelihood goes below this threshold, convergence is achieved.

maxpen

the upper end point of the interval from zero to be searched for a tuning parameter.

trace

prints the Newton's fitting process at each iteration step.If 0 (default) no information is printed, if 1, 2 or 3 different shades of information are printed.

maxAdjIter

the maximum allowable number of Newton step adjustment to forestall an early optimization failure. Defaults to 5.

max.half.iter

the maximum number of iteration step-halfings. Defaults to 10.

relTol

relative convergence tolerance, defaults to 1e-03. checks relative changes in the parameter estimates between Newton iterations.

nrFold

the number of k-fold cross validation for the CV tuning method. Default to k = 5.

cv.seed

single numeric value to change the random seed in CV tuning.

grid.length

the length of the discrete lambda grid for the penalty method.

misclass.thresh

to reset the classification threshold in errorMetrics when type is 'misclass'.

minP

A near zero minimum value the fitted probabilities are allowed to get during iteration to prevent numerical instability .

...

additional arguments.

Value

a list of control parameters.

See also

Examples

library(serp)
serp(rating ~ contact, slope = "parallel", link = "logit",
     control = list(maxits = 2e01, eps=1e-05, trace = 2),
     data = wine)
#> iter:   max|grad|    logLik
#>    1:   6.333e+00    100.12594  
#> 	delta: -2.021e+00 6.378e-02 1.600e+00 2.803e+00 -1.149e+00
#> 	step: -5.746e-01 -5.746e-01 -5.746e-01 -5.746e-01 1.149e+00
#>    2:   1.232e+00    99.95626  
#> 	delta: -2.133e+00 4.191e-02 1.711e+00 2.969e+00 -1.203e+00
#> 	step: 1.120e-01 2.188e-02 -1.102e-01 -1.663e-01 5.389e-02
#>    3:   4.850e-02    99.95591  
#> 	delta: -2.139e+00 4.258e-02 1.714e+00 2.979e+00 -1.207e+00
#> 	step: 6.676e-03 -6.785e-04 -3.863e-03 -9.377e-03 3.824e-03
#>    4:   3.209e-04    99.95591  
#> 	delta: -2.139e+00 4.257e-02 1.714e+00 2.979e+00 -1.207e+00
#> 	step: 3.566e-05 1.308e-05 2.791e-06 -2.395e-05 2.596e-05
#> 
#> Successful convergence!
#> Absolute and relative convergence criteria satisfied
#> 
#> call:
#> serp(formula = rating ~ contact, link = "logit", slope = "parallel", 
#>     data = wine, control = list(maxits = 20, eps = 1e-05, trace = 2))
#> 
#> coefficients:
#> (Intercept):1 (Intercept):2 (Intercept):3 (Intercept):4    contactyes 
#>   -2.13933037    0.04257146    1.71448721    2.97874484   -1.20695403 
#> 
#> loglik: -99.95591   aic: 209.9118