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.
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)
Parameter | Explanation | Data 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:
| 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"
# Check out the ArcGIS Geostatistical Analyst extension license
arcpy.CheckOutExtension("GeoStats")
# Execute SemivariogramSensitivity
arcpy.GASemivariogramSensitivity_ga(inLayer, inData, inObs, nugPercents, nugCalc,
sillPercents, sillCalc, rangePercents, rangeClac,
minrangePercent, midrangeCalc, outTable)
Environments
Licensing information
- Basic: Requires Geostatistical Analyst
- Standard: Requires Geostatistical Analyst
- Advanced: Requires Geostatistical Analyst