8
$\begingroup$

I only read that it is due to numerical reasons, e.g. on http://einspline.sourceforge.net/background.shtml, but I don't really get it. Can someone please explain it more simple? Is it because they are made of linear combinations? If so, why/how is this an advantage?

$\endgroup$
3
  • 3
    $\begingroup$ It might help to more narrowly define "other splines". $\endgroup$
    – Cliff AB
    Aug 18, 2019 at 21:16
  • $\begingroup$ Splines which are not B-splines? Afaik are b-splines (together with cubic splines) mostly prefered over "others". $\endgroup$
    – Ben
    Aug 18, 2019 at 23:01
  • $\begingroup$ @Ben There are linear splines and cubic splines; either can be restricted or natural and there are other types as well. $\endgroup$
    – Peter Flom
    Aug 19, 2019 at 11:40

2 Answers 2

13
$\begingroup$

Splines are a large class of methods.

The method of B-splines is a simple method for taking a single covariate and expanding it such that it spans the set of all functions that are a polynomial of degree $d$ between all the given knots and $d-1$ differentiable everywhere. They are not the only way to achieve such an expansion of a covariate, but any other expansion will span the exact same set of functions, and B-splines have some nice numerical properties, so if you want splines that fit those smoothness conditions, there's not a good reason not to use B-splines.

B-splines are particularly popular because they are very simple and can be easily plugged into any regression model without any editing of the model to create non-linear effects without any special editing of the software.

But there's plenty of other types of splines you might want to use. To name a few:

  • M-splines: splines that span strictly positive functions
  • I-splines: splines that span strictly monotonic functions
  • Natural splines: splines whose 1st derivative is constant outside of the knots
  • P-splines: splines whose derivatives are penalized to enforce smoothness (also known as smoothing splines)

Note that M+I splines are very special cases; if you want to use them, B-splines are simply not the job. Natural splines are really a subset of B-splines. P-splines have some very nice properties, but in general require special software implementations.

$\endgroup$
1
  • 5
    $\begingroup$ Just expanding a little on this excellent answer: M-splines are B-splines with only non-negative coefficients. An I-spline can be built as the integral of a M-spline. P-splines are more complex but can really alleviate the issue of choosing the right number of knots, sometimes if knots aren't spaced properly then B-splines can be ill-conditioned. P-splines usually behave better in these cases. $\endgroup$
    – user340474
    Jul 6, 2022 at 3:46
4
$\begingroup$

The question can be reframed, to avoid ambiguity, as: What's the advantage of b-splines over the conventional splines using monomial basis?

The fundamental advantage of using B-spline representation is that the equation system for the expansion coefficients is numerically more stable than using monomial basis, which results in Vandermonde systems, which can be quite ill-conditioned.

The goal of choosing different basis functions is to improve the conditioning of the resulting linear equation system and the computational effort for determining the coefficients.

$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.