pygeostats.validation¶
Model validation and diagnostic tools for PySpatialStats.
CrossValidationResult
dataclass
¶
Container for cross-validation diagnostics.
block_cross_validation
¶
block_cross_validation(coords: Coords, values: Values, build_variogram: VariogramBuilder, build_predictor: KrigingBuilder, grid_shape: Tuple[int, int] = (2, 2)) -> CrossValidationResult
Block cross-validation using a regular grid of spatial blocks.
default_kriging_builder
¶
Return a builder that instantiates a kriging predictor.
default_variogram_builder
¶
Return a builder that fits a :class:Variogram with the requested model.
leave_one_out_cross_validation
¶
leave_one_out_cross_validation(coords: Coords, values: Values, build_variogram: VariogramBuilder, build_predictor: KrigingBuilder) -> CrossValidationResult
Leave-one-out cross-validation emulating geoR-style validation.
spatial_kfold_cross_validation
¶
spatial_kfold_cross_validation(coords: Coords, values: Values, build_variogram: VariogramBuilder, build_predictor: KrigingBuilder, n_splits: int = 5, random_state: Optional[int] = None) -> CrossValidationResult
Cluster-aware spatial k-fold cross-validation.
compute_kriging_residuals
¶
compute_kriging_residuals(predictor: OrdinaryKriging, coords: ndarray, values: ndarray) -> np.ndarray
Return residuals for fitted kriging model.
normality_test
¶
Run a Shapiro-Wilk normality test on residuals.
standardized_residuals
¶
Scale residuals by their standard deviation.
variogram_cloud
¶
Return variogram cloud values for diagnostic plotting.
select_best_variogram_model
¶
select_best_variogram_model(coords: ndarray, values: ndarray, candidate_models: Iterable[str] = ('exponential', 'spherical', 'gaussian'), criterion: str = 'aic') -> Tuple[str, Variogram, dict]
Fit candidate models and pick the best one.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
coords
|
ndarray
|
Coordinate array of shape (n_samples, 2). |
required |
values
|
ndarray
|
Sample values. |
required |
candidate_models
|
Iterable[str]
|
Variogram model names to compare. |
('exponential', 'spherical', 'gaussian')
|
criterion
|
('aic', 'bic', 'loo')
|
Selection criterion following geoR conventions. |
'aic'
|