M-spline

In the mathematical subfield of numerical analysis, an M-spline is a non-negative spline function.



Definition
A family of M-spline functions of order k with n free parameters is defined by a set of knots t1 ≤ t2  ≤  ... ≤ tn+k such that


 * t1 = ... = tk
 * tn+1 = ... = tn+k
 * ti < ti+k for all i

The family includes n members indexed by i = 1,...,n.

Properties
An M-spline Mi(x|k, t) has the following mathematical properties


 * Mi(x|k, t) is non-negative
 * Mi(x|k, t) is zero unless ti ≤ x < ti+k
 * Mi(x|k, t) has k &minus; 2 continuous derivatives at interior knots tk+1, ..., tn&minus;1
 * Mi(x|k, t) integrates to 1

Computation
M-splines can be efficiently and stably computed using the following recursions:

For k = 1,



M_i(x|1,t) = \frac{1}{t_{i+1}-t_i} $$

if ti ≤ x < ti+1, and Mi(x|1,t) = 0 otherwise.

For k > 1,



M_i(x|k,t) = \frac{k\left[(x-t_i)M_i(x|k-1,t) + (t_{i+k}-x)M_{i+1}(x|k-1,t)\right]}{(k-1)(t_{i+k}-t_i)}. $$

Applications
M-splines can be integrated to produce a family of monotone splines called I-splines. M-splines can also be used directly as basis splines for regression analysis involving positive response data (constraining the regression coefficients to be non-negative).