UniversalKrigingInterpolator

Aliases:

  • petres.interpolators.UKInterpolator


class petres.interpolators.UniversalKrigingInterpolator[source]

Bases: BasePyKrigeInterpolator

Interpolate scalar values using universal kriging in 2D or 3D.

Supports drift terms (regional, specified, functional) consistent with PyKrige’s UniversalKriging/UniversalKriging3D implementations. For specified drift, supply drift arrays to predict/predict_with_variance via specified_drift_arrays.

Parameters:
  • variogram_model ({"linear", "power", "gaussian", "spherical", "exponential", "hole-effect", "custom"}, default="linear") – Variogram model name forwarded to the selected PyKrige class.

  • variogram_parameters (dict[str, Any] or Sequence[float] or None, default=None) – Variogram parameters. If None, PyKrige infers them.

  • variogram_function (callable or None, default=None) – Custom variogram function used only for variogram_model="custom".

  • nlags (int, default=6) – Number of lag bins for variogram fitting.

  • weight (bool, default=False) – Whether semivariances are weighted in variogram fitting.

  • verbose (bool, default=False) – Whether PyKrige emits logs.

  • enable_plotting (bool, default=False) – Whether PyKrige plots variogram fits.

  • exact_values (bool, default=True) – Whether interpolation reproduces training values exactly.

  • pseudo_inv (bool, default=False) – Whether to use pseudo-inverse for solving the kriging system.

  • pseudo_inv_type ({"pinv", "pinvh"}, default="pinv") – Pseudo-inverse implementation name.

  • backend ({"vectorized", "loop", "C"}, default="vectorized") – Execution backend used by PyKrige execute. "C" is rejected.

  • anisotropy_scaling (float or tuple[float, float], default=1.0) – 2D uses a single scalar. 3D accepts one scalar or (scaling_y, scaling_z).

  • anisotropy_angle (float or tuple[float, float, float], default=0.0) – 2D uses a single scalar. 3D accepts one scalar or (angle_x, angle_y, angle_z).

  • drift_terms (Iterable[str] or None, default=None) – Drift terms enabled in universal kriging.

  • point_drift (Any or None, default=None) – Point-log drift data for 2D universal kriging.

  • external_drift (numpy.ndarray or None, default=None) – External drift raster for 2D universal kriging.

  • external_drift_x (numpy.ndarray or None, default=None) – X-axis coordinates for external_drift.

  • external_drift_y (numpy.ndarray or None, default=None) – Y-axis coordinates for external_drift.

  • specified_drift (Sequence[numpy.ndarray] or None, default=None) – Per-sample drift arrays used when "specified" drift is active.

  • functional_drift (Sequence[callable] or None, default=None) – Callable drift functions used when "functional" drift is active.

Initialize a universal kriging interpolator.

Raises:

ValueError – If backend="C" is requested.

__init__(variogram_model='linear', variogram_parameters=None, variogram_function=None, nlags=6, weight=False, verbose=False, enable_plotting=False, exact_values=True, pseudo_inv=False, pseudo_inv_type='pinv', backend='vectorized', anisotropy_scaling=1.0, anisotropy_angle=0.0, drift_terms=None, point_drift=None, external_drift=None, external_drift_x=None, external_drift_y=None, specified_drift=None, functional_drift=None)[source]

Initialize a universal kriging interpolator.

Raises:

ValueError – If backend="C" is requested.

predict(coordinates, **execute_kwargs)[source]

Predict values at query coordinates.

Parameters:
  • coordinates (numpy.ndarray) – Query coordinates with shape (n_queries, n_dims).

  • **execute_kwargs (Any) – Additional keyword arguments forwarded to PyKrige execute.

Returns:

Predicted values with shape (n_queries,).

Return type:

numpy.ndarray

predict_variance(coordinates, **execute_kwargs)[source]

Predict kriging variance at query coordinates.

Parameters:
  • coordinates (numpy.ndarray) – Query coordinates with shape (n_queries, n_dims).

  • **execute_kwargs (Any) – Additional keyword arguments forwarded to PyKrige execute.

Returns:

Variance values with shape (n_queries,).

Return type:

numpy.ndarray

predict_with_variance(coordinates, **execute_kwargs)[source]

Predict values and variance at query coordinates.

Parameters:
  • coordinates (numpy.ndarray) – Query coordinates with shape (n_queries, n_dims).

  • **execute_kwargs (Any) – Additional keyword arguments forwarded to PyKrige execute.

Returns:

Two arrays (prediction, variance), each shaped (n_queries,).

Return type:

tuple[numpy.ndarray, numpy.ndarray]