# MIC.splines.basis.fast: Generating MIC Spline Bases In MICsplines: The Computing of Monotonic Spline Bases and Constrained Least-Squares Estimates

## Description

This function provides C implementation for the computing of monotonic spline bases, including M-splines, I-splines, and C-splines, denoted by MIC splines. The definitions of the spline bases are described in Meyer (2008).

## Usage

 ```1 2``` ```MIC.splines.basis.fast(x, df = NULL, knots = NULL, boundary.knots = NULL, type = "Ms", degree = 3, delta = 0.01, eq.alloc = FALSE) ```

## Arguments

 `x` A numeric vector for the data to generate spline bases for. `df` The degree of freedom, which equals to the number of interior knots plus the spline degree. `knots` A vector for the interior knots. `boundary.knots` The values for the left and right boundary points. `type` The type of splines to be computed. `"Ms"` stands for M-splines, `"Is"` stands for I-splines, `"IsN"` stands for I-splines without normalization, and `"Cs"` stands for C-splines. `degree` The degree for the M-splines. I-splines are based on the integration of the M-splines, and C-splines are based on the integration of the I-splines. `delta` A numeric value that is used to set the bin width for numerical integration. Usually it is set to a small number. `eq.alloc` A logic variable, which is true if using equal spacing for the interior knots, and is false if using equal quantiles for the interior knots.

## Value

A list with format, `list(mat, x, ...)`. Here `mat` is the matrix for the spline bases, `x` is the vector for the data, and the rest of the items are carrying the information from the arguments.

## References

Meyer, M. C. (2008). Inference using shape-restricted regression splines. The Annals of Applied Statistics 2, 1013-1033.

## Examples

 ```1 2 3 4 5 6 7 8``` ```#generate a dataset for illustration. x=seq(1,10,,100) y=x^2+rnorm(length(x)) #generate spline bases. tmp=MIC.splines.basis.fast(x=x, df = 10, knots = NULL, boundary.knots=NULL, type="Is",degree = 3,delta=0.001,eq.alloc=FALSE) #plot the spline bases. plot(tmp) ```

MICsplines documentation built on Sept. 7, 2021, 5:09 p.m.