## Natural cubic spline basis Mathematics Stack Exchange is a question and answer site for people studying math at any level and professionals in related fields. It only takes a minute to sign up. I am interested in using natural cubic splines to generate possible replacement values in the quality control of data. I would like to do this as close to real-time as I can. That is, I would like to use only one point todays value on the right of the value I wish to predict yesterdays value and more points the past on the left.

My question is: How far in the past should I go? I know that a natural cubic spline does take into account every data point that you feed it. I just wonder how sensitive it is to say, 40 points versus, maybe 15 or 20 when the point I am evaluating at is so far to the "right". If anybody has knowledge of this or could at least point me to further reading, I would appreciate it. To understand the sensitivity to far-away data points, you should look at the graphs of the cardinal basis functions for the space of natural cubic splines. See the second set of pictures in this question. As you can see, these functions decay to almost zero quite rapidly, though they are always non-zero, except at knots. So, in your kind of application, I would say that the difference between using 15 or 20 points would be negligible.

In fact, if it were me, I'd probably choose 6 to 8 points. Also, you might consider scrapping the spline idea altogether. I'd suggest just interpolating a few nearby points using a low-degree polynomial.

You can write down a closed-form formula for the interpolant, and this will make it easy to do the computations in real time.

Introduction to Splines

But also the real value of the second derivative of the function is important, i. Of course the closest you to the known data the better is extrapolation. Sign up to join this community. The best answers are voted up and rise to the top. Home Questions Tags Users Unanswered.

How sensitive is a natural cubic spline?

## ns: Generate a Basis Matrix for Natural Cubic Splines

Cross Validated is a question and answer site for people interested in statistics, machine learning, data analysis, data mining, and data visualization. It only takes a minute to sign up. This representation seems to add just two and not four constraints in both the boundary regions. There are no different definitions but unfortunately as S. Wood says: " Note that there are many alternative ways of representing such a cubic spline using basis functions: although all are equivalent, the link to the piecewise cubic characterization is not always transparent.

A spline that is linear beyond the boundary knots is called a natural spline. Returning now to nssimply put the naming of the function ns is confusing. Here, the naming is probably a bit off because someone thought that the boundary points are not really knots but just points. Therefore, it made sense for knots to be actually only the interior points. This is alluded in the documentation of ns that comments on the association of the argument df with " the number of inner knots as length knots ".

This suggests that actually knots refers to inner knots. For example, both splines::ns Finally to clarify your side-question: NCS are constraint in such way that the function is linear beyond the boundary knotsnot between a boundary point and the adjacent interior knot. In general, unless one needs to use the splines package to define particular knot locations, etc. It is well-documented and straight-forward to use.

Wasserman,All of Nonparametric StatisticsChapt. Sign up to join this community. The best answers are voted up and rise to the top. Home Questions Tags Users Unanswered.

Number of basis functions in natural cubic spline Ask Question. Asked 1 year, 8 months ago. Active 1 year, 7 months ago. Viewed 1k times.By using our site, you acknowledge that you have read and understand our Cookie PolicyPrivacy Policyand our Terms of Service. Cross Validated is a question and answer site for people interested in statistics, machine learning, data analysis, data mining, and data visualization.

It only takes a minute to sign up. I am curious as to what the answer to the below question is? They realize their model is overfitting at the ends of the distribution and wants to impose an additional constraint that the curve before the first knot and after the last knot are linear, then to calculate the DOF of the new model.

My thought process is that the answer should be 4 DOF for the new natural cubic spline model. Below is how I arrived at my answer:. Can someone shed some light as to how the answer could possibly be 6? Is my answer of 4 wrong? This represents four DoF coming from the global cubic that we start with and one DoF being added for every knot we pass.

Mathematics Stack Exchange is a question and answer site for people studying math at any level and professionals in related fields. It only takes a minute to sign up. A cubic spline is just a string of cubic pieces joined together so that usually the joins are smooth.

The argument values at which the joins occur are called "knots", and the collection of knots is called a "knot sequence" or "knot vector". Let's take the knot sequence to be fixed, for a while. Then the set of all cubic splines with these given knots forms a vector space, and it turns out that some things called b-spline basis functions form a basis for this vector space.

If you don't know anything about vector spaces, this just means that you can write any spline uniquely as a linear combination of these basis functions. When you write a spline curve as a linear combination of b-spline basis functions in this way, it's called a "b-spline".

So, b-splines are not a new type of spline, they are simply a different way of expressing any existing spline, in much the same way that "XVI" is a different way of expressing the number sixteen. And the important point is that any piecewise polynomial i.

The word "uniform" just means that the knots are equally spaced, so, usually, they are taken to be integers The nice thing about uniform knots is that all the resulting basis functions have identical shape, so any one of them can be obtained just by translating one primary one moving it to the left or right.

And, because the knot spacing is so simple, it's easy to write down explicit formulas for these uniform basis functions. This picture shows the graphs of your four functions:. As I mentioned above, you can get any other uniform basis function by shifting this one to the right or left.

If the knots are not uniform, then the basis functions are much more complex, and people don't usually write out closed-form formulas for them. Instead, they are generated recursively by the deBoor-Cox algorithmstarting with degree zero and working upwards to higher degrees.

For more info, look hereespecially at "unit 6", or hereor here. For curves with moderate curvature, the second derivative is a good proxy for the real curvature inverse of the curvature radius. But still it is a compactly supported, minimally so, spline function with nodes at the integers.

