Estimates the penalty coefficient from the cross-validation criterion

Share:

Description

Estimates the penalty coefficient from the cross-validation criterion.

Usage

1
cv(y, x, knots, degree, plot = TRUE, n.points = 150, ...)

Arguments

y

The response vector.

x

A vector/matrix giving the values of the predictor variable(s). If x is a matrix, each row corresponds to one observation.

knots

A vector givint the coordinates of the knots.

degree

The degree of the penalized smoothing spline.

plot

Logical. If TRUE (default), the evolution of the CV score as the penalty increases is plotted.

n.points

A numeric giving the number of CV computations needed to produce the plot.

...

Options to be passed to the nlm function.

Details

For every linear smoother e.g. y.hat = S_λ y, the cross-validation criterion consists in minimizing the following quantity:

CV(λ) = ∑_{i=1}^n [(y_i - y.hat_i) / (1 - S_{λ,ii}) ]^2

where λ is the penalty coefficient, n the number of observations and S_{λ,ii} the i-th diagonal element of the matrix S_λ.

Value

A list with components 'penalty', 'cv' and 'nlm.code' which give the location of the minimum, the value of the cross-validation criterion at that point and the code returned by the nlm function - useful to assess for convergence issues.

Author(s)

Mathieu Ribatet

References

Ruppert, D. Wand, M.P. and Carrol, R.J. (2003) Semiparametric Regression Cambridge Series in Statistical and Probabilistic Mathematics.

See Also

cv

Examples

1
2
3
4
5
6
n <- 200
x <- runif(n)
fun <- function(x) sin(3 * pi * x)
y <- fun(x) + rnorm(n, 0, sqrt(0.4))
knots <- quantile(x, prob = 1:(n/4) / (n/4 + 1))
cv(y, x, knots = knots, degree = 3)

Want to suggest features or report bugs for rdrr.io? Use the GitHub issue tracker.