Interpolation

﻿
Interpolation

In the mathematical subfield of numerical analysis, interpolation is a method of constructing new data points within the range of a discrete set of known data points.

In engineering and science one often has a number of data points, as obtained by sampling or experimentation, and tries to construct a function which closely fits those data points. This is called curve fitting or regression analysis. Interpolation is a specific case of curve fitting, in which the function must go exactly through the data points.

A different problem which is closely related to interpolation is the approximation of a complicated function by a simple function. Suppose we know the function but it is too complex to evaluate efficiently.Then we could pick a few known data points from the complicated function, creating a lookup table, and try to interpolate those data points to construct a simpler function. Of course, when using the simple function to calculate new data points we usually do not receive the same result as when using the original function, but depending on the problem domain and the interpolation method used the gain in simplicity might offset the error.

It should be mentioned that there is another very different kind of interpolation in mathematics, namely the "interpolation of operators". The classical results about interpolation of operators are the Riesz-Thorin theorem and the Marcinkiewicz theorem. There also are many other subsequent results.

Definition

From "inter" meaning between and "pole", the points or nodes. Any means of calculating a new point between two existing data points is therefore interpolation.

There are many methods for doing this, many of which involve fitting some sort of function to the data and evaluating that function at the desired point. This does not exclude other means such as statistical methods of calculating interpolated data.

The simplest form of interpolation is to take the mean average of $x$ and $y$ of two adjacent points to find the mid point. This will give the same result as linear interpolation evaluated at the midpoint.

Given a sequence of "n" "distinct" numbers "x""k" called nodes and for each "x""k" a second number "y""k", we are looking for a function "f" so that

:$f\left(x_k\right) = y_k mbox\left\{ , \right\} k=1,ldots,n$

A pair "x""k","y""k" is called a data point and "f" is called an interpolant for the data points.

When the numbers "y""k" are given by a known function "f", we sometimes write "f""k".

Example

For example, suppose we have a table like this, which gives some values of an unknown function "f". Interpolation provides a means of estimating the function at intermediate points, such as "x" = 2.5.

There are many different interpolation methods, some of which are described below. Some of the concerns to take into account when choosing an appropriate algorithm are: How accurate is the method? How expensive is it? How smooth is the interpolant? How many data points are needed?

Piecewise constant interpolation

The simplest interpolation method is to locate the nearest data value, and assign the same value. In one dimension, there are seldom good reasons to choose this one over linear interpolation, which is almost as cheap, but in higher dimensions, in multivariate interpolation, this can be a favourable choice for its speed and simplicity.

Linear interpolation

One of the simplest methods is linear interpolation (sometimes known as lerp). Consider the above example of determining "f"(2.5). Since 2.5 is midway between 2 and 3, it is reasonable to take "f"(2.5) midway between "f"(2) = 0.9093 and "f"(3) = 0.1411, which yields 0.5252.

Generally, linear interpolation takes two data points, say ("x""a","y""a") and ("x""b","y""b"), and the interpolant is given by::$y = y_a + frac\left\{\left(x-x_a\right)\left(y_b-y_a\right)\right\}\left\{\left(x_b-x_a\right)\right\}$ at the point ("x","y").

Linear interpolation is quick and easy, but it is not very precise. Another disadvantage is that the interpolant is not differentiable at the point "x""k".

The following error estimate shows that linear interpolation is not very precise. Denote the function which we want to interpolate by "g", and suppose that "x" lies between "x""a" and "x""b" and that "g" is twice continuously differentiable. Then the linear interpolation error is:$|f\left(x\right)-g\left(x\right)| le C\left(x_b-x_a\right)^2 quadmbox\left\{where\right\}quad C = frac18 max_\left\{yin \left[x_a,x_b\right] \right\} |g"\left(y\right)|.$In words, the error is proportional to the square of the distance between the data points. The error of some other methods, including polynomial interpolation and spline interpolation (described below), is proportional to higher powers of the distance between the data points. These methods also produce smoother interpolants.

Polynomial interpolation

Polynomial interpolation is a generalization of linear interpolation. Note that the linear interpolant is a linear function. We now replace this interpolant by a polynomial of higher degree.

Consider again the problem given above. The following sixth degree polynomial goes through all the seven points::$f\left(x\right) = -0.0001521 x^6 - 0.003130 x^5 + 0.07321 x^4 - 0.3577 x^3 + 0.2255 x^2 + 0.9038 x.$ Substituting "x" = 2.5, we find that "f"(2.5) = 0.5965.

Generally, if we have "n" data points, there is exactly one polynomial of degree at most "n"−1 going through all the data points. The interpolation error is proportional to the distance between the data points to the power "n". Furthermore, the interpolant is a polynomial and thus infinitely differentiable. So, we see that polynomial interpolation solves all the problems of linear interpolation.

