仅存在预测 (MaxEnt) (空间统计)

摘要

使用最大熵方法 (MaxEnt) 对已知存在位置和解释变量的现象的存在进行建模。 该工具提供包含存在概率的输出要素和栅格,可应用于仅存在已知和缺失未知的问题。

了解有关仅存在预测 (MaxEnt) 的工作原理的详细信息

插图

仅存在预测 (MaxEnt) 工具图示

使用情况

  • 该工具使用三个主要输入来创建存在预测模型:已知存在位置、可能存在的研究区域和解释变量。

    • 输入点要素参数值用于指定感兴趣现象的已知存在位置。
    • 研究区以背景点为特征。 背景点是分布在整个研究区域的位置,其中可能存在感兴趣的现象但未知。 这些可以由工具自动创建,也可以通过检查包含背景点参数手动包含在输入点要素中。
    • 该工具接受栅格、字段和距离要素形式的解释变量。

  • 包含背景点参数指定了该工具的两种运行方式:

    • 取消选中 - 该工具将使用仅存在的点运行,并且仅接受来自栅格源的解释变量。
    • 选中 - 该工具将使用存在点和背景点运行,并允许解释变量源包括栅格、输入点要素中的字段和距离要素。

  • 使用栅格作为工具的输入或输出需要 ArcGIS Spatial Analyst extension 许可。

  • 输出训练模型文件参数可用于将训练模型结果保存为可重复使用的文件。 使用空间统计模型文件预测工具可用于使用模型文件预测新要素。

  • 该工具需要在输入点要素中至少有两个存在点才能创建模型。 如果输入要素包含背景点,该工具还需要至少两个背景点来创建模型。

  • 未选中包含背景点参数时,解释训练距离要素参数将处于非活动状态。 要将到要素的距离作为仅存在数据的解释变量,可以使用距离累积工具计算距离栅格,并且可以将距离栅格包括在解释训练栅格参数中。

  • 解释训练栅格参数值的空间分辨率在以下方面很重要:

    • 像元大小对处理时间有显著影响。 栅格分辨率越高,则处理时间越长。
    • 当使用仅存在数据(未选中包含背景点参数)时,该工具将使用栅格的像元质心来生成背景点。 背景点与存在点的比例会影响模型;建议考虑栅格的像元大小并使用输出训练要素参数调查生成的背景点,以确保研究区域的假设适合您的问题。
      注:

      重采样工具可用于降低解释训练栅格的空间分辨率。

  • 定义的研究区域,无论是来自研究区域参数还是来自包含背景点的输入点要素的位置,都会将构成模型结果。 使用的范围将决定哪些栅格单元用作背景点。 这建立了与存在条件进行比较的环境条件并建立了相对发生率,并且会影响预测结果。

  • 使用存在与背景的相对权重参数来指定背景点的含义。 当背景点表示存在未知的位置时,将使用值 100。 当背景点表示观测到缺失的位置时,将使用值 1。

    • 该值将影响模型的运行方式和工具的结果预测。 当该值接近 100 时,模型对每个错误分类的存在点的罚分是每个错误分类的背景点的 100 倍(假设背景的正确分类是缺失),并将应用传统的 MaxEnt 方法。 当值为 1 时,模型将平等对每个存在点和背景点进行罚分,类似于逻辑回归。
    • 使用仅存在模式(未选中包含背景点参数)时应谨慎使用值 1,因为该工具生成的背景点将被视为缺失,而权重与提供的存在点相同。

  • 大多数存在数据固有的采样偏差会影响分析结果。 空间细化参数可用于帮助降低这种影响。 然而,虽然空间细化是减少采样偏差影响的有用补救措施,但仍建议使用结构化调查的数据进一步减少采样偏差的影响。

  • 分类诊断可从地理处理消息和分类结果百分比图表中获得,此图表随输出训练要素参数值的结果图层一起提供。 该图表显示了观测的和预测的分类的比较,可用于评估模型在已知存在点上预测性能的能力。 例如,您可以通过关注训练输入点要素中错误分类的存在点部分来评估模型预测存在的能力。 在背景点的存在预测很重要的用例中,还可以使用图表来查看和选择预测为存在的背景点。

  • 可通过两种方式使用此工具: 可以专注于训练和评估候选模型,也可以专注于预测新数据集的存在概率。

    • 训练和评估候选模型 - 在不指定输出的情况下运行该工具以评估地理处理消息中包含的模型诊断。 诊断结果满足要求后,指定输出训练要素参数值并使用分类诊断图表进一步评估训练数据的预测性能。 输出灵敏度表输出响应曲线表参数值中包含的图表是训练数据的诊断指标,在您调整和找到合适的模型时也很有用。
    • 预测 - 在预测输出参数类别中指定参数 以将模型应用于不属于训练数据的新位置。 输入预测要素和生成的输出预测要素参数值表示需要预测的新点位置。 除了点要素之外,还可以通过指定输出预测栅格参数值来创建预测表面。 预测要素和预测栅格必须与训练数据(栅格、字段或距离要素)中使用的相同形式的匹配解释变量结合使用。

  • 空间细化可能导致训练数据不包括所有输入点要素。 要在使用空间细化时在所有点上测试模型的性能,需要为输入点要素输入预测要素参数提供相同的要素类。

  • 该工具基于输出路径中使用的要素数据集的坐标系来指定输出坐标系。 否则,该工具将使用在输出坐标系环境中指定的坐标系。 如果您未指定要素数据集或环境设置,该工具将对每个输出使用以下方法:

    • 对于输出训练要素输出训练栅格参数值,该工具将使用输入点要素参数值的坐标系。
    • 对于输出预测要素参数值,该工具将使用输入预测要素参数值的坐标系。
    • 对于输出预测栅格参数值,该工具将使用输出预测要素参数值定义的坐标系。 如果未指定输出预测要素,该工具将使用匹配解释栅格参数中提供的第一个栅格的坐标系。

  • 解释变量扩展(基函数)参数选项具有限制。 平滑步长(铰链)离散步长(阈值)选项是互斥选项;当一个被选中时,将无法选中另一个。 当解释变量被指定为分类时,将只使用原始(线性)选项。

  • 重采样方案参数设置为随机时,该工具将对数据进行分组并验证模型在分组数据子集上的性能。 每个训练组都受制于更广泛模型的相同数据要求:至少需要两个存在点和两个背景点。 如果在 10 次尝试后仍未满足这些要求,该工具将停止尝试交叉验证并警告无法进行交叉验证。

