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

3 visualizzazioni (ultimi 30 giorni)
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;

Risposta accettata

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

Accedi per commentare.

Più risposte (0)

Community Treasure Hunt

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

Start Hunting!

Translated by