- Source: Radial basis function interpolation
Radial basis function (RBF) interpolation is an advanced method in approximation theory for constructing high-order accurate interpolants of unstructured data, possibly in high-dimensional spaces. The interpolant takes the form of a weighted sum of radial basis functions. RBF interpolation is a mesh-free method, meaning the nodes (points in the domain) need not lie on a structured grid, and does not require the formation of a mesh. It is often spectrally accurate and stable for large numbers of nodes even in high dimensions.
Many interpolation methods can be used as the theoretical foundation of algorithms for approximating linear operators, and RBF interpolation is no exception. RBF interpolation has been used to approximate differential operators, integral operators, and surface differential operators.
Examples
Let
f
(
x
)
=
exp
(
x
cos
(
3
π
x
)
)
{\displaystyle f(x)=\exp(x\cos(3\pi x))}
and let
x
k
=
k
14
,
k
=
0
,
1
,
…
,
14
{\displaystyle x_{k}={\frac {k}{14}},k=0,1,\dots ,14}
be 15 equally spaced points on the interval
[
0
,
1
]
{\displaystyle [0,1]}
. We will form
s
(
x
)
=
∑
k
=
0
14
w
k
φ
(
‖
x
−
x
k
‖
)
{\displaystyle s(x)=\sum \limits _{k=0}^{14}w_{k}\varphi (\|x-x_{k}\|)}
where
φ
{\displaystyle \varphi }
is a radial basis function, and choose
w
k
,
k
=
0
,
1
,
…
,
14
{\displaystyle w_{k},k=0,1,\dots ,14}
such that
s
(
x
k
)
=
f
(
x
k
)
,
k
=
0
,
1
,
…
,
14
{\displaystyle s(x_{k})=f(x_{k}),k=0,1,\dots ,14}
(
s
{\displaystyle s}
interpolates
f
{\displaystyle f}
at the chosen points). In matrix notation this can be written as
[
φ
(
‖
x
0
−
x
0
‖
)
φ
(
‖
x
1
−
x
0
‖
)
…
φ
(
‖
x
14
−
x
0
‖
)
φ
(
‖
x
0
−
x
1
‖
)
φ
(
‖
x
1
−
x
1
‖
)
…
φ
(
‖
x
14
−
x
1
‖
)
⋮
⋮
⋱
⋮
φ
(
‖
x
0
−
x
14
‖
)
φ
(
‖
x
1
−
x
14
‖
)
…
φ
(
‖
x
14
−
x
14
‖
)
]
[
w
0
w
1
⋮
w
14
]
=
[
f
(
x
0
)
f
(
x
1
)
⋮
f
(
x
14
)
]
.
{\displaystyle {\begin{bmatrix}\varphi (\|x_{0}-x_{0}\|)&\varphi (\|x_{1}-x_{0}\|)&\dots &\varphi (\|x_{14}-x_{0}\|)\\\varphi (\|x_{0}-x_{1}\|)&\varphi (\|x_{1}-x_{1}\|)&\dots &\varphi (\|x_{14}-x_{1}\|)\\\vdots &\vdots &\ddots &\vdots \\\varphi (\|x_{0}-x_{14}\|)&\varphi (\|x_{1}-x_{14}\|)&\dots &\varphi (\|x_{14}-x_{14}\|)\\\end{bmatrix}}{\begin{bmatrix}w_{0}\\w_{1}\\\vdots \\w_{14}\end{bmatrix}}={\begin{bmatrix}f(x_{0})\\f(x_{1})\\\vdots \\f(x_{14})\end{bmatrix}}.}
Choosing
φ
(
r
)
=
exp
(
−
(
ε
r
)
2
)
{\displaystyle \varphi (r)=\exp(-(\varepsilon r)^{2})}
, the Gaussian, with a shape parameter of
ε
=
3
{\displaystyle \varepsilon =3}
, we can then solve the matrix equation for the weights and plot the interpolant. Plotting the interpolating function below, we see that it is visually the same everywhere except near the left boundary (an example of Runge's phenomenon), where it is still a very close approximation. More precisely the maximum error is roughly
‖
f
−
s
‖
∞
≈
0.0267414
{\displaystyle \|f-s\|_{\infty }\approx 0.0267414}
at
x
=
0.0220012
{\displaystyle x=0.0220012}
.
Motivation
The Mairhuber–Curtis theorem says that for any open set
V
{\displaystyle V}
in
R
n
{\displaystyle \mathbb {R} ^{n}}
with
n
≥
2
{\displaystyle n\geq 2}
, and
f
1
,
f
2
,
…
,
f
n
{\displaystyle f_{1},f_{2},\dots ,f_{n}}
linearly independent functions on
V
{\displaystyle V}
, there exists a set of
n
{\displaystyle n}
points in the domain such that the interpolation matrix
[
f
1
(
x
1
)
f
2
(
x
1
)
…
f
n
(
x
1
)
f
1
(
x
2
)
f
2
(
x
2
)
…
f
n
(
x
2
)
⋮
⋮
⋱
⋮
f
1
(
x
n
)
f
2
(
x
n
)
…
f
n
(
x
n
)
]
{\displaystyle {\begin{bmatrix}f_{1}(x_{1})&f_{2}(x_{1})&\dots &f_{n}(x_{1})\\f_{1}(x_{2})&f_{2}(x_{2})&\dots &f_{n}(x_{2})\\\vdots &\vdots &\ddots &\vdots \\f_{1}(x_{n})&f_{2}(x_{n})&\dots &f_{n}(x_{n})\end{bmatrix}}}
is singular.
This means that if one wishes to have a general interpolation algorithm, one must choose the basis functions to depend on the interpolation points. In 1971, Rolland Hardy developed a method of interpolating scattered data using interpolants of the form
s
(
x
)
=
∑
k
=
1
N
‖
x
−
x
k
‖
2
+
C
{\displaystyle s(\mathbf {x} )=\sum \limits _{k=1}^{N}{\sqrt {\|\mathbf {x} -\mathbf {x} _{k}\|^{2}+C}}}
. This is interpolation using a basis of shifted multiquadric functions, now more commonly written as
φ
(
r
)
=
1
+
(
ε
r
)
2
{\displaystyle \varphi (r)={\sqrt {1+(\varepsilon r)^{2}}}}
, and is the first instance of radial basis function interpolation. It has been shown that the resulting interpolation matrix will always be non-singular. This does not violate the Mairhuber–Curtis theorem since the basis functions depend on the points of interpolation. Choosing a radial kernel such that the interpolation matrix is non-singular is exactly the definition of a strictly positive definite function. Such functions, including the Gaussian, inverse quadratic, and inverse multiquadric are often used as radial basis functions for this reason.
Shape-parameter tuning
Many radial basis functions have a parameter that controls their relative flatness or peakedness. This parameter is usually represented by the symbol
ε
{\displaystyle \varepsilon }
with the function becoming increasingly flat as
ε
→
0
{\displaystyle \varepsilon \to 0}
. For example, Rolland Hardy used the formula
φ
(
r
)
=
r
2
+
C
{\displaystyle \varphi (r)={\sqrt {r^{2}+C}}}
for the multiquadric, however nowadays the formula
φ
(
r
)
=
1
+
(
ε
r
)
2
{\displaystyle \varphi (r)={\sqrt {1+(\varepsilon r)^{2}}}}
is used instead. These formulas are equivalent up to a scale factor. This factor is inconsequential since the basis vectors have the same span and the interpolation weights will compensate. By convention, the basis function is scaled such that
φ
(
0
)
=
1
{\displaystyle \varphi (0)=1}
as seen in the plots of the Gaussian functions and the bump functions.
A consequence of this choice, is that the interpolation matrix approaches the identity matrix as
ε
→
∞
{\displaystyle \varepsilon \to \infty }
leading to stability when solving the matrix system. The resulting interpolant will in general be a poor approximation to the function since it will be near zero everywhere, except near the interpolation points where it will sharply peak – the so-called "bed-of-nails interpolant" (as seen in the plot to the right).
On the opposite side of the spectrum, the condition number of the interpolation matrix will diverge to infinity as
ε
→
0
{\displaystyle \varepsilon \to 0}
leading to ill-conditioning of the system. In practice, one chooses a shape parameter so that the interpolation matrix is "on the edge of ill-conditioning" (eg. with a condition number of roughly
10
12
{\displaystyle 10^{12}}
for double-precision floating point).
There are sometimes other factors to consider when choosing a shape-parameter. For example the bump function
φ
(
r
)
=
{
exp
(
−
1
1
−
(
ε
r
)
2
)
for
r
<
1
ε
0
otherwise
{\displaystyle \varphi (r)={\begin{cases}\exp \left(-{\frac {1}{1-(\varepsilon r)^{2}}}\right)&{\mbox{ for }}r<{\frac {1}{\varepsilon }}\\0&{\mbox{ otherwise}}\end{cases}}}
has a compact support (it is zero everywhere except when
r
<
1
ε
{\displaystyle r<{\tfrac {1}{\varepsilon }}}
) leading to a sparse interpolation matrix.
Some radial basis functions such as the polyharmonic splines have no shape-parameter.
See also
Kriging
References
Kata Kunci Pencarian:
- Radial basis function
- Radial basis function interpolation
- Interpolation
- Multivariate interpolation
- Radial basis function network
- Basis function
- Positive-definite kernel
- Structural similarity index measure
- Function approximation
- Window function