Semivariogram Sensitivity (Geostatistical Analyst)

Available with Geostatistical Analyst license.

Summary

This tool performs a sensitivity analysis on the predicted values and associated standard errors by changing the model's semivariogram parameters (the nugget, partial sill, and major/minor ranges) within a percentage of the original values. The tool takes a geostatistical model source in order to populate these initial values of the nugget, partial sill, and major/minor ranges. The tool's output is a table indicating which parameter values were used and what the resulting predicted and standard error values were. If there are large fluctuations in the output with small changes in the model's parameter values, then you cannot have much confidence in the output. On the other hand, if changes in the output are small, then you can be confident in the model's predictions and make decisions based on its output.

Usage

  • The geostatistical model source is either a geostatistical layer or a geostatistical model (XML).

  • In the output table, PtID corresponds to the OID value in the Input point observation locations feature class, and the RndParam field identifies which of the semivariogram parameters were randomly changed.

  • This tool uses a random number generator in its operation. The Seed value used can be controlled in the Random number generator environment.

    • If a seed value of 0 is used (the default value), then each time the tool is run, a different set of random numbers will be used and a different output will be generated.
    • If the random number seed is set to a fixed number greater than 0, then the tool will produce the same output each time it is run, until the seed value is changed.

    Note:

    Only the Mersenne Twister random number generator type is supported; if ACM collected algorithm 599 or Standard C Rand is chosen, Mersenne Twister will be used instead.

  • In Python scripting, the GeostatisticalDatasets ArcPy class will be useful for populating the Input dataset(s) parameter.

  • For data formats that support Null values, such as file geodatabase feature classes, a Null value will be used to indicate that a prediction could not be made for that location or that the value should be ignored when used as input. For data formats that do not support Null values, such as shapefiles, the value of -1.7976931348623158e+308 is used (this is the negative of the C++ defined constant DBL_MAX) to indicate that a prediction could not be made for that location.

Syntax

arcpy.ga.GASemivariogramSensitivity(in_ga_model_source, in_datasets, in_locations, {nugget_span_percents}, {nugget_calc_times}, {partialsill_span_percents}, {partialsill_calc_times}, {range_span_percents}, {range_calc_times}, {minrange_span_percents}, {minrange_calc_times}, out_table)
ParameterExplanationData Type
in_ga_model_source

The geostatistical model source to be analyzed.

File; Geostatistical Layer
in_datasets

A GeostatisticalDatasets object.

Alternatively, it can be a semicolon-delimited string of elements. Each element is comprised of the following components:

  • The catalog path and name to a dataset or the name of a layer in the current table of contents, followed by a space.
  • A sequence of field names, each field name separated by a space. In the case of a raster, the cell values will be used.
Geostatistical Value Table
in_locations

Point locations where the sensitivity analysis is performed.

Feature Layer
nugget_span_percents
(Optional)

The percentage subtracted and added to the Nugget parameter to create a range for a subsequent random Nugget parameter selection.

Double
nugget_calc_times
(Optional)

Number of random Nugget values randomly sampled from the Nugget span.

Long
partialsill_span_percents
(Optional)

Percentage subtracted from and added to the Partial Sill parameter to create a range for a random Partial Sill selection.

Double
partialsill_calc_times
(Optional)

Number of Partial Sill values randomly sampled from the Partial Sill span.

Long
range_span_percents
(Optional)

Percentage subtracted and added to the Major Range parameter to create a range for a random Major Range selection.

Double
range_calc_times
(Optional)

Number of Major Range values randomly sampled from the Major Range span.

Long
minrange_span_percents
(Optional)

Percentage subtracted and added to the Minor Range parameter to create a range for a random Minor Range selection.

Double
minrange_calc_times
(Optional)

Number of Minor Range values randomly sampled from the Minor Range span.

If Anisotropy has been set in the input geostatistical model source, a value is required.

Long
out_table

Table storing the sensitivity results.

Table

Code sample

SemivariogramSensitivity example 1 (Python window)

Performs a sensitivity analysis by varying the Nugget, Partial Sill, and Range values.

import arcpy
arcpy.env.workspace = "C:/gapyexamples/data"
arcpy.GASemivariogramSensitivity_ga(
    "C:/gapyexamples/data/kriging.lyr", "C:/gapyexamples/data/ca_ozone_pts.shp OZONE",
    "C:/gapyexamples/data/obs_pts.shp", "", "", "", "", "", "", "", "", 
    "C:/gapyexamples/output/outtabSS")
SemivariogramSensitivity example 2 (stand-alone script)

Performs a sensitivity analysis by varying the Nugget, Partial Sill, and Range values.

# Name: SemivariogramSensitivity_Example_02.py
# Description: The semivariogram parameters Nugget, Partial Sill and Range can
#   be varied to perform a sensitivity analysis.
# Requirements: Geostatistical Analyst Extension

# Import system modules
import arcpy

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

# Set local variables
inLayer = "C:/gapyexamples/data/kriging.lyr"
inData = "C:/gapyexamples/data/ca_ozone_pts.shp OZONE"
inObs = "C:/gapyexamples/data/obs_pts.shp"
nugPercents = ""
nugCalc = ""
sillPercents = ""
sillCalc = ""
rangePercents = ""
rangeClac = ""
minrangePercent = ""
midrangeCalc = ""
outTable = "C:/gapyexamples/output/outtabSS"

# Execute SemivariogramSensitivity
arcpy.GASemivariogramSensitivity_ga(inLayer, inData, inObs, nugPercents, nugCalc,
                                    sillPercents, sillCalc, rangePercents, rangeClac,
                                    minrangePercent, midrangeCalc, outTable)

Licensing information

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

Related topics