From Infogalactic: the planetary knowledge core
Jump to: navigation, search

In statistics, originally in geostatistics, Kriging or Gaussian process regression is a method of interpolation for which the interpolated values are modeled by a Gaussian process governed by prior covariances, as opposed to a piecewise-polynomial spline chosen to optimize smoothness of the fitted values. Under suitable assumptions on the priors, Kriging gives the best linear unbiased prediction of the intermediate values. Interpolating methods based on other criteria such as smoothness need not yield the most likely intermediate values. The method is widely used in the domain of spatial analysis and computer experiments. The technique is also known as Wiener–Kolmogorov prediction, after Norbert Wiener and Andrey Kolmogorov.

Example of one-dimensional data interpolation by Kriging, with confidence intervals. Squares indicate the location of the data. The Kriging interpolation, shown in red, runs along the means of the normally distributed confidence intervals shown in gray. The dashed curve shows a spline that while smooth nevertheless departs significantly from the expected intermediate values given by those means.

The theoretical basis for the method was developed by the French mathematician Georges Matheron based on the Master's thesis of Danie G. Krige, the pioneering plotter of distance-weighted average gold grades at the Witwatersrand reef complex in South Africa. Krige sought to estimate the most likely distribution of gold based on samples from a few boreholes. The English verb is to krige and the most common noun is Kriging; both are often pronounced with a hard "g", following the pronunciation of the name "Krige".

Main principles

Related terms and techniques

The basic idea of Kriging is to predict the value of a function at a given point by computing a weighted average of the known values of the function in the neighborhood of the point. The method is mathematically closely related to regression analysis. Both theories derive a best linear unbiased estimator, based on assumptions on covariances, make use of Gauss-Markov theorem to prove independence of the estimate and error, and make use of very similar formulae. Even so, they are useful in different frameworks: Kriging is made for estimation of a single realization of a random field, while regression models are based on multiple observations of a multivariate data set.

The Kriging estimation may also be seen as a spline in a reproducing kernel Hilbert space, with the reproducing kernel given by the covariance function.[1] The difference with the classical Kriging approach is provided by the interpretation: while the spline is motivated by a minimum norm interpolation based on a Hilbert space structure, Kriging is motivated by an expected squared prediction error based on a stochastic model.

Kriging with polynomial trend surfaces is mathematically identical to generalized least squares polynomial curve fitting.

Kriging can also be understood as a form of Bayesian inference.[2] Kriging starts with a prior distribution over functions. This prior takes the form of a Gaussian process: N samples from a function will be normally distributed, where the covariance between any two samples is the covariance function (or kernel) of the Gaussian process evaluated at the spatial location of two points. A set of values is then observed, each value associated with a spatial location. Now, a new value can be predicted at any new spatial location, by combining the Gaussian prior with a Gaussian likelihood function for each of the observed values. The resulting posterior distribution is also Gaussian, with a mean and covariance that can be simply computed from the observed values, their variance, and the kernel matrix derived from the prior.

Geostatistical estimator

In geostatistical models, sampled data is interpreted as the result of a random process. The fact that these models incorporate uncertainty in their conceptualization doesn't mean that the phenomenon - the forest, the aquifer, the mineral deposit - has resulted from a random process, but rather it allows one to build a methodological basis for the spatial inference of quantities in unobserved locations, and to quantify the uncertainty associated with the estimator.

A stochastic process is, in the context of this model, simply a way to approach the set of data collected from the samples. The first step in geostatistical modulation is to create a random process that best describes the set of observed data.[3]

A value from location x_1 (generic denomination of a set of geographic coordinates) is interpreted as a realization z(x_1) of the random variable Z(x_1). In the space A, where the set of samples is dispersed, there are N realizations of the random variables Z(x_1), Z(x_2), \cdots, Z(x_N), correlated between themselves.

The set of random variables constitutes a random function of which only one realization is known z(x_i) - the set of observed data. With only one realization of each random variable it's theoretically impossible to determine any statistical parameter of the individual variables or the function.

