Multivariateinterpolation is an area of data fitting which, as opposed to univariateinterpolation which fitted two-dimensional data points, finds the surface that provides an exact fit to a series of multidimensional data points. It is called multivariate since the data points are supposed to be sampled from a function of several variables.
Formally speaking, consider a series of distinct - dimensional data points , , where is a vector, for each . By interpolating these data points we mean finding a function such that:
We will start by describing the most straightforward multivariate interpolation methods, to the more advanced. We start with the description of the method in 3D, and then explain how this generalizes to multidimensional space.
Nearest-neighbor Interpolation
This type of interpolation basically assigns to any point in the plane, the value of the closest data point to . Formally, given a series of data points , for , the corresponding nearest-neighbor interpolation function is given by
where . The image below shows how nearest-neighbor interpolation is applied to a series of data points in the box .
In general d-dimensional space, nearest-neighbor interpolation assigns to some point the value of the closest data point to , i.e. the one which minimizes the objective function
This is a generalization of linear interpolation, from 2D to 3D data points. It is assumed that the given data points are distributed along an uniform grid, as are the points , , and in the image below.
The aim is to estimate the value of the function (from which the data points have been sampled) at point in the above graph. In order to do this, let us define two auxiliary functions through
where the coordinates of are and .
The next thing is to do linear interpolation on the two-dimensional data points , and , correspondingly. In other words, the linear interpolation functions , can be given by:
This solves the problem of doing bilinear interpolation for a set of 4 three-dimensional points. If there are more than 4 points (they should however be a multiple of 2), then we repeat the above algorithm for each cell. The interpolation function over the entire domain is then defined in a piecewise manner on each cell, through the corresponding bilinear interpolation function for that cell.
The image below shows the values obtained by applying linear interpolation on the same series of data points as in the previous graph.
Using the same reasoning as above, we are able to generalize linear interpolation from some -dimensional space to
-dimensional space, in a recursive manner, giving birth to multilinearinterpolation. The concept of uniform grid also generalizes to multidimensional space, as seen in the article http://en.wikipedia.org/wiki/Honeycomb_(geometry) .
Bicubic Interpolation
Without loss of generality, consider that we are given the values of the points , , and , i.e. the corners of the unit box . Our aim is to find a bicubic function of the form
that provides an exact fit to the given data points. In order to determine , we need to determine its coefficients . This is only possible if the values of the partial derivatives , and are know at each corner of the unit box. In this case, by writing the set of linear equations
for all , we are able to find the coefficients and completely determine the bicubic interpolation function . As in the case of bilinear interpolation, if there are more than 4 points, then we repeat the above algorithm for each cell. The bicubic interpolation function over the entire domain is then defined in a piecewise fashion on each cell, through the corresponding bicubic interpolation function for that cell. It is also required that all the partial derivatives match on the common boundary of each pair of cells.
The following image shows the values obtained using bicubic interpolation on the same series of data points as in the previous graphs.
Generally, using bicubic instead of bilinear or nearest-neighbor interpolation results in smoother approximations and thus is more advantageous in image restoration techniques.
When generalizing this method to multidimensional space, the function will be of the form
and of course several other partial derivatives may come into play. The resulting system, although large, will still be linear and will allow us to find the coefficients of the cubic interpolation function . This method is also called multicubicinterpolation.