参数

标注说明数据类型
输入点要素

点要素表示已知发生感兴趣现象的位置。

Feature Layer
包含背景点
(可选)

指定输入点要素是否包含背景点。

如果输入点不包含背景点,该工具将使用解释训练栅格中的像元生成背景点。 该工具使用背景点对未知位置的景观特征进行建模,并将它们与已知存在位置的景观特征进行比较。 因此,可以将背景点视为研究区域。 通常情况下,这些是未知感兴趣现象存在的位置。 然而,如果任何关于背景点的信息是已知的,则可以使用存在与背景的相对权重参数来指示此内容。

  • 选中 - 输入点要素包含背景点。
  • 未选中 - 输入点要素不包含背景点。 这是默认设置。
Boolean
存在指示器字段
(可选)

来自输入点要素的字段,其中包含指示每个点为存在 (1) 或背景 (0) 的二进制值。 该字段必须为数值型。

Field
解释训练变量
(可选)

表示解释变量的字段列表,这些变量将有助于预测存在概率。 可以指定每个变量是分类变量还是数值变量。 选中代表类或类别(例如土地覆被)的每个变量的分类复选框。

Value Table
解释训练距离要素
(可选)

将用于自动创建解释变量的要素图层或要素类列表,这些解释变量表示从输入点要素到最近提供的距离要素的距离。 如果输入解释训练距离要素为面要素或线要素,则距离属性将计算为最近线段和点之间的距离。

Feature Layer
解释训练栅格
(可选)

将用于在模型中自动创建解释训练变量的栅格列表,其值是从栅格中提取的。 对于输入点要素中的每个要素(存在点和背景点),将在此确切位置提取栅格像元的值。

提取连续栅格的栅格值时,将使用双线性栅格重采样。 从分类栅格中提取栅格值时,将使用最邻近分配法。