The proposed solution in the geostatistical formalism consists in assuming various degrees of stationarity in the random function, in order to make possible the inference of some statistic values.[4]

For instance, if one assumes, based on the homogeneity of samples in area A where the variable is distributed, the hypothesis that the first moment is stationary (i.e. all random variables have the same mean), then one is assuming that the mean can be estimated by the arithmetic mean of sampled values. Judging such a hypothesis as appropriate is equivalent to considering the sample values sufficiently homogeneous to validate that representation.

The hypothesis of stationarity related to the second moment is defined in the following way: the correlation between two random variables solely depends on the spatial distance between them, and is independent of their location:

C(Z(x_1),Z(x_2)) = C(Z(x_i),Z(x_i+\mathbf{h})) = C(\mathbf{h})
\gamma(Z(x_1),Z(x_2)) = \gamma(Z(x_i),Z(x_i+\mathbf{h})) = \gamma(\mathbf{h})

where \mathbf{h} = (x_1,x_2) = (x_i,x_i+\mathbf{h})

This hypothesis allows one to infer those two measures - the variogram and the covariogram - based on the N samples:


where m(x_i)=\frac{1}{N(\mathbf{h})}\sum^{N(\mathbf{h})}_{i=1}Z(x_i)

Linear estimation

Spatial inference, or estimation, of a quantity Z: \mathbb{R}^n\rightarrow\mathbb{R}, at an unobserved location x_0, is calculated from a linear combination of the observed values z_i=Z(x_i) and weights w_i(x_0),\;i=1,\ldots,N:

\hat{Z}(x_0) = \begin{bmatrix}
    w_1 & w_2 & \cdots & w_N
\end{bmatrix} = \sum_{i=1}^n w_i(x_0) \times Z(x_i)

The weights w_i are intended to summarize two extremely important procedures in a spatial inference process:

  • reflect the structural "proximity" of samples to the estimation location, x_0
  • at the same time, they should have a desegregation effect, in order to avoid bias caused by eventual sample clusters

When calculating the weights w_i, there are two objectives in the geostatistical formalism: unbias and minimal variance of estimation.

If the cloud of real values Z(x_0) is plotted against the estimated values \hat{Z}(x_0), the criterion for global unbias, intrinsic stationarity or wide sense stationarity of the field, implies that the mean of the estimations must be equal to mean of the real values.

The second criterion says that the mean of the squared deviations (\hat{Z}(x)-Z(x)) must be minimal, which means that when the cloud of estimated values versus the cloud real values is more disperse, the estimator is more imprecise.


Lua error in package.lua at line 80: module 'strict' not found. Depending on the stochastic properties of the random field and the various degrees of stationarity assumed, different methods for calculating the weights can be deducted, i.e. different types of kriging apply. Classical methods are:

  • Simple Kriging assumes stationarity of the first moment over the entire domain with a known mean : E\{Z(x)\}=E\{Z(x_0)\}=m), where m is the known mean.
  • Ordinary Kriging assumes constant unknown mean only over the search neighborhood of x_0.
  • Universal Kriging assumes a general polynomial trend model, such as linear trend model E\{Z(x)\}=\sum_{k=0}^p \beta_k f_k(x).
  • IRFk-kriging assumes E\{Z(x)\} to be an unknown polynomial in x.
  • Indicator Kriging uses indicator functions instead of the process itself, in order to estimate transition probabilities.
  • Multiple-indicator kriging is a version of indicator Kriging working with a family of indicators. However, MIK has fallen out of favour as an interpolation technique in recent years. This is due to some inherent difficulties related to operation and model validation. Conditional simulation is fast becoming the accepted replacement technique in this case.
  • Disjunctive Kriging is a nonlinear generalisation of Kriging.
  • Lognormal Kriging interpolates positive data by means of logarithms.

Ordinary kriging

