gstools.variogram.vario_estimate_axis

gstools.variogram.vario_estimate_axis(field, direction='x', estimator='matheron', no_data=nan)[source]

Estimates the variogram along array axis.

The indices of the given direction are used for the bins. Uniform spacings along the given axis are assumed.

The algorithm calculates following equation:

\[\gamma(r_k) = \frac{1}{2 N(r_k)} \sum_{i=1}^{N(r_k)} (z(\mathbf x_i) - z(\mathbf x_i'))^2 \; ,\]

with \(r_k \leq \| \mathbf x_i - \mathbf x_i' \| < r_{k+1}\) being the bins.

Or if the estimator “cressie” was chosen:

\[\gamma(r_k) = \frac{\frac{1}{2}\left(\frac{1}{N(r_k)}\sum_{i=1}^{N(r_k)} \left|z(\mathbf x_i) - z(\mathbf x_i')\right|^{0.5}\right)^4} {0.457 + 0.494 / N(r_k) + 0.045 / N^2(r_k)} \; ,\]

with \(r_k \leq \| \mathbf x_i - \mathbf x_i' \| < r_{k+1}\) being the bins. The Cressie estimator is more robust to outliers [Webster2007].

Parameters
  • field (numpy.ndarray or numpy.ma.MaskedArray) – the spatially distributed data (can be masked)

  • direction (str or int) – the axis over which the variogram will be estimated (x, y, z) or (0, 1, 2, …)

  • estimator (str, optional) –

    the estimator function, possible choices:

    • “matheron”: the standard method of moments of Matheron

    • “cressie”: an estimator more robust to outliers

    Default: “matheron”

  • no_data (float, optional) – Value to identify missing data in the given field. Default: numpy.nan

Returns

the estimated variogram along the given direction.

Return type

numpy.ndarray

Warning

It is assumed that the field is defined on an equidistant Cartesian grid.

Notes

Internally uses double precision and also returns doubles.

References

Webster2007

Webster, R. and Oliver, M. A. “Geostatistics for environmental scientists.”, John Wiley & Sons. (2007)