可以指定每个栅格值是分类变量还是数值变量。 选中代表类或类别(例如土地覆被)的每个栅格的分类复选框。

Value Table
解释变量扩展(基函数)
(可选)

指定将用于变换提供的解释变量以在模型中使用的基函数。 如果选择了多个基函数,该工具将生成多个变换后的变量并尝试在模型中使用它们。

  • 原始(线性)将应用对输入变量的线性变换。 这是默认设置
  • 成对交互(乘积)将使用连续解释变量的成对乘法,生成交互变量。 此选项仅在提供了多个解释变量时可用。
  • 平滑步长(铰链)将连续解释变量值转换为两个段,一个静态段(全为 0 或 1)和一个线性函数(增加或减少)。
  • 离散步长(阈值)连续解释变量值将转换为由 0 和 1 组成的二进制变量。
  • 平方(二次)将返回每个连续解释变量值的平方。
String
节数
(可选)

铰链和阈值解释变量扩展将使用的节数。 该值控制创建的阈值数量,并将使用每个阈值创建多个解释变量扩展。 该值必须介于 2 到 50 之间。 默认值为 10。

Long
研究区域
(可选)

指定将用于定义当输入点要素不包含背景点时可能存在的位置的研究区域类型。

  • 凸包将使用包含输入点要素中所有存在点的最小凸多边形。 这是默认设置
  • 栅格范围将使用解释训练栅格的相交范围。
  • 面研究区域将使用由面要素类定义的自定义研究区域。
String
研究区域面
(可选)

包含定义自定义研究区域的面要素类。 输入点要素必须位于面要素覆盖的自定义研究区域内。 一个研究区域可以由多个面组成。

Feature Layer
应用空间细化
(可选)

指定在训练模型之前是否将空间细化应用于存在点和背景点。

空间细化通过移除点并确保剩余点具有最小最近邻距离(在最小最近邻参数中设置)来帮助减少采样偏差。 空间细化也适用于背景点,无论它们是在输入点要素中提供还是由工具生成。

  • 选中 - 将应用空间细化。
  • 未选中 - 不应用空间细化。 这是默认设置。
Boolean
最小最近邻距离
(可选)

应用空间细化时任何两个存在点或任何两个背景点之间的最小距离。

Linear Unit
细化迭代次数
(可选)

将用于寻找最佳空间细化解决方案的运行次数,力求在保持尽可能多的存在点和背景点的同时,确保任何两个存在点或两个背景点之间的距离均不在指定的最小最近邻距离参数值内。 最少可能是 1 次迭代,最多可能是 50 次迭代。 默认值为 10。

此参数仅适用于应用于输入点要素中的存在点和背景点的空间细化。 应用于从栅格单元生成的背景点的空间细化通过将栅格单元重新采样到指定的最小最近距离参数值来进行空间细化,而无需迭代以获得最佳解决方案。

Long
存在与背景的相对权重
(可选)

一个介于 1 和 100 之间的值,用于指定存在点与背景点的相对信息权重。 默认值为 100。

较高的值表明存在点是主要的信息来源;背景点是否代表存在或缺失是未知的,背景点在模型中的权重较低。 较低的值表示背景点也提供可与存在点结合使用的有价值的信息;背景点代表缺失的可信度更高,它们的信息可以在模型中用作缺失位置。

Long
存在概率变换(链接函数)
(可选)

指定将模型的无界输出转换为 0 到 1 之间的数字的函数。 该值可以解释为该位置的存在概率。 每个选项将相同的连续值转换为不同的概率。

  • C-log-logC-log-log 链接函数将用于将预测转换为概率。 当现象的存在和位置明确时,建议使用此选项,例如,在模拟固定植物物种的存在时。 这是默认设置。
  • 逻辑逻辑链接函数将用于将预测转换为概率。 当现象的存在和位置不明确时,建议使用此选项,例如,在模拟迁徙动物物种的存在时。
String
存在概率中断值
(可选)

中断值介于 0.01 和 0.99 之间,用于确定哪些概率与结果分类中的存在相对应。 中断值用于使用训练数据和已知存在点帮助评估模型的性能。 在地理处理消息和输出训练要素中提供分类诊断信息。

