
Ordinary kriging with a Prasad-Rao corrected prediction error
Source:R/schaben_native.R
morie_kriging_pred_error.RdThe plug-in kriging variance is not the prediction error of the predictor actually in use. Substituting an estimated \(\theta\) into the predictor gives an EBLUP, which is no longer best, while substituting into the variance formula gives the prediction error of a DIFFERENT predictor - the one that would apply had \(\theta\) been known. Schabenberger & Gotway are blunt that this "can be substantially biased", and always downward.
Usage
morie_kriging_pred_error(
coords,
z,
target,
model = "exponential",
nugget = NULL,
psill = NULL,
rng = NULL,
jitter = 0.05,
n_jitter = 24L,
seed = 0L
)Arguments
- coords, z
As in
morie_cressie_hawkins().- target
Matrix of prediction locations.
- model
Covariance model name.
- nugget, psill, rng
Covariance parameters; estimated by weighted least squares when any is NULL.
- jitter, n_jitter, seed
Controls for approximating \(B\).
Details
Kackar & Harville (1984) supply the missing term \(\mathrm{tr}\{A(\theta)B(\theta)\}\); evaluating it at \(\hat\theta\) removes only half the bias, so Prasad & Rao's approximately unbiased form, equation (5.53), doubles the correction.
References
Schabenberger O, Gotway CA (2005), Sec 5.5.4, eq (5.51)-(5.53), pp. 263-266. Kackar RN, Harville DA (1984). Prasad NGN, Rao JNK (1990).
Examples
morie_kriging_pred_error(coords = c(1, 2, 3, 4, 5, 6, 7, 8), z = c(1, 2, 3, 4, 5, 6, 7, 8),
target = c(1, 2, 3, 4, 5, 6, 7, 8))
#> $prediction
#> [1] 3.793158 3.913417 4.116060 4.366758 4.633242 4.883940 5.086583 5.206842
#>
#> $mse
#> [1] 10.531260 9.125408 8.304942 7.927512 7.927613 8.305162 9.125524
#> [8] 10.531423
#>
#> $se
#> [1] 3.245190 3.020829 2.881830 2.815584 2.815602 2.881868 3.020848 3.245215
#>
#> $mse_plugin
#> [1] 10.529175 9.124084 8.304321 7.927307 7.927368 8.304443 9.124084
#> [8] 10.529175
#>
#> $correction
#> [1] 0.0020852090 0.0013233412 0.0006208559 0.0002045468 0.0002444648
#> [6] 0.0007191250 0.0014398652 0.0022485779
#>
#> $parameters
#> $parameters$nugget
#> [1] 1.968667e-07
#>
#> $parameters$psill
#> [1] 519113388022
#>
#> $parameters$range
#> [1] 1.393558e+12
#>
#>
#> $parameters_estimated
#> [1] TRUE
#>
#> $model
#> [1] "exponential"
#>
#> $n
#> [1] 8
#>
#> $n_target
#> [1] 8
#>
#> $method
#> [1] "Ordinary kriging with Prasad-Rao corrected prediction error"
#>