# Multivariate

Multivariate interpolation, nearest-neighbor, bilinear, multilinear, bicubic, multicubic

**Contents**

## Overview

*Multivariate*

*interpolation*is an area of data fitting which, as opposed to

*univariate*

*interpolation*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 is the closest data point to in the sense of Euclidean distance. In other words, minimizes the following objective function 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 for all , where are the given data points.

## Bilinear Interpolation

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: All that is left is to do linear interpolation on the two-dimensional data points and , providing the desired formula for the interpolation function which, with the above notations, can be written: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

*multilinear*

*interpolation*. 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*multicubic*

*interpolation*.