Class SphericalVariogram

java.lang.Object
smile.interpolation.variogram.SphericalVariogram
All Implemented Interfaces:
Serializable, Variogram, Function

public class SphericalVariogram extends Object implements Variogram
Spherical variogram.

v(r) = c + b * (1.5 * r / a - 0.5 * (r / a)3) for 0 <= r <= a

or

v(r) = c + b for a <= r

where a is the range parameter and b is sill parameter. The distance of two pairs increase, the variogram of those two pairs also increase. Eventually, the increase of the distance can not cause the variogram increase. The distance which cause the variogram reach plateau is called range. The sill parameter b is the maximum variogram value (by default, we set c = 0).

The parameter c is the so-called nugget effect. Though the value of the variogram for h = 0 is strictly 0, several factors, such as sampling error and short scale variability, may cause sample values separated by extremely small distances to be quite dissimilar. This causes a discontinuity at the origin of the variogram. The vertical jump from the value of 0 at the origin to the value of the variogram at extremely small separation distances is called the nugget effect.

See Also:
  • Constructor Details

    • SphericalVariogram

      public SphericalVariogram(double a, double b)
      Constructor. No nugget effect.
      Parameters:
      a - the range parameter.
      b - the sill parameter.
    • SphericalVariogram

      public SphericalVariogram(double a, double b, double c)
      Constructor.
      Parameters:
      a - the range parameter.
      b - the sill parameter.
      c - the nugget effect parameter.
  • Method Details

    • f

      public double f(double r)
      Description copied from interface: Function
      Computes the value of the function at x.
      Specified by:
      f in interface Function
      Parameters:
      r - a real number.
      Returns:
      the function value.
    • toString

      public String toString()
      Overrides:
      toString in class Object