# rbpspline: Fits a penalized spline with radial basis functions to data In SpatialExtremes: Modelling Spatial Extremes

## Description

Fits a penalized spline with radial basis functions to data.

## Usage

 `1` ```rbpspline(y, x, knots, degree, penalty = "gcv", ...) ```

## 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. `penalty` A numeric giving the penalty coefficient for the penalization term. Alternatively, it could be either 'cv' or 'gcv' to choose the `penalty` using the (generalized) cross-validation criterion. `...` Additional options to be passed to the `cv` or `gcv` function.

## Details

The penalized spline with radial basis is defined by:

f(x) = β_0 + β_1 x + … + β_{m-1} x^{m-1} + ∑_{k=0}^{K-1} β_{m+k} || x - κ_k ||^{2m - 1}

where β_i are the coefficients to be estimated, κ_i are the coordinates of the i-th knot and m = (d+1)/2 where d corresponds to the `degree` of the spline.

The fitting criterion is to minimize

||y - X β||^2 + λ^{2m-1} β^T K β

where λ is the penalty coefficient and K the penalty matrix.

## Value

An object of class `pspline`.

Mathieu Ribatet

## References

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

`cv`, `gcv`
 ``` 1 2 3 4 5 6 7 8 9 10``` ```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)) fitted <- rbpspline(y, x, knots = knots, degree = 3) fitted plot(x, y) lines(fitted, col = 2) ```