Double
输出训练要素
(可选)

将包含模型训练中使用的所有要素和解释变量的输出要素类。

Feature Class
输出训练栅格
(可选)

具有像元值的输出栅格,使用所选链接函数指示存在概率。 默认像元大小为解释训练栅格中像元大小的最大值。 仅当输入点要素不包含背景点时,才能创建输出训练栅格。

Raster Dataset
输出响应曲线表
(可选)

输出表将包含来自训练模型的诊断,这些诊断表明在考虑模型中所有其他解释变量的平均影响的情况下,每个解释变量对存在概率的影响。

该表将有最多两个部分依赖性图的派生图表:一组连续变量的折线图和一组分类变量的条形图。

Table
输出灵敏度表
(可选)

当概率存在中断值从 0 变为 1 时,输出表将包含训练模型准确性的诊断信息。

Table
输入预测要素
(可选)

表示将进行预测的位置的要素类。 要素类必须包含从输入点要素中使用的任何提供的解释变量字段。

使用空间细化时,可以使用原始输入点要素作为输入预测要素来接收对整个数据集的预测。

Feature Layer
输出预测要素
(可选)

输出要素类将包含应用于输入预测要素的预测模型的结果。

Feature Class
输出预测栅格
(可选)

包含匹配解释栅格的每个像元的预测结果的输出栅格。 默认像元大小为解释训练栅格中像元大小的最大值。

Raster Dataset
匹配解释变量
(可选)

输入点要素和输入预测要素的匹配解释变量字段。

Value Table
匹配距离要素
(可选)

用于训练和预测的匹配距离要素。

Value Table
匹配解释栅格
(可选)

用于训练和预测的匹配栅格。

Value Table
允许数据范围之外的预测
(可选)

指定当解释变量值超出训练中使用的值范围时,预测是否允许外推。

  • 选中 - 预测将允许外推超出训练中使用的值范围。 这是默认设置。
  • 未选中 - 预测不允许外推超出训练中使用的值范围。
Boolean
重采样方案
(可选)

指定将用于执行预测模型的交叉验证的方法。 交叉验证会在模型训练期间排除一部分数据,并在模型训练后使用该数据来测试模型的性能。

  • 不会执行交叉验证。 这是默认设置
  • 随机点将被随机分组,在进行交叉验证时每组将被排除一次。 在组数参数中指定组的数量。
String
组数
(可选)

将用于随机重采样方案的交叉验证的组数。 输出训练要素中的字段指示每个点分配到的组。 默认值为 3。 最少 2 组,最多 10 组。

Long
输出已训练模型文件
(可选)

将保存训练后模型的输出模型文件,稍后可用于预测。

File

arcpy.stats.PresenceOnlyPrediction(input_point_features, {contains_background}, {presence_indicator_field}, {explanatory_variables}, {distance_features}, {explanatory_rasters}, {basis_expansion_functions}, {number_knots}, {study_area_type}, {study_area_polygon}, {spatial_thinning}, {thinning_distance_band}, {number_of_iterations}, {relative_weight}, {link_function}, {presence_probability_cutoff}, {output_trained_features}, {output_trained_raster}, {output_response_curve_table}, {output_sensitivity_table}, {features_to_predict}, {output_pred_features}, {output_pred_raster}, {explanatory_variable_matching}, {explanatory_distance_matching}, {explanatory_rasters_matching}, {allow_predictions_outside_of_data_ranges}, {resampling_scheme}, {number_of_groups}, {output_trained_model})
名称说明数据类型
input_point_features

点要素表示已知发生感兴趣现象的位置。

Feature Layer
contains_background
(可选)

指定输入点要素是否包含背景点。

如果输入点不包含背景点,该工具将使用解释训练栅格中的像元生成背景点。 该工具使用背景点对未知位置的景观特征进行建模,并将它们与已知存在位置的景观特征进行比较。 因此,可以将背景点视为研究区域。 通常情况下,这些是未知感兴趣现象存在的位置。 然而,如果任何关于背景点的信息是已知的,则可以使用 relative_weight 参数来指示此内容。

  • PRESENCE_AND_BACKGROUND_POINTS输入点要素包含背景点。
  • PRESENCE_ONLY_POINTS输入点要素不包含背景点。 这是默认设置。
