R: Fits a penalized spline with radial basis functions to data

rbpspline {SpatialExtremes} | R Documentation

## Fits a penalized spline with radial basis functions to data

### Description

Fits a penalized spline with radial basis functions to data.

### Usage

    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`.

### 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`, `gcv`

### Examples

    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)

[Package SpatialExtremes version 2.0-5 Index]