PyKrige
Kriging Toolkit for Python.
Purpose
The code supports 2D and 3D ordinary and universal kriging. Standard
variogram models (linear, power, spherical, gaussian, exponential) are
built in, but custom variogram models can also be used. The 2D universal
kriging code currently supports regional-linear, point-logarithmic, and
external drift terms, while the 3D universal kriging code supports a
regional-linear drift term in all three spatial dimensions. Both
universal kriging classes also support generic ‘specified’ and
‘functional’ drift capabilities. With the ‘specified’ drift capability,
the user may manually specify the values of the drift(s) at each data
point and all grid points. With the ‘functional’ drift capability, the
user may provide callable function(s) of the spatial coordinates that
define the drift(s). The package includes a module that contains
functions that should be useful in working with ASCII grid files (\*.asc
).
See the documentation at http://pykrige.readthedocs.io/ for more details and examples.
Installation
PyKrige requires Python 3.5+ as well as numpy, scipy. It can be installed from PyPi with,
pip install pykrige
scikit-learn is an optional dependency needed for parameter tuning and regression kriging. matplotlib is an optional dependency needed for plotting.
If you use conda, PyKrige can be installed from the conda-forge channel with,
conda install -c conda-forge pykrige
Features
Kriging algorithms
OrdinaryKriging
: 2D ordinary kriging with estimated meanUniversalKriging
: 2D universal kriging providing drift termsOrdinaryKriging3D
: 3D ordinary krigingUniversalKriging3D
: 3D universal krigingRegressionKriging
: An implementation of Regression-KrigingClassificationKriging
: An implementation of Simplicial Indicator Kriging
Wrappers
rk.Krige
: A scikit-learn wrapper class for Ordinary and Universal Kriging
Tools
kriging_tools.write_asc_grid
: Writes gridded data to ASCII grid file (\*.asc
)kriging_tools.read_asc_grid
: Reads ASCII grid file (\*.asc
)kriging_tools.write_zmap_grid
: Writes gridded data to zmap file (\*.zmap
)kriging_tools.read_zmap_grid
: Reads zmap file (\*.zmap
)
Kriging Parameters Tuning
A scikit-learn compatible API for parameter tuning by cross-validation is exposed in sklearn.model_selection.GridSearchCV. See the Krige CV example for a more practical illustration.
Regression Kriging
Regression kriging
can be performed with
pykrige.rk.RegressionKriging.
This class takes as parameters a scikit-learn regression model, and
details of either the OrdinaryKriging
or the UniversalKriging
class, and performs a correction step on the ML regression prediction.
A demonstration of the regression kriging is provided in the corresponding example.
Classification Kriging
Simplifical Indicator
kriging
can be performed with
pykrige.ck.ClassificationKriging.
This class takes as parameters a scikit-learn classification model, and
details of either the OrdinaryKriging
or the UniversalKriging
class,
and performs a correction step on the ML classification prediction.
A demonstration of the classification kriging is provided in the corresponding example.
License
PyKrige uses the BSD 3-Clause License.