isb | R Documentation |
Create a I-spline basis for an array. isb
will equally distribute the
knots over the value range using quantiles.
isb(x, spline.knots = 0, knots = NULL, spline.degree = 1)
x |
The predictor variable, which will be transformed into I-spline basis. |
spline.knots |
Number of inner knots to use. |
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. |
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.
Hok San Yip, Patrick J.F. Groenen, Georgi Nalbantov
P.J.F. Groenen, G. Nalbantov and J.C. Bioch (2008) SVM-Maj: a majorization approach to linear support vector machines with different hinge errors.
J.O. Ramsay (1988) Monotone regression splines in action. Statistical Science, 3(4):425-461
svmmaj
## plot the spline transformation given a monotone sequence
B0 <- isb(0:100, spline.knots = 2, spline.degree = 3)
plot(NULL, xlim = c(0, 140), ylim = c(0, 1), xlab = 'x',ylab = 'I-spline')
for(i in 1:ncol(B0))
lines(B0[,i], col = i, lwd = 3)
legend('bottomright', legend = 1:ncol(B0), col = 1:ncol(B0),
lty = 1, lwd = 3, title = 'Spline Columns'
)
## 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)
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.