The unknown value Z(x_0) is interpreted as a random variable located in x_0, as well as the values of neighbors samples Z(x_i),  i=1,\cdots ,N. The estimator \hat{Z}(x_0) is also interpreted as a random variable located in x_0, a result of the linear combination of variables.

In order to deduce the Kriging system for the assumptions of the model, the following error committed while estimating Z(x) in x_0 is declared:

\epsilon(x_0) = \hat{Z}(x_0) - Z(x_0) =
\begin{bmatrix}W^T&-1\end{bmatrix} \cdot \begin{bmatrix}Z(x_i)&\cdots&Z(x_N)&Z(x_0)\end{bmatrix}^T =
\sum^{N}_{i=1}w_i(x_0) \times Z(x_i) - Z(x_0)

The two quality criteria referred to previously can now be expressed in terms of the mean and variance of the new random variable \epsilon(x_0):

Lack of bias:

Since the random function is stationary, E(Z(x_i))=E(Z(x_0))=m, the following constraint is observed:

E\left(\epsilon(x_0)\right)=0 \Leftrightarrow \sum^{N}_{i=1}w_i(x_0) \times E(Z(x_i)) - E(Z(x_0))=0 \Leftrightarrow
\Leftrightarrow m\sum^{N}_{i=1}w_i(x_0) - m=0 \Leftrightarrow \sum^{N}_{i=1}w_i(x_0) = 1 \Leftrightarrow \mathbf{1}^T \cdot W = 1

In order to ensure that the model is unbiased, the weights must sum to one.

Minimum Variance:

Two estimators can have E\left[\epsilon(x_0)\right]=0, but the dispersion around their mean determines the difference between the quality of estimators. To find an estimator with minimum variance, we need to minimize E\left(\epsilon(x_0)^2\right).

Var(\epsilon(x_0)) &= Var\left(\begin{bmatrix}W^T&-1\end{bmatrix} \cdot
\begin{bmatrix}Z(x_i)&\cdots&Z(x_N)&Z(x_0)\end{bmatrix}^T\right) =\\
&\overset{*}{=} \begin{bmatrix}W^T&-1\end{bmatrix} \cdot
Var\left(\begin{bmatrix}Z(x_i)&\cdots&Z(x_N)&Z(x_0)\end{bmatrix}^T\right) \cdot

* see covariance matrix[not in citation given] for a detailed explanation

Var(\epsilon(x_0)) \overset{*}{=} \begin{bmatrix}W^T&-1\end{bmatrix} \cdot 
\begin{bmatrix}Var_{x_i}& Cov_{x_ix_0}\\Cov_{x_ix_0}^T & Var_{x_0}\end{bmatrix} \cdot

* where the literals \left\{Var_{x_i}, Var_{x_0}, Cov_{x_ix_0}\right\} stand for 

Once defined the covariance model or variogram, C(\mathbf{h}) or \gamma(\mathbf{h}), valid in all field of analysis of Z(x), than we can write an expression for the estimation variance of any estimator in function of the covariance between the samples and the covariances between the samples and the point to estimate:

Var(\epsilon(x_0)) = W^T \cdot Var_{x_i} \cdot W - Cov_{x_ix_0}^T \cdot W - W^T \cdot Cov_{x_ix_0} + Var_{x_0}\\
Var(\epsilon(x_0)) = Cov(0) + \sum_{i}\sum_{j}w_iw_jCov(x_i,x_j) - 2 \sum_iw_iC(x_i,x_0)\end{array} \right.

Some conclusions can be asserted from this expression. The variance of estimation:

  • is not quantifiable to any linear estimator, once the stationarity of the mean and of the spatial covariances, or variograms, are assumed.
  • grows when the covariance between the samples and the point to estimate decreases. This means that, when the samples are farther away from x_0, the worse the estimation.
  • grows with the a priori variance C(0) of the variable Z(x). When the variable is less disperse, the variance is lower in any point of the area A.
  • does not depend on the values of the samples. This means that the same spatial configuration (with the same geometrical relations between samples and the point to estimate) always reproduces the same estimation variance in any part of the area A. This way, the variance does not measures the uncertainty of estimation produced by the local variable.

