Skip To Content

Empirical Bayesian Kriging

Available with Geostatistical Analyst license.

Summary

Empirical Bayesian kriging is an interpolation method that accounts for the error in estimating the underlying semivariogram through repeated simulations.

What is Empirical Bayesian Kriging?

Usage

  • This kriging method can handle moderately nonstationary input data.

  • Only Standard Circular and Smooth Circular Search neighborhoods are allowed for this interpolation method.

  • The Smooth Circular option for Search neighborhood will substantially increase the execution time.

  • The larger the Maximum number of points in each local model and Local model overlap factor values, the longer the execution time. Applying a Data transformation will also significantly increase execution time.

  • To avoid running out of memory, the software may limit the number of CPU cores that can be used for parallel processing.

  • If the input data is in a geographic coordinate system, all distances will be calculated using chordal distances. For more information on chordal distances, see the Distance calculations for data in geographic coordinates section of the on the What is Empirical Bayesian Kriging help topic.

Syntax

EmpiricalBayesianKriging_ga (in_features, z_field, {out_ga_layer}, {out_raster}, {cell_size}, {transformation_type}, {max_local_points}, {overlap_factor}, {number_semivariograms}, {search_neighborhood}, {output_type}, {quantile_value}, {threshold_type}, {probability_threshold}, {semivariogram_model_type})
ParameterExplanationData Type
in_features

The input point features containing the z-values to be interpolated.

Feature Layer
z_field

Field that holds a height or magnitude value for each point. This can be a numeric field or the Shape field if the input features contain z-values or m-values.

Field
out_ga_layer
(Optional)

The geostatistical layer produced. This layer is required output only if no output raster is requested.

Geostatistical Layer
out_raster
(Optional)

The output raster. This raster is required output only if no output geostatistical layer is requested.

Raster Dataset
cell_size
(Optional)

The cell size at which the output raster will be created.

This value can be explicitly set in the Environments by the Cell Size parameter.

If not set, it is the shorter of the width or the height of the extent of the input point features, in the input spatial reference, divided by 250.

Analysis Cell Size
transformation_type
(Optional)

Type of transformation to be applied to the input data.

  • NONEDo not apply any transformation. This is the default.
  • EMPIRICALMultiplicative Skewing transformation with Empirical base function.
  • LOGEMPIRICALMultiplicative Skewing transformation with Log Empirical base function. All data values must be positive. If this option is chosen, all predictions will be positive.
String
max_local_points
(Optional)

The input data will automatically be divided into groups that do not have more than this number of points.

Long
overlap_factor
(Optional)

A factor representing the degree of overlap between local models (also called subsets). Each input point can fall into several subsets, and the overlap factor specifies the average number of subsets that each point will fall into. A high value of the overlap factor makes the output surface smoother, but it also increases processing time. Typical values vary between 0.01 and 5.

Double
number_semivariograms
(Optional)

The number of simulated semivariograms of each local model.

Long
search_neighborhood
(Optional)

Defines which surrounding points will be used to control the output. Standard Circular is the default.

The following are Search Neighborhood classes: SearchNeighborhoodStandardCircular and SearchNeighborhoodSmoothCircular.

Standard Circular

  • radius—The length of the radius of the search circle.
  • angle—The angle of rotation for the axis (circle) or semimajor axis (ellipse) of the moving window.
  • nbrMax—The maximum number of neighbors that will be used to estimate the value at the unknown location.
  • nbrMin—The minimum number of neighbors that will be used to estimate the value at the unknown location.
  • sectorType—The geometry of the neighborhood.
    • ONE_SECTOR—Single ellipse.
    • FOUR_SECTORS—Ellipse divided into four sectors.
    • FOUR_SECTORS_SHIFTED—Ellipse divided into four sectors and shifted 45 degrees.
    • EIGHT_SECTORS—Ellipse divided into eight sectors.

Smooth Circular

  • radius—The length of the radius of the search circle.
  • smoothFactor—The Smooth Interpolation option creates an outer ellipse and an inner ellipse at a distance equal to the Major Semiaxis multiplied by the Smoothing factor. The points that fall outside the smallest ellipse but inside the largest ellipse are weighted using a sigmoidal function with a value between zero and one.
