What interpolation method makes the fewest assumptions about the function?

2.2k Views Asked by At

If I have no information about a function except a regular timeseries of samples, what is theoretically the best interpolation method to use and why? We cannot assume the function is continuous etc. I said no other information. Which interpolation method makes the fewest assumptions about the function, and so in a probabilistic sense is most likely to yield guesses for intermediate values that are closer to the actual function (on average) than any other interpolation method result?

2

There are 2 best solutions below

0
On

A good argument could be made for rational interpolation, using rational functions.

Here is a quote from Numerical Recipes in C, 2nd edition, section 3.2, page 111.

Rational functions are sometimes superior to polynomials, roughly speaking, because of their ability to model functions with poles, that is, zeros of the denominator of equation (3.2.1). These poles might occur for real values of $x$, if the function to be interpolated itself has poles. More often, the function $f(x)$ is finite for all finite real $x$, but has an analytic continuation with poles in the complex $x$-plane. Such poles can themselves ruin a polynomial approximation, even one restricted to real values of $x$, just as they can ruin the convergence of an infinite power series in $x$. If you draw a circle in the complex plane around your $m$ tabulated points, then you should not expect polynomial interpolation to be good unless the nearest pole is rather far outside the circle. A rational function approximation, by contrast, will stay “good” as long as it has enough powers of $x$ in its denominator to account for (cancel) any nearby poles.

0
On

Not knowing what your data looks like, you might also consider looking at regression splines. A regression spline can be used to fit a curve through data without specifying the functional form of the curve in advance. It is one of several statistical smoothing techniques which can help you pick up the pattern of the signal while filtering out some of the noise. Here is one reference I found that will introduce you to the concepts: splines; there are many others. Note that R has functions that will fit the splines for you.

A rational function or even a polynomial could work as well depending on what you need, though I think you would still be faced with estimating its various coefficients. I have used the SAS procedure PROC NLIN from the SAS/STAT library to estimate the coefficients of a rational function that best fit a given set of data (the form of the rational is specified in advance).

Polynomials are not going to be terribly well behaved in the extremes of your dataset, but might be fine around the interior points of the data. These can be estimated via regression techniques.

So far I listed a few techniques that don't force the interpolation through each of the data points so they are well suited for data where there may be multiple y-values for each x-value, but will work fine for single y-values for each x.