Kriging system

&\underset{W}{\operatorname{minimize}}& & W^T \cdot Var_{x_i} \cdot W - Cov_{x_ix_0}^T \cdot W - W^T \cdot Cov_{x_ix_0} + Var_{x_0} \\
& &\mathbf{1}^T \cdot W = 1

Solving this optimization problem (see Lagrange multipliers) results in the Kriging system:

\begin{bmatrix}\hat{W}\\\mu\end{bmatrix} = \begin{bmatrix}
Var_{x_i}& \mathbf{1}\\
\mathbf{1}^T& 0
\end{bmatrix}^{-1}\cdot \begin{bmatrix}Cov_{x_ix_0}\\ 1\end{bmatrix} = \begin{bmatrix}
\gamma(x_1,x_1) & \cdots & \gamma(x_1,x_n) &1 \\
\vdots & \ddots & \vdots  & \vdots \\
\gamma(x_n,x_1) & \cdots & \gamma(x_n,x_n) & 1 \\
1 &\cdots& 1 & 0 
\begin{bmatrix}\gamma(x_1,x^*) \\ \vdots \\ \gamma(x_n,x^*) \\ 1\end{bmatrix}

the additional parameter \mu is a Lagrange multiplier used in the minimization of the Kriging error \sigma_k^2(x) to honor the unbiasedness condition.

Simple Kriging

Lua error in package.lua at line 80: module 'strict' not found. Simple kriging is mathematically the simplest, but the least general.[5] It assumes the expectation of the random field to be known, and relies on a covariance function. However, in most applications neither the expectation nor the covariance are known beforehand.

The practical assumptions for the application of simple Kriging are:

Kriging system

The Kriging weights of simple Kriging have no unbiasedness condition and are given by the simple Kriging equation system:

\begin{pmatrix}w_1 \\ \vdots \\ w_n \end{pmatrix}=
\begin{pmatrix}c(x_1,x_1) & \cdots & c(x_1,x_n) \\
\vdots & \ddots & \vdots  \\
c(x_n,x_1) & \cdots & c(x_n,x_n) 
\begin{pmatrix}c(x_1,x_0) \\ \vdots \\ c(x_n,x_0) \end{pmatrix}

This is analogous to a linear regression of Z(x_0) on the other z_1 , \ldots, z_n.


The interpolation by simple Kriging is given by:

\hat{Z}(x_0)=\begin{pmatrix}z_1 \\ \vdots \\ z_n  \end{pmatrix}'
\begin{pmatrix}c(x_1,x_1) & \cdots & c(x_1,x_n)  \\
\vdots & \ddots & \vdots   \\
c(x_n,x_1) & \cdots & c(x_n,x_n)   
\begin{pmatrix}c(x_1,x_0) \\ \vdots \\ c(x_n,x_0)\end{pmatrix}

The Kriging error is given by:

\underbrace{\begin{pmatrix}c(x_1,x_0) \\ \vdots \\ c(x_n,x_0)\end{pmatrix}'
c(x_1,x_1) & \cdots & c(x_1,x_n)  \\
\vdots & \ddots & \vdots  \\
c(x_n,x_1) & \cdots & c(x_n,x_n) 
\begin{pmatrix}c(x_1,x_0) \\ \vdots \\ c(x_n,x_0) \end{pmatrix}}_{\mathrm{Var}(\hat{Z}(x_0))}

which leads to the generalised least squares version of the Gauss-Markov theorem (Chiles & Delfiner 1999, p. 159):



