How to calculate error bounds of b-spline interpolation in matlab
3 views (last 30 days)
Show older comments
Hello,
I am having a data and am trying to interpolate using b-spline toolbox in Matlab. Apart from visually identifying the accuracy, how do i measure it using equations. The code used for interpolation is given below. Please help me on this.
/**code /
p = t; q = x(:,1); plot(p,q,'co'); hold on; s_spl = Bspline(q,3);
s_rec = s_spl(1:213); plot(1:213, s_rec,'b+');
x_fine = 1:213; s_fine_rec = s_spl(x_fine); plot(x_fine, s_fine_rec,'b+');
s_fine = q; plot(x_fine, s_fine-s_fine_rec,'r'); grid on; grid minor;
0 Comments
Accepted Answer
John D'Errico
on 19 Jul 2016
You cannot know any kind of statistical error bounds around any interpolation method. Sorry, but you cannot do so.
Interpolation takes a set of points, and produces a curve that passes exactly through those points. Interpolation involves no concept at all of error, or noise. As well, at intermediate points, interpolation produces a fixed, known prediction that is based on the scheme used to interpolate. Again, there is no measure of uncertainty.
An error due to interpolation at intermediate values comes purely from lack of fit, thus the inability of the interpolant to predict the underlying function, because the interpolant is just a tool based on a spline interpolation through a set of arbitrary points. There is no knowledge of the underlying process that produced the data. How can there be?
Perhaps at best, you might try a bootstrap/jackknife scheme to try to generate an uncertainty measure. This involves repeated leave-one-out fits to your data (or leave many out) then post-processing the results, done by you.
1 Comment
Pingyang
on 2 Feb 2018
Dear John,
Do you have more information about the bottstrap to genegrate an uncertainty measure?
Best, Pingyang
More Answers (0)
See Also
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!