How to calculate error bounds of b-spline interpolation in matlab

3 次查看(过去 30 天)
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;

采纳的回答

John D'Errico
John D'Errico 2016-7-19
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 个评论
Pingyang
Pingyang 2018-2-2
Dear John,
Do you have more information about the bottstrap to genegrate an uncertainty measure?
Best, Pingyang

请先登录,再进行评论。

更多回答(0 个)

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by