Movatterモバイル変換


[0]ホーム

URL:


Jump to content
WikipediaThe Free Encyclopedia
Search

Interpolation

From Wikipedia, the free encyclopedia
Method for estimating new data within known data points
For other uses, seeInterpolation (disambiguation).
Not to be confused withInterpellation.
This article includes a list ofgeneral references, butit lacks sufficient correspondinginline citations. Please help toimprove this article byintroducing more precise citations.(October 2016) (Learn how and when to remove this message)

In themathematical field ofnumerical analysis,interpolation is a type ofestimation, a method of constructing (finding) newdata points based on the range of adiscrete set of known data points.[1][2]

Inengineering andscience, one often has a number of data points, obtained bysampling orexperimentation, which represent the values of a function for a limited number of values of theindependent variable. It is often required tointerpolate; that is, estimate the value of that function for an intermediate value of the independent variable.

A closely related problem is theapproximation of a complicated function by a simple function. Suppose the formula for some given function is known, but too complicated to evaluate efficiently. A few data points from the original function can be interpolated to produce a simpler function which is still fairly close to the original. The resulting gain in simplicity may outweigh the loss from interpolation error and give better performance in calculation process.

An interpolation of a finite set of points on anepitrochoid. The points in red are connected by blue interpolatedspline curves deduced only from the red points. The interpolated curves have polynomial formulas much simpler than that of the original epitrochoid curve.

Example

[edit]

This table gives some values of an unknown functionf(x){\displaystyle f(x)}.

Plot of the data points as given in the table
x{\displaystyle x}f(x){\displaystyle f(x)}
00
10.8415
20.9093
30.1411
4−0.7568
5−0.9589
6−0.2794

Interpolation provides a means of estimating the function at intermediate points, such asx=2.5.{\displaystyle x=2.5.}

We describe somemethods of interpolation, differing in such properties as: accuracy, cost, number of data points needed, andsmoothness of the resultinginterpolant function.

Piecewise constant interpolation

[edit]
Piecewise constant interpolation, ornearest-neighbor interpolation
Further information:Nearest-neighbor interpolation

The simplest interpolation method is to locate the nearest data value, and assign the same value. In simple problems, this method is unlikely to be used, aslinear interpolation (see below) is almost as easy, but in higher-dimensionalmultivariate interpolation, this could be a favourable choice for its speed and simplicity.

Linear interpolation

[edit]
Plot of the data with linear interpolation superimposed
Main article:Linear interpolation

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

Generally, linear interpolation takes two data points, say (xa,ya) and (xb,yb), and the interpolant is given by:

y=ya+(ybya)xxaxbxa at the point (x,y){\displaystyle y=y_{a}+\left(y_{b}-y_{a}\right){\frac {x-x_{a}}{x_{b}-x_{a}}}{\text{ at the point }}\left(x,y\right)}
yyaybya=xxaxbxa{\displaystyle {\frac {y-y_{a}}{y_{b}-y_{a}}}={\frac {x-x_{a}}{x_{b}-x_{a}}}}
yyaxxa=ybyaxbxa{\displaystyle {\frac {y-y_{a}}{x-x_{a}}}={\frac {y_{b}-y_{a}}{x_{b}-x_{a}}}}

This previous equation states that the slope of the new line between(xa,ya){\displaystyle (x_{a},y_{a})} and(x,y){\displaystyle (x,y)} is the same as the slope of the line between(xa,ya){\displaystyle (x_{a},y_{a})} and(xb,yb){\displaystyle (x_{b},y_{b})}

Linear interpolation is quick and easy, but it is not very precise. Another disadvantage is that the interpolant is notdifferentiable at the pointxk.

The following error estimate shows that linear interpolation is not very precise. Denote the function which we want to interpolate byg, and suppose thatx lies betweenxa andxb and thatg is twice continuously differentiable. Then the linear interpolation error is

|f(x)g(x)|C(xbxa)2whereC=18maxr[xa,xb]|g(r)|.{\displaystyle |f(x)-g(x)|\leq C(x_{b}-x_{a})^{2}\quad {\text{where}}\quad C={\frac {1}{8}}\max _{r\in [x_{a},x_{b}]}|g''(r)|.}

In words, the error is proportional to the square of the distance between the data points. The error in some other methods, includingpolynomial 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

[edit]
Plot of the data with polynomial interpolation applied
Main article:Polynomial interpolation

Polynomial interpolation is a generalization of linear interpolation. Note that the linear interpolant is alinear function. We now replace this interpolant with apolynomial of higherdegree.

