EBK 回归预测 (地统计分析)

需要 Geostatistical Analyst 许可。

摘要

EBK 回归预测是一种地统计插值法,用到了经验贝叶斯克里金法解释变量栅格,其中的解释变量栅格会影响正在内插的数据的值。这种方法整合了克里金法和回归分析,使得预测的结果比单独使用任何一种方法都更准确。

了解有关 EBK 回归预测的详细信息

使用情况

  • 此工具仅支持预测图输出。要创建标准误差图、分位数图或概率图,请先使用 GA 图层至栅格输出一个地统计图层,然后将其转换为一个栅格(或多个栅格)。

  • 该克里金法可处理一般程度上不稳定的输入数据。

  • 此插值方法仅允许标准圆形平滑圆形搜索邻域

  • 如果任何一个输入解释变量栅格具有多个 NoData 像元,则输出地统计图层可能无法在地图中显示。这并不是问题,计算可以正确执行。要显示输出,可使用 GA 图层至栅格GA 图层至格网将您的地统计图层转换为栅格。也可以利用输出预测栅格参数直接通过此工具输出栅格。

  • 如果输入因变量要素位于地理坐标系中,将使用弦距离来计算所有距离。有关弦距离的详细信息,请参阅“什么是经验贝叶斯克里金法”帮助主题中的地理坐标中数据的距离计算部分。

参数

标注说明数据类型
输入因变量要素

包含要内插的字段的输入点要素。

Feature Layer
相关变量字段

包含因变量值的输入因变量要素的字段。这是将要内插的字段。

Field
输入解释变量栅格

表示用于构建回归模型的解释变量的输入栅格。这些栅格将表示会影响因变量值的变量。例如,内插温度数据时应该将高程栅格用作解释变量,这是因为温度会受到高程的影响。最多可以使用 62 个解释栅格。

Raster Layer; Mosaic Layer
输出地统计图层

显示插值结果的输出地统计图层。

Geostatistical Layer
输出预测栅格
(可选)

显示插值结果的输出栅格。默认像元大小为输入解释变量栅格中像元尺寸的最大值。要应用其他像元大小,可使用像元大小环境设置。

Raster Dataset
输出诊断要素类
(可选)

输出可显示每个本地模型区域及包含具有本地模型诊断信息字段的面要素类 对于每一个子集,都将围绕该子集中的点创建面,这样就可以很容易地识别出每个子集中所使用的点。例如,如果有 10 个本地模型,则此输出中将有 10 个面。要素类将包含以下字段:

  • 主成分数目 (PrincComps) - 是指用作解释变量的主成分数目。该值将始终小于或等于解释变量栅格的数量。
  • 方差百分比 (PercVar) - 是指由主成分捕获的方差百分比。该值将大于或等于下面的最小累积方差百分比参数中指定的值。
  • 均方根误差 (RMSE) - 是指各个交叉验证误差的平方平均数的平方根。该值越小,模型的拟合状况越好。
  • 90% 区间 (Perc90) - 是指落入 90% 交叉验证置信区间的数据点的百分比。理想情况下,该值应接近于 90。若该值远小于 90,则说明对标准误差的估计过低。若该值远大于 90,则说明对标准误差的估计过高。
  • 95% 区间 (Perc95) - 是指落入 95% 交叉验证置信区间的数据点的百分比。理想情况下,该值应接近于 95。若该值远小于 95,则说明对标准误差的估计过低。若该值远大于 95,则说明对标准误差的估计过高。
  • 平均绝对误差 (MeanAbsErr) - 是指交叉验证误差绝对值的平均数。该值应尽可能小。这与均方根误差相似,但它受极值的影响较小。
  • 平均误差 (MeanError) - 交叉验证误差的平均数。该值应接近于 0。若该值显著异于零,则表示预测有偏倚。
  • 连续分级概率评分 (CRPS) - 这是一种诊断方法,用于测量预测的累积分布函数与每个已观测数据值之间的偏差。该值应尽可能小。该诊断方法优于交叉验证诊断方法,因为它将数据与整个分布进行比较而不是与单点预测进行比较。
Feature Class
相关变量测量错误字段
(可选)

用于指定因变量要素中每个点的测量误差的字段。对于每个点,此字段的值都应对应于该点测量值的标准差。如果每个点的测量误差值不同,请使用此字段。

产生不稳定测量误差的常见原因是测量数据时所用的设备不同。一个设备可能比另一个精确,即其测量误差更小。例如,一个温度计舍入到最接近的度,而另一个温度计舍到最接近的度的十分之一。通常,测量误差范围由测量设备的制造商会提供,或通过实践经验获得。

如果没有测量误差值或测量误差值未知,请将此参数留空。

Field
方差的最小累积百分比
(可选)

通过解释变量栅格的主成分定义方差的最小累积百分比。在构建回归模型之前,将事先计算解释变量的主成分,并会在回归中将这些主成分用作解释变量。每一个主成分将捕获解释变量方差的某一特定百分比,且此参数将控制每个本地模型主成分必须捕获的方差的最小百分比。例如,如果所提供的值为 75,那么软件将使用至少捕获 75% 的解释变量方差所必须的最小主成分数。

