M-spline
In the mathematical subfield of numerical analysis, an M-spline{{cite journal | title = On Polya frequency functions. IV. The fundamental spline functions and their limits | last=Curry | first =H.B. |author2=Schoenberg, I.J. | year=1966 | volume=17 | pages=71–107 | journal=Journal d'Analyse Mathématique | doi = 10.1007/BF02788653 | doi-access=}}{{cite journal | last=Ramsay | first=J.O. | journal=Statistical Science | year = 1988 | volume=3 | issue=4 | pages=425–441 | title = Monotone Regression Splines in Action | jstor=2245395 | doi=10.1214/ss/1177012761| doi-access=free }} 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 − 2 continuous derivatives at interior knots tk+1, ..., tn−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).