需要 Geostatistical Analyst 许可。
使用方法
在 Python 中使用此工具时,result 对象既包含一个要素类,也包含一个 CrossValidationResult,后者具有以下属性:
- 计数 - 使用的样本总数。
- 平均误差 - 测量值与预测值之间的平均差值。
- 均方根误差 - 表示模型预测结果与测量值的接近程度。此误差越小越好。
- 平均标准误差 - 预测标准误差的平均值。
- 平均值标准化误差 - 标准误差的平均值。该值应接近于 0。
- 标准化均方根误差 - 如果预测标准误差有效,该值应接近 1。如果标准化均方根误差大于 1,则说明对预测中的变化性估计不足。如果标准化均方根误差小于 1,则说明对预测中的变化性估计过高。
- 90% 区间 - 是指介于 90% 交叉验证置信区间的点的百分比。该值应接近于 90。
- 95% 区间 - 是指介于 95% 交叉验证置信区间的点的百分比。该值应接近于 95。
- 平均 CRPS - 所有点的平均连续分级概率评分 (CRPS)。CRPS 是一种诊断方法,用于测量预测的累积分布函数与每个已观测数据值之间的偏差。该值应尽可能小。该诊断方法优于其他交叉验证诊断方法,因为它将数据与整个分布进行比较而不是与单点预测进行比较。该统计的计算方法涉及模拟,因而无法使用简单公式编写。
对于反距离权重、全局多项式插值法、径向基函数 (RBF) 插值法、含障碍的扩散插值法和含障碍的核插值法,只提供“平均误差”和“均方根误差”结果。
90% 区间、95% 区间和平均 CRPS 仅适用于经验贝叶斯克里金法和 EBK 回归预测模型。
可选输出要素类中的字段在 GA 图层至点工具中进行了介绍。
语法
arcpy.ga.CrossValidation(in_geostat_layer, {out_point_feature_class})
参数 | 说明 | 数据类型 |
in_geostat_layer | 要分析的地统计图层。 | Geostatistical Layer |
out_point_feature_class (可选) | 将交叉验证统计信息存储在地统计图层中的各个位置。 | Feature Class |
派生输出
名称 | 说明 | 数据类型 |
count | 使用的样本总数。 | 长整型 |
mean_error | 平均误差 - 测量值与预测值之间的平均差值。 | 双精度型 |
root_mean_square | 均方根误差 - 表示模型预测结果与测量值的接近程度。 | 双精度型 |
average_standard | 平均标准误差 - 预测标准误差的平均值。 | 双精度型 |
mean_standardized | 平均值标准化误差 - 标准误差的平均值。 | 双精度型 |
root_mean_square_standardized | 标准化均方根误差 - 如果预测标准误差有效,该值应接近 1。 | 双精度型 |
percent_in_90_interval | 90% 区间 - 是指介于 90% 交叉验证置信区间的点的百分比。该值应接近于 90。 | 双精度型 |
percent_in_95_interval | 95% 区间 - 是指介于 95% 交叉验证置信区间的点的百分比。该值应接近于 95。 | 双精度型 |
average_crps | 平均 CRPS - 所有点的平均连续分级概率评分 (CRPS)。CRPS 是一种诊断方法,用于测量预测的累积分布函数与每个已观测数据值之间的偏差。该值应尽可能小。该诊断方法优于其他交叉验证诊断方法,因为它将数据与整个分布进行比较而不是与单点预测进行比较。该统计的计算方法涉及模拟,因而无法使用简单公式编写。 | 双精度型 |
代码示例
对输入地统计图层执行交叉验证。
import arcpy
arcpy.env.workspace = "C:/gapyexamples/data"
cvResult = arcpy.CrossValidation_ga("C:/gapyexamples/data/kriging.lyr")
print("Root Mean Square error = " + str(cvResult.rootMeanSquare))
对输入地统计图层执行交叉验证。
# Name: CrossValidation_Example_02.py
# Description: Perform cross validation on an input geostatistical layer.
# 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"
# Execute CrossValidation
cvResult = arcpy.CrossValidation_ga(inLayer)
print("Root Mean Square error = " + str(cvResult.rootMeanSquare))
许可信息
- Basic: 需要 地统计分析
- Standard: 需要 地统计分析
- Advanced: 需要 地统计分析