Geochemical anomalies are likely to occur under specific geological conditions, such as fault zones, and localized anomalies might be neglected globally. Thus, the global search of anomalies is less effective. To solve this problem, we propose a local correlation coefficient based on a spatial neighbourhood to reflect the global distribution of elements.
We refer to a pair of elements as relational elements if there is an anomalous relationship between them. A set of relational elements form a candidate set C, which is denoted as follows,
Among them, e1 is the key ore-forming element, and e2, e3 and e4 are related elements. e2, e3 and e4 can be related to e1 independently or as an assemblage. The first step of our algorithm is to determine the candidate set of e1. There are many ways to determine the relationship between them, such as R-type clustering, PCA, ICA and other component analysis methods. In this paper, the R-type clustering method is used to determine the candidate set of ore-forming elements.
Having obtained the candidate set, we are able to construct distribution matrices of relational elements. Specifically, we fill the matrices through coordinate mapping because the elements are distributed in the form of planes. Based on the matrices, the local correlation coefficient is computed by a kernel sliding over them.
To clarify the process, let X and Y be matrices with the shape of m×n, as we have m×n samples in total. The local correlation coefficients are then calculated on X and Y through a sliding kernel with the size of k×k (k < m, k < n).
We perform grid partitioning to handle the samples that deviate from a straight line, as shown in Fig. 1, where the area framed by the red kernel is the target of correlation computation. The window slides over the scene in row order with the step of a blue block. The local correlation is computed for one step each time, and grids containing less than one sample are ignored.
Figure 1. Grid partition, each area outlined in red has a shape of 3℅3 is the area for correlating the correlation coefficient. The blue box is the length of the step for each calculation.
The K located at Xij in X is denoted as K(Xij) and K(Yij) in Y. The size of the kernel K determines the coverage of each local correlation coefficient. Affected by the terrain, the samples are hard to align to a line. The number of sampling lines is far smaller than the number of samples on each line. If K is too large, the area that a kernel covers will be too large, and more details of the local correlation will be ignored. In extreme cases, if the size of K is the same as that of the whole sampling area, the global correlation that would be calculated. Therefore, the size of the K should be as small as possible. In addition, the size of the kernel should be odd to obtain a single centre. Considering the two mentioned factors for deciding a size of K, here it should be 3×3.
Since the data are not normally distributed, the Spearman correlation coefficient, which has no requirement of a normal distribution, is adopted to obtain the correlation of two regions. It is formulated as follows,
where X and Y are the values of the elements in kernel K.
After K traverses the all X and Y pairs and the correlation coefficient is calculated, a local correlation matrix is obtained. We denote LC as the local correlation matrix, as shown in (5). It has the local correlation value of the two elements we selected. The higher the value is, the stronger the correlation is between two elements.
The algorithm process of local correlation coefficients is shown in Table 1.
Algorithm 1 Local correlation Require: Two sampling elements X and Y; the kernel size k; Ensure: local correlation LC; 1: Grid partition on sampling area. Map the elements into the matrix X and Y. There are m * n boxes in matrix X and Y; 2: Determine the related elements C; 3: for i=1 to m do 4: for j=1 to n do 5: for Each element in the box whose centre is [i, j] do 6: if There exists elements in the box LS then 7: Put the element in X into LC1. 8: Put the element in Y into LC2. 9: end if 10: end for 11: if The size of LC1 or LC2 is less than 1 then 12: continue 13: else 14: LC[i, j] < =Corr(LC1, LC2) 15: end if 16: end for 17: end for 18: return LC.
Table 1. Algorithm 1 Local correlation