Consider again the problem given above. The following sixth degree polynomial goes through all the seven points:

f(x)=0.0001521x60.003130x5+0.07321x40.3577x3+0.2255x2+0.9038x.{\displaystyle f(x)=-0.0001521x^{6}-0.003130x^{5}+0.07321x^{4}-0.3577x^{3}+0.2255x^{2}+0.9038x.}

Substitutingx = 2.5, we find thatf(2.5) = ~0.59678.

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

However, polynomial interpolation also has some disadvantages. Calculating the interpolating polynomial is computationally expensive (seecomputational complexity) compared to linear interpolation. Furthermore, polynomial interpolation may exhibit oscillatory artifacts, especially at the end points (seeRunge's phenomenon).

Polynomial interpolation can estimate local maxima and minima that are outside the range of the samples, unlike linear interpolation. For example, the interpolant above has a local maximum atx ≈ 1.566,f(x) ≈ 1.003 and a local minimum atx ≈ 4.708,f(x) ≈ −1.003. However, these maxima and minima may exceed the theoretical range of the function; for example, a function that is always positive may have an interpolant with negative values, and whose inverse therefore contains falsevertical asymptotes.

More generally, the shape of the resulting curve, especially for very high or low values of the independent variable, may be contrary to commonsense; that is, to what is known about the experimental system which has generated the data points. These disadvantages can be reduced by using spline interpolation or restricting attention toChebyshev polynomials.

Spline interpolation

[edit]
Plot of the data with spline interpolation applied
Main article:Spline interpolation

Linear interpolation uses a linear function for each of intervals [xk,xk+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, thenatural cubic spline ispiecewise 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

f(x)={0.1522x3+0.9937x,if x[0,1],0.01258x30.4189x2+1.4126x0.1396,if x[1,2],0.1403x31.3359x2+3.2467x1.3623,if x[2,3],0.1579x31.4945x2+3.7225x1.8381,if x[3,4],0.05375x30.2450x21.2756x+4.8259,if x[4,5],0.1871x3+3.3673x219.3370x+34.9282,if x[5,6].{\displaystyle f(x)={\begin{cases}-0.1522x^{3}+0.9937x,&{\text{if }}x\in [0,1],\\-0.01258x^{3}-0.4189x^{2}+1.4126x-0.1396,&{\text{if }}x\in [1,2],\\0.1403x^{3}-1.3359x^{2}+3.2467x-1.3623,&{\text{if }}x\in [2,3],\\0.1579x^{3}-1.4945x^{2}+3.7225x-1.8381,&{\text{if }}x\in [3,4],\\0.05375x^{3}-0.2450x^{2}-1.2756x+4.8259,&{\text{if }}x\in [4,5],\\-0.1871x^{3}+3.3673x^{2}-19.3370x+34.9282,&{\text{if }}x\in [5,6].\end{cases}}}

In this case we getf(2.5) = 0.5972.

Like polynomial interpolation, spline interpolation incurs a smaller error than linear interpolation, while the interpolant is smoother and easier to evaluate than the high-degree polynomials used in polynomial interpolation. However, the global nature of the basis functions leads to ill-conditioning. This is completely mitigated by using splines of compact support, such as are implemented in Boost.Math and discussed in Kress.[3]

Mimetic interpolation

[edit]
Main article:Mimetic interpolation

Depending on the underlying discretisation of fields, different interpolants may be required. In contrast to other interpolation methods, which estimate functions on target points, mimetic interpolation evaluates the integral of fields on target lines, areas or volumes, depending on the type of field (scalar, vector, pseudo-vector or pseudo-scalar).

A key feature of mimetic interpolation is thatvector calculus identities are satisfied, includingStokes' theorem and thedivergence theorem. As a result, mimetic interpolation conserves line, area and volume integrals.[4] Conservation of line integrals might be desirable when interpolating theelectric field, for instance, since the line integral gives theelectric potential difference at the endpoints of the integration path.[5] Mimetic interpolation ensures that the error of estimating the line integral of an electric field is the same as the error obtained by interpolating the potential at the end points of the integration path, regardless of the length of the integration path.

Linear,bilinear andtrilinear interpolation are also considered mimetic, even if it is the field values that are conserved (not the integral of the field). Apart from linear interpolation, area weighted interpolation can be considered one of the first mimetic interpolation methods to have been developed.[6]

Functional interpolation

[edit]

TheTheory of Functional Connections (TFC) is a mathematical framework specifically developed forfunctional interpolation. Given any interpolant that satisfies a set of constraints, TFC derives a functional that represents the entire family of interpolants satisfying those constraints, including those that are discontinuous or partially defined. These functionals identify the subspace of functions where the solution to a constrained optimization problem resides. Consequently, TFC transforms constrained optimization problems into equivalent unconstrained formulations. This transformation has proven highly effective in the solution ofdifferential equations. TFC achieves this by constructing a constrained functional (a function of a free function), that inherently satisfies given constraints regardless of the expression of the free function. This simplifies solving various types of equations and significantly improves the efficiency and accuracy of methods likePhysics-Informed Neural Networks (PINNs). TFC offers advantages over traditional methods likeLagrange multipliers andspectral methods by directly addressing constraints analytically and avoiding iterative procedures, although it cannot currently handle inequality constraints.

Function approximation

[edit]

Interpolation is a common way to approximate functions. Given a functionf:[a,b]R{\displaystyle f:[a,b]\to \mathbb {R} } with a set of pointsx1,x2,,xn[a,b]{\displaystyle x_{1},x_{2},\dots ,x_{n}\in [a,b]} one can form a functions:[a,b]R{\displaystyle s:[a,b]\to \mathbb {R} } such thatf(xi)=s(xi){\displaystyle f(x_{i})=s(x_{i})} fori=1,2,,n{\displaystyle i=1,2,\dots ,n} (that is, thats{\displaystyle s} interpolatesf{\displaystyle f} at these points). In general, an interpolant need not be a good approximation, but there are well known and often reasonable conditions where it will. For example, iffC4([a,b]){\displaystyle f\in C^{4}([a,b])} (four times continuously differentiable) thencubic spline interpolation has an error bound given byfsCf(4)h4{\displaystyle \|f-s\|_{\infty }\leq C\|f^{(4)}\|_{\infty }h^{4}} wherehmaxi=1,2,,n1|xi+1xi|{\displaystyle h\max _{i=1,2,\dots ,n-1}|x_{i+1}-x_{i}|} andC{\displaystyle C} is a constant.[7]

Via Gaussian processes

[edit]

Gaussian process is a powerful non-linear interpolation tool. Many popular interpolation tools are actually equivalent to particular Gaussian processes. Gaussian processes can be used not only for fitting an interpolant that passes exactly through the given data points but also for regression; that is, for fitting a curve through noisy data. In the geostatistics community Gaussian process regression is also known asKriging.

Inverse Distance Weighting

[edit]

Inverse Distance Weighting (IDW) is a spatial interpolation method that estimates values based on nearby data points, with closer points having more influence.[8] It uses an inverse power law for weighting, where higher power values emphasize local effects, while lower values create a smoother surface. IDW is widely used inGIS,meteorology, and environmental modeling for its simplicity but may produce artifacts in clustered or uneven data.[9]

Other forms

[edit]

Other forms of interpolation can be constructed by picking a different class of interpolants. For instance, rational interpolation isinterpolation byrational functions usingPadé approximant, andtrigonometric interpolation is interpolation bytrigonometric polynomials usingFourier series. Another possibility is to usewavelets.

TheWhittaker–Shannon interpolation formula can be used if the number of data points is infinite or if the function to be interpolated has compact support.

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

When each data point is itself a function, it can be useful to see the interpolation problem as a partialadvection problem between each data point. This idea leads to thedisplacement interpolation problem used intransportation theory.

In higher dimensions

[edit]
Comparison of some 1- and 2-dimensional interpolations.
Black andred/yellow/green/blue dots correspond to the interpolated point and neighbouring samples, respectively.
Their heights above the ground correspond to their values.
Main article:Multivariate interpolation

Multivariate interpolation is the interpolation of functions of more than one variable. Methods includenearest-neighbor interpolation,bilinear interpolation andbicubic interpolation in two dimensions, andtrilinear interpolation in three dimensions.They can be applied to gridded or scattered data. Mimetic interpolation generalizes ton{\displaystyle n} dimensional spaces wheren>3{\displaystyle n>3}.[10][11]

  • Nearest neighbor
    Nearest neighbor
  • Bilinear
    Bilinear
  • Bicubic
    Bicubic

In digital signal processing

[edit]

In the domain of digital signal processing, the term interpolation refers to the process of converting a sampled digital signal (such as a sampled audio signal) to that of a higher sampling rate (Upsampling) using various digital filtering techniques (for example, convolution with a frequency-limited impulse signal). In this application there is a specific requirement that the harmonic content of the original signal be preserved without creating aliased harmonic content of the original signal above the originalNyquist limit of the signal (that is, above fs/2 of the original signal sample rate). An early and fairly elementary discussion on this subject can be found in Rabiner and Crochiere's bookMultirate Digital Signal Processing.[12]

Related concepts

[edit]

The termextrapolation is used to find data points outside the range of known data points.

Incurve 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 (within some other constraints). This requires parameterizing the potential interpolants and having some way of measuring the error. In the simplest case this leads toleast 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.

Generalization

[edit]

If we considerx{\displaystyle x} as a variable in atopological space, and the functionf(x){\displaystyle f(x)} mapping to aBanach space, then the problem is treated as "interpolation of operators".[13] The classical results about interpolation of operators are theRiesz–Thorin theorem and theMarcinkiewicz theorem. There are also many other subsequent results.

See also

[edit]

References

[edit]
  1. ^Sheppard, William Fleetwood (1911)."Interpolation" . InChisholm, Hugh (ed.).Encyclopædia Britannica. Vol. 14 (11th ed.). Cambridge University Press. pp. 706–710.
  2. ^Steffensen, J. F. (2006).Interpolation (Second ed.). Mineola, N.Y.ISBN 978-0-486-15483-1.OCLC 867770894.{{cite book}}: CS1 maint: location missing publisher (link)
  3. ^Kress, Rainer (1998).Numerical Analysis. Springer.ISBN 9781461205999.
  4. ^Pletzer, Alexander; Hayek, Wolfgang (2019-01-01)."Mimetic Interpolation of Vector Fields on Arakawa C/D Grids".Monthly Weather Review.147 (1):3–16.Bibcode:2019MWRv..147....3P.doi:10.1175/MWR-D-18-0146.1.ISSN 1520-0493.S2CID 125214770.Archived from the original on 2022-06-07. Retrieved2022-06-07.
  5. ^Stern, Ari; Tong, Yiying; Desbrun, Mathieu; Marsden, Jerrold E. (2015), Chang, Dong Eui; Holm, Darryl D.; Patrick, George; Ratiu, Tudor (eds.),"Geometric Computational Electrodynamics with Variational Integrators and Discrete Differential Forms",Geometry, Mechanics, and Dynamics, Fields Institute Communications, vol. 73, New York, NY: Springer New York, pp. 437–475,arXiv:0707.4470,doi:10.1007/978-1-4939-2441-7_19,ISBN 978-1-4939-2440-0,S2CID 15194760, retrieved2022-06-15{{citation}}: CS1 maint: work parameter with ISBN (link)
  6. ^Jones, Philip (1999)."First- and Second-Order Conservative Remapping Schemes for Grids in Spherical Coordinates".Monthly Weather Review.127 (9):2204–2210.Bibcode:1999MWRv..127.2204J.doi:10.1175/1520-0493(1999)127<2204:FASOCR>2.0.CO;2.S2CID 122744293.
  7. ^Hall, Charles A.; Meyer, Weston W. (1976)."Optimal Error Bounds for Cubic Spline Interpolation".Journal of Approximation Theory.16 (2):105–122.doi:10.1016/0021-9045(76)90040-X.
  8. ^Donald, Shepard (1968). "A two-dimensional interpolation function for irregularly-spaced data".23rd ACM National Conference.
  9. ^Ben Moshe, Nir (2025)."A Simple Solution for the Inverse Distance Weighting Interpolation (IDW) Clustering Problem".Sci.7 (1): 30.doi:10.3390/sci7010030.
  10. ^Whitney, Hassler (1957).Geometric Integration Theory. Dover Books on Mathematics.ISBN 978-0486445830.{{cite book}}:ISBN / Date incompatibility (help)
  11. ^Pletzer, Alexander; Fillmore, David (2015)."Conservative interpolation of edge and face data on n dimensional structured grids using differential forms".Journal of Computational Physics.302:21–40.Bibcode:2015JCoPh.302...21P.doi:10.1016/j.jcp.2015.08.029.
  12. ^Crochiere, Ronald E.; Rabiner, Lawrence R. (1983).R.E. Crochiere and L.R. Rabiner. (1983). Multirate Digital Signal Processing. Englewood Cliffs, NJ: Prentice–Hall. Prentice-Hall.ISBN 0136051626.
  13. ^Colin Bennett, Robert C. Sharpley,Interpolation of Operators, Academic Press 1988

External links

[edit]
Wikimedia Commons has media related toInterpolation.
National
Other
Retrieved from "https://en.wikipedia.org/w/index.php?title=Interpolation&oldid=1319112707"
Categories:
Hidden categories:

[8]ページ先頭

©2009-2026 Movatter.jp