Lua error in package.lua at line 80: module 'strict' not found. (Cressie 1993, Chiles&Delfiner 1999, Wackernagel 1995)

  • The Kriging estimation is unbiased: E[\hat{Z}(x_i)]=E[Z(x_i)]
  • The Kriging estimation honors the actually observed value: \hat{Z}(x_i)=Z(x_i) (assuming no measurement error is incurred)
  • The Kriging estimation \hat{Z}(x) is the best linear unbiased estimator of Z(x) if the assumptions hold. However (e.g. Cressie 1993):
    • As with any method: If the assumptions do not hold, Kriging might be bad.
    • There might be better nonlinear and/or biased methods.
    • No properties are guaranteed, when the wrong variogram is used. However typically still a 'good' interpolation is achieved.
    • Best is not necessarily good: e.g. In case of no spatial dependence the Kriging interpolation is only as good as the arithmetic mean.
  • Kriging provides \sigma_k^2 as a measure of precision. However this measure relies on the correctness of the variogram.


Lua error in package.lua at line 80: module 'strict' not found. Although Kriging was developed originally for applications in geostatistics, it is a general method of statistical interpolation that can be applied within any discipline to sampled data from random fields that satisfy the appropriate mathematical assumptions.

To date Kriging has been used in a variety of disciplines, including the following:

Design and analysis of computer experiments

Another very important and rapidly growing field of application, in engineering, is the interpolation of data coming out as response variables of deterministic computer simulations,[19] e.g. finite element method (FEM) simulations. In this case, kriging is used as a metamodeling tool, i.e. a black box model built over a designed set of computer experiments. In many practical engineering problems, such as the design of a metal forming process, a single FEM simulation might be several hours or even a few days long. It is therefore more efficient to design and run a limited number of computer simulations, and then use a kriging interpolator to rapidly predict the response in any other design point. Kriging is therefore used very often as a so-called surrogate model, implemented inside optimization routines.[20]

See also


  1. Lua error in package.lua at line 80: module 'strict' not found.
  2. Lua error in package.lua at line 80: module 'strict' not found.
  3. Soares 2006, p.18
  4. Matheron G. 1978
  5. Olea, R.A. (1999) Geostatistics for engineers and earth scientists. Kluwer Academic Publishers.
  6. Lua error in package.lua at line 80: module 'strict' not found.
  7. Chiles, J.-P. and P. Delfiner (1999) Geostatistics, Modeling Spatial Uncertainty, Wiley Series in Probability and statistics.
  8. Lua error in package.lua at line 80: module 'strict' not found.
  9. Lua error in package.lua at line 80: module 'strict' not found.
  10. Journel, A.G. and C.J. Huijbregts (1978) Mining Geostatistics, Academic Press London
  11. Lua error in package.lua at line 80: module 'strict' not found.
  12. Goovaerts (1997) Geostatistics for natural resource evaluation, OUP. ISBN 0-19-511538-4
  13. Lua error in package.lua at line 80: module 'strict' not found.
  14. Lua error in package.lua at line 80: module 'strict' not found.
  15. Barris, J. (2008) An expert system for appraisal by the method of comparison. PhD Thesis, UPC, Barcelona
  16. Barris, J. and Garcia Almirall, P. (2010) A density function of the appraisal value, UPC, Barcelona
  17. Oghenekarho Okobiah, Saraju Mohanty, and Elias Kougianos (2013) Geostatistical-Inspired Fast Layout Optimization of a Nano-CMOS Thermal Sensor, IET Circuits, Devices and Systems (CDS), Vol. 7, No. 5, Sep 2013, pp. 253--262.
  18. S. Koziel and J.W. Bandler, "Accurate modeling of microwave devices using kriging-corrected space mapping surrogates," Int. J. Numerical Modelling, vol. 25, no. 1, pp. 1-14, Jan./Feb. 2012.
  19. Lua error in package.lua at line 80: module 'strict' not found.
  20. Lua error in package.lua at line 80: module 'strict' not found.

Further reading

Lua error in package.lua at line 80: module 'strict' not found.