In the general spline context, they can be used to express one segment of a spline. Not every concatenation of such segments results in a spline, the continuity of first and second derivatives must be ensured. The nice property of Bezier curves is that they can be evaluated as convex combinations of convex combinations of See update below for how to interpret this further. Sign up to join this community. The best answers are voted up and rise to the top.

Home Questions Tags Users Unanswered. What is the relationship between cubic B-splines and cubic splines? Ask Question. Asked 6 years, 1 month ago. Active 5 months ago. Viewed 14k times. Active Oldest Votes. If the control points are known: i. It happens to know how can I use the basis functions? See pictures. I have to focus on the interval [2,3] because 1 and 4 are the boundaries? Look at the first graph in my answer.In the mathematical subfield of numerical analysisa B-splineor basis splineis a spline function that has minimal support with respect to a given degreesmoothnessand domain partition.

Any spline function of given degree can be expressed as a linear combination of B-splines of that degree. Cardinal B-splines have knots that are equidistant from each other.

B-splines can be used for curve-fitting and numerical differentiation of experimental data. In computer-aided design and computer graphicsspline functions are constructed as linear combinations of B-splines with a set of control points.

The term "B-spline" was coined by Isaac Jacob Schoenberg  and is short for basis spline. The places where the pieces meet are known as knots.

The key property of spline functions is that they and their derivatives may be continuous, depending on the multiplicities of the knots. Alternatively, B-splines can be defined by construction by means of the Cox—de Boor recursion formula. B-spline function is a combination of flexible bands that passes through the number of points that are called control points and creates smooth curves. These functions enable the creation and management of complex shapes and surfaces using a number of points.

The B-spline contributes only in the range between the first and last of these knots and is zero elsewhere. A B-spline is a continuous function at the knots. B-splines may share a subset of their knots, but two B-splines defined over exactly the same knots are identical. In other words, a B-spline is uniquely defined by its knots. One distinguishes internal knots and end points. The values of the endpoints do not matter, usually the first or last internal knot is just repeated.

B-splines play the role of basis functions for the spline function space, hence the name. This property follows from the fact that all pieces have the same continuity properties, within their individual range of support, at the knots. Expressions for the polynomial pieces can be derived by means of the Cox—de Boor recursion formula . The recursion equation is in two parts:. The corresponding B s are zero outside those respective ranges. However, because B-spline basis functions have local supportB-splines are typically computed by algorithms that do not need to evaluate basis functions where they are zero, such as de Boor's algorithm.

These pieces are shown in the diagram. The continuity property of a quadratic spline function and its first derivative at the internal knots are illustrated, as follows. Faster variants of the de Boor algorithm have been proposed but they suffer from comparatively lower stability.

A cardinal B-spline has a constant separation, hbetween knots. The cardinal B-splines for a given order n are just shifted copies of each other. They can be obtained from the simpler definition. A cardinal B-spline has uniform spaced knots, therefore interpolation between the knots equals convolution with a smoothing kernel. Fast b-spline interpolation on a uniform sample domain can be done by iterative mean-filtering.By using our site, you acknowledge that you have read and understand our Cookie PolicyPrivacy Policyand our Terms of Service.

Cross Validated is a question and answer site for people interested in statistics, machine learning, data analysis, data mining, and data visualization. It only takes a minute to sign up. After some thought this made intuitive sense to me. So far so good. When the formula is extended to cubic splines in formula 5. How does this form arise? We add the constraint "the function is linear beyond the boundary knots". We want to obtain the base as described in the book.

Furthermore, each element verifies the boundary conditions small exercise, by taking derivatives. Sign up to join this community. The best answers are voted up and rise to the top. Home Questions Tags Users Unanswered. Why are the basis functions for natural cubic splines expressed as they are? ESL Ask Question. Asked 4 years, 7 months ago. Active 2 years, 4 months ago. Viewed 4k times. Formula 5.

Patrick McCarthy. Active Oldest Votes. Part I: Conditions on the coefficients We add the constraint "the function is linear beyond the boundary knots".As Einstein warned. There are approaches to it, and just by going through it we can understand. So here we go! It is categorized mainly under Numerical Interpolation. One main confusion here is this:. Interpolation vs. The two keys in their differences are how they fit the data and the appropriateness of their usage.

In interpolation, you fit the data exactly while approximation, as it name suggests, just approximates. When it comes to appropriateness, interpolation is appropriate to use in smoothing out such noisy data and not appropriate when data points are subject to experimental errors or other sources of significant error. On the other hand, approximation is mainly appropriate for the design of library routines for computing special functions. The key difference between the two is also about how they fit their data.

In curve-fitting, we do not fit all our data points. In interpolation, it forces the function to contain the data points. There are 2 Two Families of Functions considered here:. But let us explain both of them to appreciate the method later. Polynomial Interpolation is the simplest and the most common type of interpolation.

There are many ways to compute or represent one polynomial but they boil down to the same mathematical function. As you notice, they are named after their basis.

Polynomial Interpolation is useful in many ways; however, one should be careful to its limitation of usage. As how different methods are born, Piece-wise Interpolation solves these complications. Piece-wise interpolation answers these by fitting a large number of data points with low-degree polynomials.

Since we only use low-degree polynomials, we eliminate excessive oscillations and non-convergence. General Concept: Given a set of data points, a different polynomial is used in each interval such that we interpolate several interpolants at successive points.

GOAL: Laying all those concepts and primary concerns, we aim to find an interpolating function that is smooth and does not change too much between node points.