Boolean
presence_indicator_field
(可选)

来自输入点要素的字段,其中包含指示每个点为存在 (1) 或背景 (0) 的二进制值。 该字段必须为数值型。

Field
explanatory_variables
[[Variable, Categorical],...]
(可选)

表示解释变量的字段列表,这些变量将有助于预测存在概率。 可以指定每个变量是分类变量还是数值变量。 为代表类或类别(例如土地覆被)的每个变量指定 CATEGORICAL 选项。

Value Table
distance_features
[distance_features,...]
(可选)

将用于自动创建解释变量的要素图层或要素类列表,这些解释变量表示从输入点要素到最近提供的距离要素的距离。 如果输入解释训练距离要素为面要素或线要素,则距离属性将计算为最近线段和点之间的距离。

Feature Layer
explanatory_rasters
[[Variable, Categorical],...]
(可选)

将用于在模型中自动创建解释训练变量的栅格列表,其值是从栅格中提取的。 对于输入点要素中的每个要素(存在点和背景点),将在此确切位置提取栅格像元的值。

提取连续栅格的栅格值时,将使用双线性栅格重采样。 从分类栅格中提取栅格值时,将使用最邻近分配法。

可以指定每个栅格值是分类变量还是数值变量。 为代表类或类别(例如土地覆被)的每个栅格指定 CATEGORICAL 选项。

Value Table
basis_expansion_functions
[basis_expansion_functions,...]
(可选)

指定将用于变换提供的解释变量以在模型中使用的基函数。 如果选择了多个基函数,该工具将生成多个变换后的变量并尝试在模型中使用它们。

  • LINEAR将应用对输入变量的线性变换。 这是默认设置
  • PRODUCT将使用连续解释变量的成对乘法,生成交互变量。 此选项仅在提供了多个解释变量时可用。
  • HINGE将连续解释变量值转换为两个段,一个静态段(全为 0 或 1)和一个线性函数(增加或减少)。
  • THRESHOLD连续解释变量值将转换为由 0 和 1 组成的二进制变量。
  • QUADRATIC将返回每个连续解释变量值的平方。
String
number_knots
(可选)

铰链和阈值解释变量扩展将使用的节数。 该值控制创建的阈值数量,并将使用每个阈值创建多个解释变量扩展。 该值必须介于 2 到 50 之间。 默认值为 10。

Long
study_area_type
(可选)

指定将用于定义当输入点要素不包含背景点时可能存在的位置的研究区域类型。

  • CONVEX_HULL将使用包含输入点要素中所有存在点的最小凸多边形。 这是默认设置
  • RASTER_EXTENT将使用解释训练栅格的相交范围。
  • STUDY_POLYGON将使用由面要素类定义的自定义研究区域。
String
study_area_polygon
(可选)

包含定义自定义研究区域的面要素类。 输入点要素必须位于面要素覆盖的自定义研究区域内。 一个研究区域可以由多个面组成。

Feature Layer
spatial_thinning
(可选)

指定在训练模型之前是否将空间细化应用于存在点和背景点。

空间细化通过移除点并确保剩余点具有最小最近邻距离(在 thinning_distance_band 参数中设置)来帮助减少采样偏差。 空间细化也适用于背景点,无论它们是在输入点要素中提供还是由工具生成。

  • THINNING将应用空间细化。
  • NO_THINNING不应用空间细化。 这是默认设置。
Boolean
thinning_distance_band
(可选)

应用空间细化时任何两个存在点或任何两个背景点之间的最小距离。

Linear Unit
number_of_iterations
(可选)

将用于寻找最佳空间细化解决方案的运行次数,力求在保持尽可能多的存在点和背景点的同时,确保任何两个存在点或两个背景点之间的距离均不在指定的 thinning_distance_band 参数值内。 最少可能是 1 次迭代,最多可能是 50 次迭代。 默认值为 10。

