pseudo.bases {gamsel} | R Documentation |
Generate pseudo-spline bases
Description
Generate an approximation to the Demmler-Reinsch orthonormal bases for
smoothing splines, using orthogonal polynomials. basis.gen
generates
a basis for a single x
, and pseudo.bases
generates a list of
bases for each column of the matrix x
.
Usage
pseudo.bases(x, degree = 8, df = 6, parallel = FALSE, ...)
Arguments
x |
A vector of values for |
degree |
The nominal number of basis elements. The basis returned has
no more than |
df |
The degrees of freedom of the smoothing spline. |
parallel |
if TRUE, parallelize |
... |
other arguments for |
Details
basis.gen
starts with a basis of orthogonal polynomials of total
degree
. These are each smoothed using a smoothing spline, which
allows for a one-step approximation to the Demmler-Reinsch basis for a
smoothing spline of rank equal to the degree. See the reference for details.
The function also approximates the appropriate diagonal penalty matrix for
this basis, so that the a approximate smoothing spline (generalized ridge
regression) has the target df.
Value
An orthonormal basis is returned (a list for pseudo.bases
).
This has an attribute parms
, which has elements
coefs
Coefficients needed to generate the orthogonal polynomials
rotate
Transformation matrix for transforming the polynomial basis
d
penalty values for the diagonal penalty df
df used
degree
number of columns
Author(s)
Alexandra Chouldechova and Trevor Hastie
Maintainer: Trevor
Hastie hastie@stanford.edu
References
T. Hastie Pseudosplines. (1996) JRSSB 58(2), 379-396.
Chouldechova, A. and Hastie, T. (2015) Generalized Additive Model
Selection
Examples
##data=gamsel:::gendata(n=500,p=12,k.lin=3,k.nonlin=3,deg=8,sigma=0.5)
data = readRDS(system.file("extdata/gamsel_example.RDS", package = "gamsel"))
attach(data)
bases=pseudo.bases(X,degree=10,df=6)
## Not run:
require(doMC)
registerDoMC(cores=4)
bases=pseudo.bases(X,degree=10,df=6,parallel=TRUE)
## End(Not run)