However, polynomial interpolation also has some disadvantages. Calculating the interpolating polynomial is computationaly expensive (see computational complexity) compared to linear interpolation. Furthermore, polynomial interpolation may not be so exact after all, especially at the end points (see Runge's phenomenon). These disadvantages can be avoided by using spline interpolation.

pline interpolation

Remember that linear interpolation uses a linear function for each of intervals ["x""k","x""k+1"] . Spline interpolation uses low-degree polynomials in each of the intervals, and chooses the polynomial pieces such that they fit smoothly together. The resulting function is called a spline.

For instance, the natural cubic spline is piecewise cubic and twice continuously differentiable. Furthermore, its second derivative is zero at the end points. The natural cubic spline interpolating the points in the table above is given by:

In this case we get "f"(2.5)=0.5962.

Like polynomial interpolation, spline interpolation incurs a smaller error than linear interpolation and the interpolant is smoother. However, the interpolant is easier to evaluate than the high-degree polynomials used in polynomial interpolation. It also does not suffer from Runge's phenomenon.

Other forms of interpolation

Other forms of interpolation can be constructed by picking a different class of interpolants. For instance, rational interpolation is interpolation by rational functions, and trigonometric interpolation is interpolation by trigonometric polynomials. The discrete Fourier transform is a special case of trigonometric interpolation. Another possibility is to use wavelets.

The Whittaker–Shannon interpolation formula can be used if the number of data points is infinite.

Multivariate interpolation is the interpolation of functions of more than one variable. Methods include bilinear interpolation and bicubic interpolation in two dimensions, and trilinear interpolation in three dimensions.

Sometimes, we know not only the value of the function that we want to interpolate, at some points, but also its derivative. This leads to Hermite interpolation problems.

Related concepts

The term "extrapolation" is used if we want to find data points outside the range of known data points.

In curve fitting problems, the constraint that the interpolant has to go exactly through the data points is relaxed. It is only required to approach the data points as closely as possible. This requires parameterizing the potential interpolants and having some way of measuring the error. In the simplest case this leads to least squares approximation.

Approximation theory studies how to find the best approximation to a given function by another function from some predetermined class, and how good this approximation is. This clearly yields a bound on how well the interpolant can approximate the unknown function.

References

* David Kidner, Mark Dorey and Derek Smith (1999). " [http://www.geovista.psu.edu/sites/geocomp99/Gc99/082/gc_082.htm What's the point? Interpolation and extrapolation with a regular grid DEM] ." IV International Conference on GeoComputation, Fredericksburg, VA, USA.
* Chapter 6.
* Chapters 4 and 6.

* [http://www.dr-mikes-maths.com/DotPlacer.html DotPlacer applet ] : Applet showing various interpolation methods, with movable points

Wikimedia Foundation. 2010.

Look at other dictionaries:

• interpolation — [ ɛ̃tɛrpɔlasjɔ̃ ] n. f. • 1706; « interruption » XIVe; lat. interpolatio 1 ♦ Action d interpoler un texte; résultat de cette action. 2 ♦ (1812) Math. Intercalation de valeurs ou de termes intermédiaires dans une série de valeurs ou de termes… …   Encyclopédie Universelle

• Interpolation — Interpolation, die Berechnung von Zwischenwerten einer Funktion, wenn für eine endliche Anzahl von Werten des Arguments die zugehörigen Funktionswerte gegeben sind.  Bilden die zu den m + 1 gegebenen Funktionswerten u0 u1 ... um gehörigen… …   Lexikon der gesamten Technik

• Interpolation — (lat. interpolare „auffrischen“, „umgestalten“, „verfälschen“) bezeichnet: in der Mathematik verschiedene Probleme und Verfahren, siehe Interpolation (Mathematik) in der Literatur die Veränderung eines ursprünglichen Textes, siehe Interpolation… …   Deutsch Wikipedia

• Interpolation — ist ein Verfahren zur Berechnung neuer Bildpunkte (Pixel) aus den Werten der umliegenden Bildpunkte in der elektronischen Bildbearbeitung, und wird eingesetzt, sobald ein Bild vergrößert oder verkleinert wird. So bieten die Programme zur… …   Das Lexikon aus „Bernie's Foto-Programm"

• Interpolation — (v. lat.), 1) Einschaltung; 2) (Math.), wenn man weiß, y hänge von x nach irgend einem Rechnungsgesetze ab, man kennt aber die Natur dieser Function nicht, sondern kennt nur einige einzelne Werthe y1, y2, y3, ... welche zu eben so vielen Werthen… …   Pierer's Universal-Lexikon

• interpolation — index expletive, insertion, intervention (interference) Burton s Legal Thesaurus. William C. Burton. 2006 …   Law dictionary

• Interpolation — In*ter po*la tion, n. [L. interpolatio an alteration made here and there: cf. F. interpolation.] 1. The act of introducing or inserting anything, especially that which is spurious or foreign. [1913 Webster] 2. That which is introduced or inserted …   The Collaborative International Dictionary of English

• interpolation — (n.) 1610s, from Fr. interpolation (early 17c.), or directly from L. interpolationem (nom. interpolatio), noun of action from pp. stem of interpolare (see INTERPOLATE (Cf. interpolate)) …   Etymology dictionary

• Interpolation — (lat., »Einschaltung«), in der Mathematik bezeichnet I. ein Verfahren, durch das man zwischen zwei Gliedern einer nach einem bestimmten Gesetz fortschreitenden Reihe von Größen neue Größen derart einschaltet, daß sie sich an dieses Gesetz… …   Meyers Großes Konversations-Lexikon

• Interpolation — Cette page d’homonymie répertorie les différents sujets et articles partageant un même nom. Sur les autres projets Wikimedia : « Interpolation », sur le Wiktionnaire (dictionnaire universel) Le mot interpolation est employé dans… …   Wikipédia en Français