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.

## 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. The maximum number of cores that can be used will be determined based on the subset size, the semivariogram model type, the operating system of your computer, and whether the tool is run with 32-bit or 64-bit processing. By installing the Background Geoprocessing (64 bit) product and enabling background geoprocessing, you may be able to successfully run the tool.

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

arcpy.ga.EmpiricalBayesianKriging(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})

Parameter | Explanation | Data 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 under Raster Analysis from the Environment Settings. 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. - NONE —Do not apply any transformation. This is the default.
- EMPIRICAL —Multiplicative Skewing transformation with Empirical base function.
- LOGEMPIRICAL —Multiplicative 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? - PREDICTION —Prediction surfaces are produced from the interpolated values.
- PREDICTION_STANDARD_ERROR — Standard Error surfaces are produced from the standard errors of the interpolated values.
- PROBABILITY —Probability surface of values exceeding or not exceeding a certain threshold.
- QUANTILE —Quantile 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. - EXCEED —Probability values exceed the threshold. This is the default.
- NOT_EXCEED —Probability values will not exceed the threshold.
| String |

probability_threshold (Optional) | The probability threshold value. If left empty, the median (50 | Double |

semivariogram_model_type (Optional) |
The semivariogram model that will be used for the interpolation. - POWER —Power semivariogram
- LINEAR —Linear semivariogram
- THIN_PLATE_SPLINE —Thin Plate Spline semivariogram
- EXPONENTIAL —Exponential semivariogram
- EXPONENTIAL_DETRENDED —Exponential semivariogram with first order trend removal
- WHITTLE —Whittle semivariogram
- WHITTLE_DETRENDED —Whittle semivariogram with first order trend removal
- K_BESSEL —K-Bessel semivariogram
- K_BESSEL_DETRENDED —K-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 NONE, 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"
# Check out the ArcGIS Geostatistical Analyst extension license
arcpy.CheckOutExtension("GeoStats")
# Execute EmpiricalBayesianKriging
arcpy.EmpiricalBayesianKriging_ga(inPointFeatures, zField, outLayer, outRaster,
cellSize, transformation, maxLocalPoints, overlapFactor, numberSemivariograms,
searchNeighbourhood, outputType, quantileValue, thresholdType, probabilityThreshold,
semivariogram)
```

## Environments

## Licensing information

- Basic: Requires Geostatistical Analyst
- Standard: Requires Geostatistical Analyst
- Advanced: Requires Geostatistical Analyst