此参数仅适用于应用于输入点要素中的存在点和背景点的空间细化。 应用于从栅格单元生成的背景点的空间细化通过将栅格单元重新采样到指定的 thinning_distance_band 参数值来进行空间细化,而无需迭代以获得最佳解决方案。

Long
relative_weight
(可选)

一个介于 1 和 100 之间的值,用于指定存在点与背景点的相对信息权重。 默认值为 100。

较高的值表明存在点是主要的信息来源;背景点是否代表存在或缺失是未知的,背景点在模型中的权重较低。 较低的值表示背景点也提供可与存在点结合使用的有价值的信息;背景点代表缺失的可信度更高,它们的信息可以在模型中用作缺失位置。

Long
link_function
(可选)

指定将模型的无界输出转换为 0 到 1 之间的数字的函数。 该值可以解释为该位置的存在概率。 每个选项将相同的连续值转换为不同的概率。

  • CLOGLOGC-log-log 链接函数将用于将预测转换为概率。 当现象的存在和位置明确时,建议使用此选项,例如,在模拟固定植物物种的存在时。 这是默认设置。
  • LOGISTIC逻辑链接函数将用于将预测转换为概率。 当现象的存在和位置不明确时,建议使用此选项,例如,在模拟迁徙动物物种的存在时。
String
presence_probability_cutoff
(可选)

中断值介于 0.01 和 0.99 之间,用于确定哪些概率与结果分类中的存在相对应。 中断值用于使用训练数据和已知存在点帮助评估模型的性能。 在地理处理消息和输出训练要素中提供分类诊断信息。

Double
output_trained_features
(可选)

将包含模型训练中使用的所有要素和解释变量的输出要素类。

Feature Class
output_trained_raster
(可选)

具有像元值的输出栅格,使用所选链接函数指示存在概率。 默认像元大小为解释训练栅格中像元大小的最大值。 仅当输入点要素不包含背景点时,才能创建输出训练栅格。

Raster Dataset
output_response_curve_table
(可选)

输出表将包含来自训练模型的诊断,这些诊断表明在考虑模型中所有其他解释变量的平均影响的情况下,每个解释变量对存在概率的影响。

该表将有最多两个部分依赖性图的派生图表:一组连续变量的折线图和一组分类变量的条形图。

Table
output_sensitivity_table
(可选)

当概率存在中断值从 0 变为 1 时,输出表将包含训练模型准确性的诊断信息。

Table
features_to_predict
(可选)

表示将进行预测的位置的要素类。 要素类必须包含从输入点要素中使用的任何提供的解释变量字段。

使用空间细化时,可以使用原始输入点要素作为输入预测要素来接收对整个数据集的预测。

Feature Layer
output_pred_features
(可选)

输出要素类将包含应用于输入预测要素的预测模型的结果。

Feature Class
output_pred_raster
(可选)

包含匹配解释栅格的每个像元的预测结果的输出栅格。 默认像元大小为解释训练栅格中像元大小的最大值。

Raster Dataset
explanatory_variable_matching
[[Prediction, Training],...]
(可选)

输入点要素和输入预测要素的匹配解释变量字段。

Value Table
explanatory_distance_matching
[[Prediction, Training],...]
(可选)

用于训练和预测的匹配距离要素。

Value Table
explanatory_rasters_matching
[[Prediction, Training],...]
(可选)

用于训练和预测的匹配栅格。

Value Table
allow_predictions_outside_of_data_ranges
(可选)
  • ALLOWED预测将允许外推超出训练中使用的值范围。 这是默认设置。
  • NOT_ALLOWED预测不允许外推超出训练中使用的值范围。
Boolean
resampling_scheme
(可选)

指定将用于执行预测模型的交叉验证的方法。 交叉验证会在模型训练期间排除一部分数据,并在模型训练后使用该数据来测试模型的性能。

  • NONE不会执行交叉验证。 这是默认设置
  • RANDOM点将被随机分组,在进行交叉验证时每组将被排除一次。 在 number_of_groups 参数中指定组的数量。
String
number_of_groups
(可选)

将用于随机重采样方案的交叉验证的组数。 输出训练要素中的字段指示每个点分配到的组。 默认值为 3。 最少 2 组,最多 10 组。

Long
output_trained_model
(可选)

