I-spline basis of each column of a given matrix

Description

Create a I-spline basis for an array. \ will equally distribute the knots over the value range using quantiles.

Usage

1
isb(x, spline.knots = 0 , knots=NULL, spline.degree = 1)

Arguments

x

The predictor variable, which will be tranformed into I-spline basis.

spline.knots

Number of inner knots to use. isb will equally distribute the knots over the value range using quantiles. spline.knots will only be used if knots is not given.

knots

An array consisting all knots (boundary knots as well as the interior knots) to be used to create the spline basis.

spline.degree

The polynomial degree of the spline basis.

Value

Returns the I-spline with the used spline settings as attribute. The spline settings attribute can transform the same attribute of any other objects using the same knots.

Author(s)

Hok San Yip, Patrick J.F. Groenen, Georgi Nalbantov

References

P.J.F. Groenen, G. Nalbantov and J.C. Bioch (2008) SVM-Maj: a majorization approah to linear support vector machines with different hinge errors. J.O. Ramsay (1988) Monotone regression splines in action. Statistical Science, 3(4):425-461

See Also

svmmaj

Examples

1
2
3
4
5
6
7
## create I-spline basis for the first 50 observations
x  <- iris$Sepal.Length
B1  <- isb(x[1:50],spline.knots=4,spline.degree=3)
## extracting the spline transformation settings
spline.param <- attr(B1,'splineInterval')
## use the same settings to apply to the next 50 observations
B2 <- isb(x[-(1:50)],spline.degree=3,knots=spline.param)