Estimation algorithms
Tip 1 Joint-estimation of several attributes
17. MM2 parameters The coefficient of correlation between the primary and secondary variables is entered in [ MM2 Correl Z1Z2] . The variogram of the
sec-ondary attribute is given by [MM2 Variogram C22]. Only required if Cokriging Option [Cokriging Type]is set to MM2.
Example
Simple cokriging with the MM1 model is used to estimate the Ely1 point-set with the exhaustive secondary variable data shown in Fig.4.1. The parameters related to the primary attribute (minimum and maximum conditioning data, search neighbor-hood and variogram) are the same as with the kriging example shown in Fig.7.3.
The MM1 model is parametrized with a coefficient of correlation 0.71 between primary and secondary variables; the variance of the secondary variable is set at 1.15. Another approach to integrating the secondary variable consists in model-ing the local mean of the primary attribute by a linear regression of the secondary variable. This local mean is then input to a kriging with local varying mean to esti-mate the primary variable. Figure7.8shows the results of the cokriging and LVM approaches, all common parameters between the two algorithms being identical.
7.4 BKRIG: block kriging estimation
BKRIGis an algorithm for kriging estimation conditioned to both point and block support data (Goovaerts,1997, p.152;Liu,2007). The theory of kriging with linear
7.4 BKRIG: block kriging estimation 123 averaged (block) data is recalled in Section3.6.3. In this section we present codes that deal with some implementation issues specific to using block data.
Data error incorporation
In practice, observed data D (whether point data DP or block average data DB) are often associated with some noise or error, coming from measurement and sub-jective data interpretation among others. Since interpreted block average data tend to be more affected by error, only errors associated with block data are considered here. Thus:
DP(uα)= Z(uα) (7.3)
DB(vα)= B(vα)+ R(vα) (7.4) where Z(uα)is the point data value at location uα. B(vα)is the “true” block data value at block location vα and R(vα)is the error term associated with it.
The error R(vα) may depend on the signal B(vα), an heteroscedastic situa-tion, and it may also correlate from one block to another (Koch and Link,1970;
Bourgault, 1994). Here the block errors are assumed homoscedastic and not cross-correlated:
R(vα)⊥B(vβ), ∀vα,vβ (7.5)
R(vα)⊥R(vβ), ∀vα,vβ. (7.6) Also, assume the following properties of the block data errors (Journel and Huijbregts,1978;Liu and Journel,2005;Hansen et al.,2006):
• zero mean: E{R(vα)} = 0, ∀vα,
• known variance: Var{R(vα)} = σR2(vα), which could be obtained from a prior calibration; note that this variance can vary from block to block,
• hence the error covariance is a known diagonal covariance matrix:
CR = [Cov{R(vα),R(uβ)}] =
2 [σR2(vα)] if vα = vβ
[0] if vα ̸= vβ . (7.7) If the point data are assumed error-free, the three sub-matrices CP P, ¯CP B and
¯CtP B in Eq. (3.30) are unchanged. Only errors associated with block data are considered, the block-to-block covariance in the matrix K of system (3.30) is then written:
¯CBαBβ =+
Cov{DB(vα),DB(vβ)},
=+ ¯CB(vα,vβ)+ 2 ¯CB R(vα,vβ)+ CR(vα,vβ),
. (7.8)
If the data errors are assumed independent of signal (Eq. (7.5)) and uncorrelated (Eq. (7.6)), and if the errors are assumed to have known variance σR2(vα) (see Eq. (7.7)), expression (7.8) then becomes:
¯CBαBβ =2 + ¯CB(0) + σR2(vα),
if vα = vβ + ¯CB(vα,vβ) ,
if vα ̸= vβ. (7.9)
As for the covariance vector k in Eq. (3.30), it is not affected by the error variance since the errors are assumed independent of the signals.
Therefore, the error impact can be incorporated into the kriging system by adding the error variances, σR2(vα), as additional diagonal terms in the data-to-data covariance matrix on the left-hand side of the kriging system (3.30).
Point and block covariance calculation
Four types of covariances are needed in kriging (and simulation) algorithms involving block data (such as BKRIG, BSSIM in Section 8.1.7 and BESIM in Section8.1.8): the point-to-point covariance CP P′, the point-to-block covariance
¯
CP B, the block-to-point covariance ¯CB P and the block-to-block covariance ¯CB B′, see kriging system Eq. (3.30). The point covariance CP P′ is obtained through a precomputed covariance look-up table; the block average covariances ( ¯CP B, ¯CB P
and ¯CB B′) are computed through either a traditional integration method or an FFT-integration method.
Point covariance look-up table In algorithms such as KRIGING (Section7.1), the covariance between any two points is calculated through the specified analytical variogram or covariance model. Instead of repeatedly calculating such covari-ance values, calculations can be done only once and the results stored in a point covariance look-up table. This point covariance look-up table is implemented as a covariance map (Goovaerts,1997, p.99;Deutsch and Journel, 1998, p.36). For example, for a 2D field of size M × N, all point covariances possibly used are contained in a covariance map of size 2M × 2N with at its center the variance value C(0). This covariance map is computed only once and stored. Look-up is performed whenever a covariance value is needed.
Two approaches for block covariance calculation A fast yet accurate block aver-age covariance calculation is critical for any geostatistical algorithm involving block data. Two different approaches are proposed: the traditional integration method and an FFT-integration hybrid method.
In the traditional method, the block average covariance is calculated by aver-aging the point covariances. In its discrete form, this is written as (Journel and Huijbregts,1978;Goovaerts,1997, p.156):
7.4 BKRIG: block kriging estimation 125 covariance between block B and B′. Pi is one of the n point nodes discretizing block B and P′j is one of the n′ point nodes discretizing block B′. With a large number of block data and with dense block discretization, such direct calculation of block covariance would be very CPU expensive. Test results show that the block covariance calculation could account for more than 90% of the total simulation time. However, if there is a small number of blocks, this traditional integration approach is acceptable.
The FFT-integration hybrid method is a much more efficient algorithm. The basic idea of this algorithm is as follows. A symmetric circulant covariance matrix with circulant block sub-matrices is constructed from the covariance model and matrix. This circulant block covariance has many interesting features. Most notably, the whole covariance matrix can be fully retrieved by the single first row of block sub-matrices, entailing low memory cost; the multiplication with other matrix or vector can be achieved by a spectral convolution approach, entailing fast computations. Similarly, the block-to-point covariance map can be obtained by fast matrix multiplication via Fourier transform. Next, a classical averaging is applied to calculate the block-to-block covariances. See more details about this method in Dietrich and Newsam(1993);Nowak et al.(2003); Kyriakidis et al.(2005); Liu et al.(2006a). Availability of a fast FFT program is critical: the programFFTW, developed byFrigo and Johnson(2005), is used.
The basic implementation work-flow for computing the block-to-block covari-ance using this hybrid method is given in Algorithm7.5.
Block data input
All block information is imported from a file. The file format is shown in Fig.7.9.
The first line is a description line giving any general information about block data.
The second line is the number of blocks. Information related to each block follows.
For each block section, the first line is the block name, followed by the block average value and the block error variance, and finally the coordinates of the points discretizing the block.
Algorithm 7.5 Block covariance calculation using FFT-integration