将保存训练后模型的输出模型文件,稍后可用于预测。

File

代码示例

PresenceOnlyPrediction 示例 1(Python 窗口)

以下 Python 脚本演示了如何使用 PresenceOnlyPrediction 函数。


# Import system modules 
import arcpy 

# Call Presence-only Prediction (MaxEnt)
arcpy.stats.PresenceOnlyPrediction(
    input_point_features=r"C:\MyData.gdb\Presence_Points", 
    contains_background="PRESENCE_ONLY_POINTS",
    presence_indicator_field=None,
    explanatory_variables=None,
    distance_features=None,
    explanatory_rasters=[[r"C:\MyData.gdb\Elevation", "false"], 
                         [r"C:\MyData.gdb\Canopy", "false"], 
                         [r"C:\MyData.gdb\ClimacticWaterDeficit", "false"], 
                         [r"C:\MyData.gdb\LandCoverClassification", "true"], 
                         [r"C:\MyData.gdb\UpperSlope", "false"],
                         [r"C:\MyData.gdb\LowerSlope", "false"]], 
    basis_expansion_functions="LINEAR;QUADRATIC;PRODUCT;HINGE",
    number_knots=10,
    study_area_type="CONVEX_HULL",
    study_area_polygon=None,
    spatial_thinning="THINNING",
    thinning_distance_band="500 Meters", 
    number_of_iterations=10
    relative_weight=100
    link_function="CLOGLOG"
    presence_probability_cutoff=0.5
    output_trained_features=r"C:\MyData.gdb\Out_Trained_Features"
    output_trained_raster=r"C:\MyData.gdb\Out_Trained_Raster"
    output_response_curve_table=r"C:\MyData.gdb\Out_Response_Curve_Table"
    output_sensitivity_table=r"C:\MyData.gdb\Out_Sensitivity_Table"
    features_to_predict=r"C:\MyData.gdb\In_Prediction_Features"
    output_pred_features=r"C:\MyData.gdb\Out_Prediction_Features"
    output_pred_raster=r"C:\MyData.gdb\Out_Prediction_Raster",
    explanatory_variable_matching=None
    explanatory_distance_matching=None
    explanatory_rasters_matching=[[r"C:\MyData.gdb\Prediction_Elevation", "false"], 
                                  [r"C:\MyData.gdb\Prediction_Canopy", "false"], 
                                  [r"C:\MyData.gdb\Prediction_ClimacticWaterDeficit", "false"], 
                                  [r"C:\MyData.gdb\Prediction_LandCoverClassification", "true"], 
                                  [r"C:\MyData.gdb\Prediction_UpperSlope", "false"],
                                  [r"C:\MyData.gdb\Prediction_LowerSlope", "false"]], 
    allow_predictions_outside_of_data_ranges="ALLOWED"
    resampling_scheme="RANDOM"
    number_of_groups=3)
PresenceOnlyPrediction 示例 2(独立脚本)

以下 Python 脚本演示了如何使用 PresenceOnlyPrediction 函数。


# This example is a simple run of the tool using presence-only points and 
# explanatory training rasters to train an initial model. No outputs are 
# specified, as the intent is to interrogate geoprocessing messages to gain 
# an initial sense of model performance. 

# Import system modules 
import arcpy 

try: 
    # Set the workspace and overwrite properties
    arcpy.env.workspace = r"C:\MyData.gdb" 
    arcpy.env.overwriteOutput = True 
    
    # Set the input point feature parameters
    in_point_features = "presence_observations"
    contains_background = "PRESENCE_ONLY_POINTS”
    
    # Set the explanatory Training variables, using only explanatory rasters
    # Note the categorical setting for the LandCoverClassification raster
    explanatory_rasters = [["Elevation", "false"], 
                           ["Canopy", "false"], 
                           ["ClimacticWaterDeficit", "false"], 
                           ["LandCoverClassification", "true"], 
                           ["UpperSlope", "false"],
                           ["LowerSlope", "false"]]
    
    # Set basis functions, adding quadratic to use the square of each variable
    basis_functions = "LINEAR;QUADRATIC"
    number_knots = 10

    # Set the study area
    study_area_type = "CONVEX_HULL"
    study_area_polygon = None
    
    # Set cross-validation options
    resampling_scheme = "RANDOM"
    number_of_groups = 3

    # Call the tool using the parameters defined above.
    arcpy.stats.PresenceOnlyPrediction(
        input_point_features=in_point_features,
        contains_background=contains_background,
        explanatory_rasters=explanatory_rasters,
        basis_expansion_functions=basis_functions,
        study_area_type=study_area_type,
        resampling_scheme=resampling_scheme,
        number_of_groups=number_of_groups)