各个主成分之间互不相关,因此将使用主成分解决多重共线性(相互关联的解释变量)问题。所有解释变量中包含的大部分信息通常只能在少数的几个主成分中捕获。因此,放弃最不实用的主成分,可使模型计算在不明显损失精度的情况下更稳定且更高效。

为计算主成分,解释变量必须具有变化性,因此,如果任意输入解释变量栅格包含子集内的常量值,这些常量栅格将不会用于计算该子集的主成分。如果子集中的所有解释变量栅格均包含常量值,则输出诊断要素类将报告:使用的主成分为零,捕获的变量百分比为零。

Double
子集面要素
(可选)

用于定义计算本地模型位置的面要素。每个面内的点都将用于本地模型。此参数在因变量值需根据已知区域进行变化的情况下十分有用。例如,这些面可代表卫生政策会因区域不同而有所变化的行政卫生区。

还可以使用生成子集面工具来创建子集面。由此工具创建的面将紧凑而不重叠。

Feature Layer
因变量变换类型
(可选)

将应用到输入数据的变换类型。

  • 不应用任何变换。这是默认设置。
  • 经验法使用“经验”基本函数进行“乘偏斜”变换。
  • 对数经验使用“对数经验”基本函数进行“乘偏斜”变换。所有数据值必须为正。如果选择此选项,则所有预测均为正。
String
半变异函数模型类型
(可选)

用于插值的半变异函数模型。

  • 指数指数半变异函数
  • 块金值块金半变异函数
  • 消减函数消减半变异函数
  • K-BesselK-Bessel 半变异函数
String
各局部模型中的最大点数
(可选)

输入数据将自动分成子集,每个子集的点数不大于这一数目。如果提供子集面要素,将会忽略此参数的值。

Long
局部模型区域重叠系数
(可选)

表示本地模型(也称子集)之间重叠程度的系数。每个输入点均可落入多个子集中,重叠系数指定了各点将落入的子集的平均数。重叠系数值越高,输出表面就越平滑,但处理时间也越长。值必须介于 1 和 5 之间。如果提供子集面要素,将会忽略此参数的值。

Double
模拟的次数
(可选)

每个本地模型模拟的半变异函数的数量。使用的模拟越多,则模型计算越稳定,但模型所用的计算时间也会越长。

Long
搜索邻域
(可选)

定义用于控制输出的周围点。“标准”为默认选项。

标准圆形

  • 最大邻点数 - 用于估计未知位置值的最大相邻数。
  • 最小邻点数 - 用于估计未知位置值的最小相邻数。
  • 分区类型 - 邻域的几何。
    • 单扇区 - 单个椭圆。
    • 四扇区 - 分为四个扇区的椭圆。
    • 偏移四扇区 - 分为四个扇区且偏移 45 度的椭圆。
    • 八扇区 - 分为八个扇区的椭圆。
  • 角度 - 移动窗口的轴(圆)或长半轴(椭圆)的旋转角度。
  • 半径 - 搜索圆的半径长度。

平滑圆形

  • 平滑系数 -“平滑插值”选项可在“长半轴”与“平滑系数”相乘所得的距离处创建一个外椭圆和一个内椭圆。使用反曲线函数可对位于最小椭圆外、最大椭圆内的点加权,加权值介于 0 和 1 之间。
  • 半径 - 搜索圆的半径长度。
Geostatistical Search Neighborhood

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 个面。要素类将包含以下字段:

  • 主成分数目 (PrincComps) - 是指用作解释变量的主成分数目。该值将始终小于或等于解释变量栅格的数量。
  • 方差百分比 (PercVar) - 是指由主成分捕获的方差百分比。该值将大于或等于下面的最小累积方差百分比参数中指定的值。
  • 均方根误差 (RMSE) - 是指各个交叉验证误差的平方平均数的平方根。该值越小,模型的拟合状况越好。
  • 90% 区间 (Perc90) - 是指落入 90% 交叉验证置信区间的数据点的百分比。理想情况下,该值应接近于 90。若该值远小于 90,则说明对标准误差的估计过低。若该值远大于 90,则说明对标准误差的估计过高。
  • 95% 区间 (Perc95) - 是指落入 95% 交叉验证置信区间的数据点的百分比。理想情况下,该值应接近于 95。若该值远小于 95,则说明对标准误差的估计过低。若该值远大于 95,则说明对标准误差的估计过高。
  • 平均绝对误差 (MeanAbsErr) - 是指交叉验证误差绝对值的平均数。该值应尽可能小。这与均方根误差相似,但它受极值的影响较小。
  • 平均误差 (MeanError) - 交叉验证误差的平均数。该值应接近于 0。若该值显著异于零,则表示预测有偏倚。
  • 连续分级概率评分 (CRPS) - 这是一种诊断方法,用于测量预测的累积分布函数与每个已观测数据值之间的偏差。该值应尽可能小。该诊断方法优于交叉验证诊断方法,因为它将数据与整个分布进行比较而不是与单点预测进行比较。
