# gcv: Estimates the penalty coefficient from the generalized... In SpatialExtremes: Modelling Spatial Extremes

## Description

Estimates the penalty coefficient from the generalized cross-validation criterion.

## Usage

 `1` ```gcv(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:

GCV(λ) = (n ||y - y.hat||^2) / (n - tr(S_λ))^2

where λ is the penalty coefficient, n the number of observations and tr(S_λ) is the trace of the matrix S_λ.

## Value

A list with components 'penalty', 'gcv' 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 `link{nlm}` function - useful to assess for convergence issues.

Mathieu Ribatet

## References

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

`cv`
 ```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)) gcv(y, x, knots = knots, degree = 3) ```