PresenceOnlyPrediction 示例 3(独立脚本)

以下 Python 脚本演示了如何使用 PresenceOnlyPrediction 函数。


# This example uses presence and background points and explanatory 
# variables from rasters, fields, and distance features to train a 
# model, using additional parameters to apply basis functions, use 
# spatial thinning, perform cross-validation, and receive diagnostic 
# training outputs. 

# Import system modules 
import arcpy 

try: 
    # Set the workspace and overwrite properties
    arcpy.env.workspace = r"C:\MyData.gdb" 
    arcpy.env.overwriteOutput = True 

    ### MODEL INPUTS ###
    
    # Set the input point feature parameters
    in_point_features = "presence_observations"
    contains_background = "PRESENCE_AND_BACKGROUND_POINTS
    presence_indicator_field = "Presence"
    
    # Set the explanatory Training variables
    explanatory_fields = [["Survey_Region", "true"], 
                          ["Temperature", "false"], 
                          ["Humidity", "false"]]
    explanatory_rasters = [["Elevation", "false"], 
                           ["Canopy", "false"], 
                           ["ClimacticWaterDeficit", "false"], 
                           ["LandCoverClassification", "true"], 
                           ["UpperSlope", "false"],
                           ["LowerSlope", "false"]]
    explanatory_dist_features = [["Streams", "false"], 
                                 ["Lakes", "false"], 
                                 ["Roads", "false"]]                           
    
    ### MODEL CONFIGURATION ###

    # Set basis functions
    basis_functions = "LINEAR;QUADRATIC;PRODUCT;HINGE"
    number_knots = 10

    # Set the study area
    study_area_type = "CONVEX_HULL"
    study_area_polygon = None

    # Set spatial thinning 
    spatial_thinning = "THINNING"
    min_nearest_neighbor_distance = "500 Meters"
    number_of_iterations = 10

    # Set the relative weight of presence to background and link function, using
    # background points as observed absence
    relative_weight = 1
    link_function = "LOGISTIC"

    # Set the presence probability cutoff
    cutoff = 0.3

    ### MODEL OUTPUTS AND VALIDATION ###

    # Set training outputs for model evaluation
    out_trained_features = "Out_Trained_Features"
    out_trained_raster = "Out_Trained_Raster"
    out_response_curve_table = "Out_Response_Curves"
    out_sensitivity_table = "Out_Sensitivity_Table"
    
    # Set cross-validation options
    resampling_scheme = "RANDOM"
    number_of_groups = 3

    # Call the tool using the parameters defined above.
    arcpy.stats.PresenceOnlyPrediction(
        input_point_features=in_point_features,
        contains_background=contains_background,
        explanatory_variables=explanatory_fields,
        explanatory_rasters=explanatory_rasters,
        distance_features=explanatory_dist_features,
        basis_expansion_functions=basis_functions,
        number_knots=number_knots,
        study_area_type=study_area_type,
        spatial_thinning=spatial_thinning,
        thinning_distance_band=min_nearest_neighbor_distance,
        number_of_iterations=number_of_iterations,
        relative_weight=relative_weight,
        link_function=link_function,
        presence_probability_cutoff=cutoff,
        output_trained_features=out_trained_features,
        output_trained_raster=out_trained_raster,
        output_response_curve_table=out_response_curve_table,
        output_sensitivity_table=out_sensitivity_table,
        resampling_scheme=resampling_scheme,
        number_of_groups=number_of_groups)

环境

特殊情况

并行处理因子

仅当进行预测时,才会使用并行处理。

随机数生成器

始终使用 Mersenne Twister 随机数生成器。