Feature Class
measurement_error_field
(可选)

用于指定因变量要素中每个点的测量误差的字段。对于每个点,此字段的值都应对应于该点测量值的标准差。如果每个点的测量误差值不同,请使用此字段。

产生不稳定测量误差的常见原因是测量数据时所用的设备不同。一个设备可能比另一个精确,即其测量误差更小。例如,一个温度计舍入到最接近的度,而另一个温度计舍到最接近的度的十分之一。通常,测量误差范围由测量设备的制造商会提供,或通过实践经验获得。

如果没有测量误差值或测量误差值未知,请将此参数留空。

Field
min_cumulative_variance
(可选)

通过解释变量栅格的主成分定义方差的最小累积百分比。在构建回归模型之前,将事先计算解释变量的主成分,并会在回归中将这些主成分用作解释变量。每一个主成分将捕获解释变量方差的某一特定百分比,且此参数将控制每个本地模型主成分必须捕获的方差的最小百分比。例如,如果所提供的值为 75,那么软件将使用至少捕获 75% 的解释变量方差所必须的最小主成分数。

各个主成分之间互不相关,因此将使用主成分解决多重共线性(相互关联的解释变量)问题。所有解释变量中包含的大部分信息通常只能在少数的几个主成分中捕获。因此,放弃最不实用的主成分,可使模型计算在不明显损失精度的情况下更稳定且更高效。

为计算主成分,解释变量必须具有变化性,因此,如果任意输入解释变量栅格包含子集内的常量值,这些常量栅格将不会用于计算该子集的主成分。如果子集中的所有解释变量栅格均包含常量值,则输出诊断要素类将报告:使用的主成分为零,捕获的变量百分比为零。

Double
in_subset_features
(可选)

用于定义计算本地模型位置的面要素。每个面内的点都将用于本地模型。此参数在因变量值需根据已知区域进行变化的情况下十分有用。例如,这些面可代表卫生政策会因区域不同而有所变化的行政卫生区。

还可以使用生成子集面工具来创建子集面。由此工具创建的面将紧凑而不重叠。

Feature Layer
transformation_type
(可选)

将应用到输入数据的变换类型。

  • NONE不应用任何变换。这是默认设置。
  • EMPIRICAL使用“经验”基本函数进行“乘偏斜”变换。
  • LOGEMPIRICAL使用“对数经验”基本函数进行“乘偏斜”变换。所有数据值必须为正。如果选择此选项,则所有预测均为正。
String
semivariogram_model_type
(可选)

用于插值的半变异函数模型。

了解有关 EBK 回归预测中半变异函数模型的详细信息

  • EXPONENTIAL指数半变异函数
  • NUGGET块金半变异函数
  • WHITTLE消减半变异函数
  • K_BESSELK-Bessel 半变异函数
String
max_local_points
(可选)

输入数据将自动分成子集,每个子集的点数不大于这一数目。如果提供子集面要素,将会忽略此参数的值。

Long
overlap_factor
(可选)

表示本地模型(也称子集)之间重叠程度的系数。每个输入点均可落入多个子集中,重叠系数指定了各点将落入的子集的平均数。重叠系数值越高,输出表面就越平滑,但处理时间也越长。值必须介于 1 和 5 之间。如果提供子集面要素,将会忽略此参数的值。

Double
number_simulations
(可选)

每个本地模型模拟的半变异函数的数量。使用的模拟越多,则模型计算越稳定,但模型所用的计算时间也会越长。

Long
search_neighborhood
(可选)

定义用于控制输出的周围点。“标准”为默认选项。

以下是搜索邻域类:SearchNeighborhoodStandardCircularSearchNeighborhoodSmoothCircular

标准圆形

  • radius - 搜索圆的半径长度。
  • angle - 移动窗口的轴(圆)或长半轴(椭圆)的旋转角度。
  • nbrMax - 用于估计未知位置值的最大相邻数。
  • nbrMin - 用于估计未知位置值的最小相邻数。
  • sectorType - 邻域的几何。
    • ONE_SECTOR - 单个椭圆。
    • FOUR_SECTORS - 分为四个扇区的椭圆。
    • FOUR_SECTORS_SHIFTED - 分为四个扇区且偏移 45 度的椭圆。
    • EIGHT_SECTORS - 分为八个扇区的椭圆。

平滑圆形

  • radius - 搜索圆的半径长度。
  • smoothFactor -“平滑插值”选项可在“长半轴”与“平滑系数”相乘所得的距离处创建一个外椭圆和一个内椭圆。使用反曲线函数可对位于最小椭圆外、最大椭圆内的点加权,加权值介于 0 和 1 之间。
Geostatistical Search Neighborhood

代码示例

EBKRegressionPrediction 示例 1(Python 窗口)

使用解释变量栅格内插一个点要素类。

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)
EBKRegressionPrediction 示例 2(独立脚本)

使用解释变量栅格内插一个点要素类。

# 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: 需要 Geostatistical Analyst
  • Standard: 需要 Geostatistical Analyst
  • Advanced: 需要 Geostatistical Analyst

相关主题