0% found this document useful (0 votes)
41 views2 pages

Kriging Functionality Leapfrog

Uploaded by

yewoyig819
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
41 views2 pages

Kriging Functionality Leapfrog

Uploaded by

yewoyig819
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 2

Kriging Functionality

Kriging is an algorithm that uses a geostatistical model to estimate a value based on nearby sample data. The kriging estimate is expressed as a
linear combination of the function values where the kriging weights are based on solving a linear system derived from an appropriate chosen
variogram model. (See https://en.wikipedia.org/wiki/Kriging for how it works).

Leapfrog supports two forms of kriging, simple kriging where the mean across the entire domain is given as an input and ordinary kriging where a
local mean is used for the estimate based around the selected sample data. Leapfrog also supports two different ways of evaluating the estimate,
point kriging where the estimate is a value for a single location in space (the block centroid in the case of a block model) and block kriging where
sampling is used to determine a value that is statistically an average value across the whole block.

Neighbourhoods
The geostatiscal assumptions that are used in kriging are generally only valid on a local region around the evaluation point. For this reason the
estimate is calculated only using nearby data. That nearby data is called the neighbourhood of the point and is selected by a search procedure.
Currently Leapfrog has a fairly simple search procedure, it looks for samples in an ellipsoid window (that doesn't have to lineup with the
variogram model) and has a min and max count limit. If there are too many points inside the window then the points are calculated based on the
search ellipsoid distance.

Depending on the input and evaluation geometry it is possible for there to be ties when it comes to the distance and so if there are too
many points then a choice needs to be made. At present our search code doesn't detect this situation (relatively easy), and it isn't clear
how it picks which equidistant points to use. Deciding on how best to resolve these cases is pretty tricky but fortunately they're unlike to
occur much in practice. If it does happen then it could explain why our code is producing different values from other packages.
Some other codes may use other ways for determining which points to use. SGeMs for instance uses the variogram values.

There are three additional attributes that relate to the neighbourhood that can be calculated when kriging (at this point just on blocks):

1. The number of samples in the neighbourhood (NS).


2. The distance to the closest sample (MinD). The reported distance is a cartesian (isotropic) distance rather than the ellipsoid distance.
3. The average distance to a sample (AvgD). Again this is using the cartesian distance.

Covariance functions
The solution found by kriging is optimal in the sense it has the minimum statistical variance (according to the variogram model) of any valid linear
combination. That variance is known as the kriging variance and is an important value for assessing the quality of estimate. The minimum
variance condition and the conditions, can be expressed as conditions on the partial derivatives of the estimate which leads to a linear system,
which can be expressed as a matrix equation.

While the user-interface expresses the spatial variability in terms of a variogram model, the internal calculations use the related covariance
function which is given as Cov = Cov(0) - Vario, where Cov(0) = TS, and is the total sill as exposed by the UI. The covariance version is used
internally in the calculation engine for better algorithmic stability.

The covariance function is used to calculate the entries in the matrix and also the right-hand-side vector. The sample values are not used at all in
this system. This means that the kriging weights are entirely dependent on the sample geometry (and the variogram model) and not the sample
values. Likewise, the kriging variance doesn't depend on the sample values.

Evaluation volume covariance


Some of the additional calculations that can be calculated when kriging involve a value called the Cvv value. This value is the covariance
between the target volume and itself. It is a constant that depends only on the geometry of the evaluation volume and the covariance function.

For point kriging this value is equal to Cvv = Cov(0) = TS.

For block kriging, the value is found by averaging the covariance function over pairs of discretisation points. As this mean value is an
approximation to the mean value of a double integral some care has to be taken when considering how to handle the terms where both elements
in the pair are the same point. Isatis works around this by using a second random discretisation of the block volume, whereas GSLIB instead
considers those terms to be between two different points with a distance of 0. Leapfrog uses the same approach as GSLIB which ensures a
consistent deterministic value (although it will depend on the discretisation sampling).

The Cvv value is also an estimate of the a priori block dispersion variance.

Kriging system outputs


The main output of the kriging system is the estimate itself. As each estimate is a linear combination of the sample values (with a contribution
from the input mean in the simple kriging case), the estimated values produced by kriging should be similar to those input values.

As well as the estimated value, there are three additional attributes that directly relate to the matrix system that can be calculated when kriging,
they are:

1. The kriging variance (KV), As this is a variance it must be non-negative. It grows when the covariance between the samples and the
point to estimate decreases. This means that, when the samples are farther away from the evaluation point, the worse the estimation.
For simple kriging, the value is capped by the Cvv value and for ordinary kriging, higher values indicate a very poor value.
2. The sum of weights (Sum). This is simply the sum of the kriging weights. For ordinary kriging the sum is constrained to being equal to 1.
3. The sum of negative weights (SumN). Negative weights are to be avoided or at least minimised. If there are negative weights it is
possible that the estimated value may be outside the range of the sample values. If the sum of negative weights is significantly large
(when compared to the total sum) then it could result in a poorly estimated value depending on the sample values.

There are two common derived values that are used in the industry that can be calculated when doing kriging:

1. The kriging efficiency (KE). This value was introduced in 1996 by Daniel Krige himself. It is calculated based on the block variance (BV)
and kriging variance through the simple formula: KE = (BV - KV) / BV. As such it should be 1 when the kriging variance is at is minimum
and 0 when KV = BV. For the block variance, Leapfrog (and GSLIB) follow Krige himself and use the (block) dispersion variance (the Cvv
value), but other values may be used in other software. While this value is usually only calculated for block kriging, Leapfrog also
calculates it for point kriging using the point Cvv value.
2. The slope of (linear) regression (SoR). This value is the slope of a linear regression of the actual value knowing the estimated value. For
simple kriging it is identically 1, and for ordinary kriging a value of 1 is desired as it indicates that the resulting estimate is conditionally
unbiased. Conditional bias is to be avoided as it increases the chance that blocks will be misclassified when considering a cutoff grade.
Using the notation above this is given as SoR = (BV - KV + LM) / (BV - KV + 2*LM) where LM is the lagrange multiplier determined when
solving the system in variogram form (or negative the lagrange multiplier when solving in covariance form). Our implementation is based
on the formula used by Isatis and GSLIB, and it can produce SoR values above 1. Some references (eg Jacqui Coombes in the Art and
Science of Resource Estimation) will use the absolute values of the lagrange multiplier which results in a SoR <=1 and this maybe the
formula implemented in other packages.

The final that can be calculated when kriging is the kriging mean (KM). For simple kriging this is the specified global mean. For ordinary kriging it
is the unknown locally constant mean that is assumed when forming the kriging equations. This value is only dependent on the covariance
function and the sample locations and values for the chosen neighbourhood. It doesn't depend on the evaluation volume and thus doesn't change
when doing block vs point kriging. It isn't usually calculated as part of the kriging process by other packages but can give some indication of
suitability of the assumptions when doing ordinary kriging. Theoretically, ordinary kriging can be broken down into a process of estimating the
known constant mean and then doing simple kriging against that (locally varying) mean value.

Older version of Leapfrog also calculated the normalisation estimation variance (NEV). This was a rescaling of the kriging variance to make it
more amenable for comparison across estimates. Once block kriging was added and the kriging efficiency was calculated, the NEV values were
removed as they were mathematically identical to the calculated kriging efficiency values.

You might also like