Package smile.math.rbf
Class InverseMultiquadricRadialBasis
java.lang.Object
smile.math.rbf.InverseMultiquadricRadialBasis
- All Implemented Interfaces:
Serializable
,Function
,RadialBasisFunction
Inverse multiquadric RBF.
φ(r) = (r2 + r20)-1/2
where r0 is a scale factor. Although it sounds odd, the inverse
multiquadric gives results that are comparable to the multiquadric,
sometimes better. The reason is what really matters is smoothness, and
certain properties of the function's Fourier transform that are not very
different between the multiquadric and its reciprocal. The fact that one
increases monotonically and the other decreases turns out to be almost
irrelevant. Besides, inverse multiquadric will extrapolate any function to
zero far from the data.
In general, r0 should be larger than the typical separation of points but smaller than the "outer scale" or feature size of the function to interplate. There can be several orders of magnitude difference between the interpolation accuracy with a good choice for r0, versus a poor choice, so it is definitely worth some experimentation. One way to experiment is to construct an RBF interpolator omitting one data point at a time and measuring the interpolation error at the omitted point.
- See Also:
-
Constructor Details
-
InverseMultiquadricRadialBasis
public InverseMultiquadricRadialBasis()Constructor. The default scale is 1.0. -
InverseMultiquadricRadialBasis
public InverseMultiquadricRadialBasis(double scale) Constructor.- Parameters:
scale
- the scale parameter.
-
-
Method Details