|
JMSLTM Numerical Library 6.1 | |||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||
java.lang.Objectcom.imsl.math.RadialBasis
public class RadialBasis
RadialBasis computes a least-squares fit to scattered data in
, where d is the dimension. More precisely, we are
given data points
![]()
![]()
The radial basis fit to the data is a function F which approximates the above data in the sense that it minimizes the sum-of-squares error
![]()
where w are the weights. Of course, we must restrict the functional form of F. Here we assume it is a linear combination of radial functions:
![]()
A radial function,
, maps
into
. The default radial function
is the Hardy multiquadric,
![]()
with
. An alternate radial function is the
Gaussian,
.
By default, the centers are points in a Faure sequence, scaled to cover the box containing the data.
Two update methods allow the user to specify weights for each
data point in the approximation scheme. In this way the user can influence
the fit of the radial basis function. For example, if weights are in the
range [0,1] then 0-weighted points are effectively removed from computations
and 1-weighted points will have more influence than any others. When the
number of centers equals the number of data points, the RBF fit will be
"exact", otherwise it will be an approximation (useful for large or noisy
data sets). Provided the ratios of the weights are not too extreme, weights
will not appreciably change the accuracy of the fit to the data, but they
will affect the shape of the approximating function away from the data:
Greater weights result in greater influence at greater distances.
| Nested Class Summary | |
|---|---|
static interface |
RadialBasis.Function
Public interface for the user supplied function to the RadialBasis
object. |
static class |
RadialBasis.Gaussian
The Gaussian basis function, |
static class |
RadialBasis.HardyMultiquadric
The Hardy multiquadric basis function, |
| Constructor Summary | |
|---|---|
RadialBasis(int nDim,
int nCenters)
Creates a new instance of RadialBasis. |
|
| Method Summary | |
|---|---|
ANOVA |
getANOVA()
Returns the ANOVA statistics from the linear regression. |
RadialBasis.Function |
getRadialFunction()
Returns the radial function. |
double[] |
gradient(double[] x)
Returns the gradient of the radial basis approximation at a point. |
void |
setRadialFunction(RadialBasis.Function radialFunction)
Sets the radial function. |
void |
update(double[][] x,
double[] f)
Adds a set of data points, all with weight = 1. |
void |
update(double[][] x,
double[] f,
double[] w)
Adds a set of data points with user-specified weights. |
void |
update(double[] x,
double f)
Adds a data point with weight = 1. |
void |
update(double[] x,
double f,
double w)
Adds a data point with a specified weight. |
double |
value(double[] x)
Returns the value of the radial basis approximation at a point. |
double[] |
value(double[][] x)
Returns the value of the radial basis at a point. |
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Constructor Detail |
|---|
public RadialBasis(int nDim,
int nCenters)
nDim - an int specifying the number of dimensions.nCenters - an int specifying the number of centers.| Method Detail |
|---|
public ANOVA getANOVA()
ANOVA table and related statisticsLinearRegression,
ANOVApublic RadialBasis.Function getRadialFunction()
RadialBasis.Function which is the current radial
function.public double[] gradient(double[] x)
x - is a double array containing the locations of the
data point at which the approximation's gradient is to be
computed.
double array, of length nDim
containing the value of the gradient of the radial basis
approximation at x.public void setRadialFunction(RadialBasis.Function radialFunction)
radialFunction - a RadialBasis.Function to be used in
the approximation. The default is Hardy
Multiquadric with
public void update(double[][] x,
double[] f)
x - is a double matrix of size n by nDim
containing the locations of the data points for each dimension.f - is a double array containing the function values at
the data points.
public void update(double[][] x,
double[] f,
double[] w)
x - is a double matrix of size n by nDim
containing the locations of the data points for each dimension.f - is a double array containing the function values at
the data points.w - is a double array containing the weights associated
with the data points.
public void update(double[] x,
double f)
x - is a double array containing the locations of the
data point.f - is a double containing the function value at the
data point.
public void update(double[] x,
double f,
double w)
x - is a double array containing the locations of the
data point.f - is a double containing the function value at the
data point.w - is a double containing the weight of this data
point.public double value(double[] x)
x - is a double array containing the locations of the
data point at which the approximation is to be computed.
double containing the value of the radial basis
approximation at x.public double[] value(double[][] x)
x - a double matrix of size n by nDim
containing the points at which the radial basis is to be
evaluated.
double array giving the value of the radial basis
at the point x
|
JMSLTM Numerical Library 6.1 | |||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||