需要 Geostatistical Analyst 许可。
描述
EBK 回归预测是一种地统计插值法,用到了经验贝叶斯克里金法及解释变量栅格,其中的解释变量栅格会影响正在内插的数据的值。这种方法整合了克里金法和回归分析,使得预测的结果比单独使用任何一种方法都更准确。
使用方法
此工具仅支持预测图输出。要创建标准误差图、分位数图或概率图,请先使用 GA 图层至栅格输出一个地统计图层,然后将其转换为一个栅格(或多个栅格)。
该克里金法可处理一般程度上不稳定的输入数据。
如果任何一个输入解释变量栅格具有多个 NoData 像元,则输出地统计图层可能无法在地图中显示。这并不是问题,计算可以正确执行。要显示输出,可使用 GA 图层至栅格或 GA 图层至格网将您的地统计图层转换为栅格。也可以利用输出预测栅格参数直接通过此工具输出栅格。
如果输入因变量要素位于地理坐标系中,将使用弦距离来计算所有距离。有关弦距离的详细信息,请参阅“什么是经验贝叶斯克里金法”帮助主题中的地理坐标中数据的距离计算部分。
语法
arcpy.ga.EBKRegressionPrediction(in_features, dependent_field, in_explanatory_rasters, out_ga_layer, {out_raster}, {out_diagnostic_feature_class}, {measurement_error_field}, {min_cumulative_variance}, {in_subset_features}, {transformation_type}, {semivariogram_model_type}, {max_local_points}, {overlap_factor}, {number_simulations}, {search_neighborhood})
参数 | 说明 | 数据类型 |
in_features | 包含要内插的字段的输入点要素。 | Feature Layer |
dependent_field | 包含因变量值的输入因变量要素的字段。这是将要内插的字段。 | Field |
in_explanatory_rasters [[in_explanatory_raster,…],...] | 表示用于构建回归模型的解释变量的输入栅格。这些栅格将表示会影响因变量值的变量。例如,内插温度数据时应该将高程栅格用作解释变量,这是因为温度会受到高程的影响。最多可以使用 62 个解释栅格。 | Raster Layer; Mosaic Layer |
out_ga_layer | 显示插值结果的输出地统计图层。 | Geostatistical Layer |
out_raster (可选) | 显示插值结果的输出栅格。默认像元大小为输入解释变量栅格中像元尺寸的最大值。要应用其他像元大小,可使用像元大小环境设置。 | Raster Dataset |
out_diagnostic_feature_class (可选) | 输出可显示每个本地模型区域及包含具有本地模型诊断信息字段的面要素类 对于每一个子集,都将围绕该子集中的点创建面,这样就可以很容易地识别出每个子集中所使用的点。例如,如果有 10 个本地模型,则此输出中将有 10 个面。要素类将包含以下字段:
| Feature Class |
measurement_error_field (可选) | 用于指定因变量要素中每个点的测量误差的字段。对于每个点,此字段的值都应对应于该点测量值的标准差。如果每个点的测量误差值不同,请使用此字段。 产生不稳定测量误差的常见原因是测量数据时所用的设备不同。一个设备可能比另一个精确,即其测量误差更小。例如,一个温度计舍入到最接近的度,而另一个温度计舍到最接近的度的十分之一。通常,测量误差范围由测量设备的制造商会提供,或通过实践经验获得。 如果没有测量误差值或测量误差值未知,请将此参数留空。 | Field |
min_cumulative_variance (可选) | 通过解释变量栅格的主成分定义方差的最小累积百分比。在构建回归模型之前,将事先计算解释变量的主成分,并会在回归中将这些主成分用作解释变量。每一个主成分将捕获解释变量方差的某一特定百分比,且此参数将控制每个本地模型主成分必须捕获的方差的最小百分比。例如,如果所提供的值为 75,那么软件将使用至少捕获 75% 的解释变量方差所必须的最小主成分数。 各个主成分之间互不相关,因此将使用主成分解决多重共线性(相互关联的解释变量)问题。所有解释变量中包含的大部分信息通常只能在少数的几个主成分中捕获。因此,放弃最不实用的主成分,可使模型计算在不明显损失精度的情况下更稳定且更高效。 为计算主成分,解释变量必须具有变化性,因此,如果任意输入解释变量栅格包含子集内的常量值,这些常量栅格将不会用于计算该子集的主成分。如果子集中的所有解释变量栅格均包含常量值,则输出诊断要素类将报告:使用的主成分为零,捕获的变量百分比为零。 | Double |
in_subset_features (可选) | 用于定义计算本地模型位置的面要素。每个面内的点都将用于本地模型。此参数在因变量值需根据已知区域进行变化的情况下十分有用。例如,这些面可代表卫生政策会因区域不同而有所变化的行政卫生区。 还可以使用生成子集面工具来创建子集面。由此工具创建的面将紧凑而不重叠。 | Feature Layer |
transformation_type (可选) | 将应用到输入数据的变换类型。
| String |
semivariogram_model_type (可选) | 用于插值的半变异函数模型。
| String |
max_local_points (可选) | 输入数据将自动分成子集,每个子集的点数不大于这一数目。如果提供子集面要素,将会忽略此参数的值。 | Long |
overlap_factor (可选) | 表示本地模型(也称子集)之间重叠程度的系数。每个输入点均可落入多个子集中,重叠系数指定了各点将落入的子集的平均数。重叠系数值越高,输出表面就越平滑,但处理时间也越长。值必须介于 1 和 5 之间。如果提供子集面要素,将会忽略此参数的值。 | Double |
number_simulations (可选) | 每个本地模型模拟的半变异函数的数量。使用的模拟越多,则模型计算越稳定,但模型所用的计算时间也会越长。 | Long |
search_neighborhood (可选) | 定义用于控制输出的周围点。“标准”为默认选项。 以下是搜索邻域类:SearchNeighborhoodStandardCircular 和 SearchNeighborhoodSmoothCircular。 标准圆形
平滑圆形
| Geostatistical Search Neighborhood |
代码示例
使用解释变量栅格内插一个点要素类。
import arcpy
arcpy.EBKRegressionPrediction_ga("HousingSales_Points", "SalePrice",
["AREASQFEET", "NUMBATHROOMS", "NUMBEDROOMS","TOTALROOMS"],
"out_ga_layer", None, None, None, 95, None, "LOGEMPIRICAL",
"EXPONENTIAL", 100, 1, 100, None)
使用解释变量栅格内插一个点要素类。
# Name: EBKRegressionPrediction_Example_02.py
# Description: Interpolates housing prices using EBK Regression Prediction
# Requirements: Geostatistical Analyst Extension
# Author: Esri
# Import system modules
import arcpy
# Set environment settings
arcpy.env.workspace = "C:/gaexamples/data.gdb"
# Set local variables
inDepFeatures = "HousingSales_Points"
inDepField = "SalePrice"
inExplanRasters = ["AREASQFEET", "NUMBATHROOMS", "NUMBEDROOMS","TOTALROOMS"]
outLayer = "outEBKRP_layer"
outRaster = "outEBKRP_raster"
outDiagFeatures = "outEBKRP_features"
inDepMeField = ""
minCumVariance = 97.5
outSubsetFeatures = ""
depTransform = ""
semiVariogram= "K_BESSEL"
maxLocalPoints = 50
overlapFactor = 1
numberSinulations = 200
radius = 100000
searchNeighbourhood = arcpy.SearchNeighborhoodStandardCircular(radius)
# Check out the ArcGIS Geostatistical Analyst extension license
arcpy.CheckOutExtension("GeoStats")
# Execute EBKRegressionPrediction
arcpy.EBKRegressionPrediction_ga(inDepFeatures, inDepField, inExplanRasters,
outLayer, outRaster, outDiagFeatures, inDepMeField, minCumVariance,
outSubsetFeatures, depTransform, semiVariogram, maxLocalPoints,
overlapFactor, numberSinulations, searchNeighbourhood)
许可信息
- Basic: 需要 地统计分析
- Standard: 需要 地统计分析
- Advanced: 需要 地统计分析