Historical references

  1. Agterberg, F P, Geomathematics, Mathematical Background and Geo-Science Applications, Elsevier Scientific Publishing Company, Amsterdam, 1974
  2. Cressie, N. A. C., The Origins of Kriging, Mathematical Geology, v. 22, pp 239–252, 1990
  3. Krige, D.G, A statistical approach to some mine valuations and allied problems at the Witwatersrand, Master's thesis of the University of Witwatersrand, 1951
  4. Link, R F and Koch, G S, Experimental Designs and Trend-Surface Analsysis, Geostatistics, A colloquium, Plenum Press, New York, 1970
  5. Matheron, G., "Principles of geostatistics", Economic Geology, 58, pp 1246–1266, 1963
  6. Matheron, G., "The intrinsic random functions, and their applications", Adv. Appl. Prob., 5, pp 439–468, 1973
  7. Merriam, D F, Editor, Geostatistics, a colloquium, Plenum Press, New York, 1970


  • Abramowitz, M., and Stegun, I. (1972), Handbook of Mathematical Functions, Dover Publications, New York.
  • Banerjee, S., Carlin, B.P. and Gelfand, A.E. (2004). Hierarchical Modeling and Analysis for Spatial Data. Chapman and Hall/CRC Press, Taylor and Francis Group.
  • Chiles, J.-P. and P. Delfiner (1999) Geostatistics, Modeling Spatial uncertainty, Wiley Series in Probability and statistics.
  • Cressie, N (1993) Statistics for spatial data, Wiley, New York
  • David, M (1988) Handbook of Applied Advanced Geostatistical Ore Reserve Estimation, Elsevier Scientific Publishing
  • Deutsch, C.V., and Journel, A. G. (1992), GSLIB - Geostatistical Software Library and User's Guide, Oxford University Press, New York, 338 pp.
  • Goovaerts, P. (1997) Geostatistics for Natural Resources Evaluation, Oxford University Press, New York ISBN 0-19-511538-4
  • Isaaks, E. H., and Srivastava, R. M. (1989), An Introduction to Applied Geostatistics, Oxford University Press, New York, 561 pp.
  • Journel, A. G. and C. J. Huijbregts (1978) Mining Geostatistics, Academic Press London
  • Journel, A. G. (1989), Fundamentals of Geostatistics in Five Lessons, American Geophysical Union, Washington D.C.
  • Lua error in package.lua at line 80: module 'strict' not found.. Also, "Section 15.9. Gaussian Process Regression".
  • Soares, A. (2000), Geoestatística para as Ciências da Terra e do Ambiente, IST Press, Lisbon, ISBN 972-8469-46-2
  • Stein, M. L. (1999), Statistical Interpolation of Spatial Data: Some Theory for Kriging, Springer, New York.
  • Wackernagel, H. (1995) Multivariate Geostatistics - An Introduction with Applications, Springer Berlin


  • R packages
  1. gstat - spatial and spatio-temporal geostatistical modelling, prediction and simulation
  2. RandomFields - simulation and analysis of random fields
  3. BACCO - Bayesian analysis of computer code software
  4. tgp - Treed Gaussian processes
  5. DiceDesign, DiceEval, DiceKriging, DiceOptim - metamodeling packages of the Dice Consortium
  • Matlab/GNU Octave
  1. mGstat - Geostistics toolbox for Matlab.
  2. DACE - Design and Analysis of Computer Experiments. A matlab kriging toolbox.
  3. ooDACE - A flexible object-oriented Kriging matlab toolbox.
  4. GPML - Gaussian Processes for Machine Learning.
  5. STK - Small (Matlab/GNU Octave) Toolbox for Kriging for design and analysis of computer experiments.
  6. scalaGAUSS - Matlab kriging toolbox with a focus on large datasets
  • Scilab
  1. DACE-Scilab - Scilab port of the DACE kriging matlab toolbox
  2. krigeage - Kriging toolbox for Scilab
  3. KRISP - Kriging based regression and optimization package for Scilab
  • Python
  1. scikit-learn - machine learning in Python
  2. pyKriging - An Engineering Kriging toolkit in Python