Geostatistical Search Neighborhood
output_type
(Optional)

Surface type to store the interpolation results.

For more information about the output surface types, see What output surface types can the interpolation models generate?

  • PREDICTIONPrediction surfaces are produced from the interpolated values.
  • PREDICTION_STANDARD_ERROR Standard Error surfaces are produced from the standard errors of the interpolated values.
  • PROBABILITYProbability surface of values exceeding or not exceeding a certain threshold.
  • QUANTILEQuantile surface predicting the specified quantile of the prediction distribution.
String
quantile_value
(Optional)

The quantile value for which the output raster will be generated.

Double
threshold_type
(Optional)

Specifies whether to calculate the probability of exceeding or not exceeding the specified threshold.

  • EXCEEDProbability values exceed the threshold. This is the default.
  • NOT_EXCEEDProbability values will not exceed the threshold.
String
probability_threshold
(Optional)

The probability threshold value. If left empty, the median (50th quantile) of the input data will be used.

Double
semivariogram_model_type
(Optional)

The semivariogram model that will be used for the interpolation.

  • POWERPower semivariogram
  • LINEARLinear semivariogram
  • THIN_PLATE_SPLINEThin Plate Spline semivariogram
  • EXPONENTIALExponential semivariogram
  • EXPONENTIAL_DETRENDEDExponential semivariogram with first order trend removal
  • WHITTLEWhittle semivariogram
  • WHITTLE_DETRENDEDWhittle semivariogram with first order trend removal
  • K_BESSELK-Bessel semivariogram
  • K_BESSEL_DETRENDEDK-Bessel semivariogram with first order trend removal

The available choices depend on the value of the transformation_type parameter. If the transformation type is set to , only the first three semivariograms are available. If the type is EMPIRICAL or LOGEMPIRICAL, the last six semivariograms are available.

For more information about choosing an appropriate semivariogram for your data, see the topic What is Empirical Bayesian Kriging.

String

Code sample

EmpiricalBayesianKriging example 1 (Python window)

Interpolate a series of point features onto a raster.

import arcpy
arcpy.EmpiricalBayesianKriging_ga("ca_ozone_pts", "OZONE", "outEBK", "C:/gapyexamples/output/ebkout",
                                  10000, "NONE", 50, 0.5, 100,
                                  arcpy.SearchNeighborhoodStandardCircular(300000, 0, 15, 10, "ONE_SECTOR"),
                                  "PREDICTION", "", "", "", "LINEAR")
EmpiricalBayesianKriging example 2 (stand-alone script)

Interpolate a series of point features onto a raster.

# Name: EmpiricalBayesianKriging_Example_02.py
# Description: Bayesian kriging approach whereby many models created around the
#   semivariogram model estimated by the restricted maximum likelihood algorithm is used.
# Requirements: Geostatistical Analyst Extension
# Author: Esri

# Import system modules
import arcpy

# Set environment settings
arcpy.env.workspace = "C:/gapyexamples/data"

# Set local variables
inPointFeatures = "ca_ozone_pts.shp"
zField = "ozone"
outLayer = "outEBK"
outRaster = "C:/gapyexamples/output/ebkout"
cellSize = 10000.0
transformation = "EMPIRICAL"
maxLocalPoints = 50
overlapFactor = 0.5
numberSemivariograms = 100
# Set variables for search neighborhood
radius = 300000
smooth = 0.6
searchNeighbourhood = arcpy.SearchNeighborhoodSmoothCircular(radius, smooth)
outputType = "PREDICTION"
quantileValue = ""
thresholdType = ""
probabilityThreshold = ""
semivariogram = "K_BESSEL"

# Execute EmpiricalBayesianKriging
arcpy.EmpiricalBayesianKriging_ga(inPointFeatures, zField, outLayer, outRaster,
                                  cellSize, transformation, maxLocalPoints, overlapFactor, numberSemivariograms,
                                  searchNeighbourhood, outputType, quantileValue, thresholdType, probabilityThreshold,
                                  semivariogram)

Licensing information

  • ArcGIS Desktop Basic: Requires Geostatistical Analyst
  • ArcGIS Desktop Standard: Requires Geostatistical Analyst
  • ArcGIS Desktop Advanced: Requires Geostatistical Analyst

Related topics