gstools.cokriging.MarkovModel1

class gstools.cokriging.MarkovModel1(primary_model, cross_corr, secondary_var, primary_mean=0.0, secondary_mean=0.0)[source]

Bases: Correlogram

Markov Model I (MM1) correlogram for collocated cokriging.

The Markov Model I assumes that the cross-covariance between primary and secondary variables follows the primary variable’s spatial structure:

\[C_{YZ}(h) = \frac{C_{YZ}(0)}{C_Z(0)} \cdot C_Z(h)\]

where \(C_{YZ}(h)\) is the cross-covariance at distance h, \(C_{YZ}(0)\) is the cross-covariance at zero lag, \(C_Z(h)\) is the primary variable’s covariance at distance h, and \(C_Z(0)\) is the primary variable’s variance.

This implies that both variables share the same spatial correlation structure: \(\rho_Y(h) = \rho_Z(h)\).

Parameters:
  • primary_model (CovModel) – Covariance model for the primary variable (Z). This defines the spatial structure that both variables are assumed to share.

  • cross_corr (float) – Cross-correlation coefficient \(\rho_{YZ}(0)\) at zero lag. Must be in [-1, 1]. Computed as: \(\rho_{YZ}(0) = C_{YZ}(0) / \sqrt{C_Y(0) \cdot C_Z(0)}\)

  • secondary_var (float) – Variance of the secondary variable \(C_Y(0)\). Must be positive.

  • primary_mean (float, optional) – Mean value of the primary variable \(m_Z\). Default: 0.0

  • secondary_mean (float, optional) – Mean value of the secondary variable \(m_Y\). Default: 0.0

Variables:
  • primary_model (CovModel) – The primary variable’s covariance model.

  • cross_corr (float) – Cross-correlation at zero lag.

  • secondary_var (float) – Secondary variable variance.

  • primary_mean (float) – Primary variable mean.

  • secondary_mean (float) – Secondary variable mean.

References

[Samson2020]

Samson, M., & Deutsch, C. V. (2020). Collocated Cokriging. In J. L. Deutsch (Ed.), Geostatistics Lessons. Retrieved from http://geostatisticslessons.com/lessons/collocatedcokriging

[Wackernagel2003]

Wackernagel, H. Multivariate Geostatistics, Springer, Berlin, 2003.

Methods

compute_covariances()

Compute covariances at zero lag using MM1 formula.

cross_covariance(h)

Compute cross-covariance at distance h using MM1 formula.

compute_covariances()[source]

Compute covariances at zero lag using MM1 formula.

Returns:

  • C_Z0 (float) – Primary variable variance (sill of primary model).

  • C_Y0 (float) – Secondary variable variance (as specified).

  • C_YZ0 (float) – Cross-covariance at zero lag, computed as: \(C_{YZ}(0) = \rho_{YZ}(0) \cdot \sqrt{C_Y(0) \cdot C_Z(0)}\)

cross_covariance(h)[source]

Compute cross-covariance at distance h using MM1 formula.

Parameters:

h (float or numpy.ndarray) – Distance(s) at which to compute cross-covariance.

Returns:

C_YZ_h – Cross-covariance at distance h, computed using MM1: \(C_{YZ}(h) = \frac{C_{YZ}(0)}{C_Z(0)} \cdot C_Z(h)\)

Return type:

float or numpy.ndarray