标准化字段 (数据管理)

摘要

通过将字段中的值转换为遵循指定比例的值来标准化这些值。 标准化方法包括 z 得分、最小值-最大值、最大绝对值和稳健标准化。

插图

标准化字段的值。
可以使用四种方法之一来标准化字段的值。

使用情况

    警告:

    此工具会修改输入数据。 有关详细信息以及避免数据被意外更改的策略,请参阅修改或更新输入数据的工具

  • 系统提供四种标准化方法:Z 得分最小值-最大值最大绝对值稳健标准化

    • Z 得分方法使用标准差(也称为标准得分)来测量某个值与字段中所有值的平均值之间的差值。
      • 潜在应用 - 评估某个值相对于字段中值分布的显著性。 例如,可以在整个国家/地区其他县的背景下评估某个县的选民参与情况,从而帮助确定典型的选民参与模式以及选民参与率具有显著高值和低值的的县。
      • 注意事项 - 此方法期望正态分布。 因此,如果数据分布严重偏斜,则不建议使用此方法。
      • 公式 - Z 得分公式,其中 x' 为标准化值,x 为原始值, 为均值(平均值),σx 为标准差。
    • 最小值-最大值将保留原始数据值之间的关系,同时将这些值转换为用户指定的最小值和最大值之间的比例。
      • 潜在应用 - 房地产评估师可能希望在模型(例如基于森林的分类与回归工具)中使用房屋的特征(例如房屋中的房间数量或房屋的年限)之前,将这些特征缩放至相同比例。
      • 注意事项 - 此方法容易受到数据中异常值或极值的影响。
      • 公式 - 最小值-最大值公式,其中 x 为标准化值,x 为原始值,min(x) 为数据的最小值,max(x) 为数据的最大值,a 为用户定义的最小值,b 为用户定义的最大值。
    • 绝对最大值方法通过将每个值除以字段中的最大绝对值来比较某个值与分布中的最大绝对值之间的差值。

      • 潜在应用 - 在使用具有稳定和逻辑最大值的数据,并且您想要将每个值与该最大值进行比较时,此方法将非常有用。 例如,一个县中的投票数不能超过该县中投票年龄的人数。 投票比例最高的县将达到该最大值,并根据绝对最大选民参与率来评估所有其他县。
      • 注意事项 - 输出比例介于 -1 和 1 之间。 较大的正值对应于接近 1 的值,较大的负值对应于接近 -1 的值。
      • 公式 - 绝对最大值公式,其中 x' 为标准化值,x 为原始值,max(|x|) 为数据绝对值的最大值。

    • 稳健标准化方法将使用 z 得分的稳健变体对指定字段中的值进行标准化。 此变量将使用中位数和四分位数范围来代替平均值和标准差。

      • 潜在应用 - 房地产评估师正在尝试估算某个城市中的房屋价值,而具有极高房屋价值的高级邻域导致数据中出现异常值。 评估师将使用稳健标准化来降低这些异常值对该城市房屋价值分布的影响。
      • 注意事项 - 通过使用中位数和四分位数范围,在尝试降低分布中异常值的影响时,这可能是一种有效的方法。
      • 公式 - 稳健标准化公式,其中 x 为标准化值,x 为原始值,median(x) 为数据的中位数,IQR(x) 为数据的四分位数范围。

  • 如果提供了多个字段,则会将指定标准化方法应用于所有字段。

  • 该工具将修改输入数据,并将新创建的标准化字段附加到输入表或要素类。

  • 对于每个选定字段,将在地理处理消息结果中提供汇总统计数据。 这些统计数据包括最大值、最小值、总和、平均值、标准差、中位数、偏度和峰度。

参数

标注说明数据类型
输入表

表格,其中包含具有要标准化的值的字段。

Table View; Raster Layer; Mosaic Layer
要标准化的字段

包含要标准化的值的字段。 对于每个字段,可以指定输出字段名称。 如果未提供输出字段名称,则该工具将使用字段名称和所选方法来创建输出字段名称。

Value Table
标准化方法
(可选)

指定用于标准化指定字段中包含的值的方法。

  • Z 得分将使用标准得分,即高于或低于平均值的标准差的数量。 计算为 Z 得分公式,该公式将计算某列中的值与平均值之间的差值,然后除以列中的值的标准差。 这是默认设置。
  • 最小值 - 最大值这些值将转换为用户指定的最小值和最大值之间的比例。
  • 绝对最大值将该列中的每个值除以该列中的最大绝对值。
  • 稳健标准化Z 得分公式的稳健变体可用于标准化指定字段中的值。 此变量将使用中位数和四分位数范围来代替平均值和标准差。
String
最小值
(可选)

标准化方法参数的最小值-最大值方法所使用的值,用于指定所提供输出值的比例中的最小值。

Double
最大值
(可选)

标准化方法参数的最小值-最大值方法所使用的值,用于指定所提供输出值的比例中的最大值。

Double

派生输出

标注说明数据类型
更新的输入表

包含新编码字段的表。

Table View

arcpy.management.StandardizeField(in_table, fields, {method}, {min_value}, {max_value})
名称说明数据类型
in_table

表格,其中包含具有要标准化的值的字段。

Table View; Raster Layer; Mosaic Layer
fields
[[input_field, output_field],...]

包含要标准化的值的字段。 对于每个字段,可以指定输出字段名称。 如果未提供输出字段名称,则该工具将使用字段名称和所选方法来创建输出字段名称。

Value Table
method
(可选)

指定用于标准化指定字段中包含的值的方法。

  • Z-SCORE将使用标准得分,即高于或低于平均值的标准差的数量。 计算为 Z 得分公式,该公式将计算某列中的值与平均值之间的差值,然后除以列中的值的标准差。 这是默认设置。
  • MIN-MAX这些值将转换为用户指定的最小值和最大值之间的比例。
  • MAXABS将该列中的每个值除以该列中的最大绝对值。
  • ROBUSTZ 得分公式的稳健变体可用于标准化指定字段中的值。 此变量将使用中位数和四分位数范围来代替平均值和标准差。
String
min_value
(可选)

method 参数的 MIN-MAX 方法所使用的值,用于指定所提供输出值的比例中的最小值。

Double
max_value
(可选)

method 参数的 MIN-MAX 方法所使用的值,用于指定所提供输出值的比例中的最大值。

Double

派生输出

名称说明数据类型
updated_table

包含新编码字段的表。

Table View

代码示例

StandardizeField 示例 1(Python 窗口)

下面的 Python 窗口脚本演示了如何使用 StandardizeField 工具。


arcpy.management.StandardizeField("County_VoterTurnout", 
       "voter_turnout voter_turnout_Z_SCORE", "Z-SCORE")
StandardizeField 示例 2(独立脚本)

以下独立脚本演示了如何使用 StandardizeField 工具。


# Import system modules
import arcpy

try:
    # Set the workspace and input features.
    arcpy.env.workspace = r"C:\\Standardize\\MyData.gdb"
    inputFeatures = ”County_VoterTurnout”

    # Set the input fields that will be standardized
    fields = "votes_total;rawdiff_dem_vs_gop;pctdiff_dem_vs_gop"

    # Set the standardization method.
    method = "ROBUST"

    # Run the Standardize Field tool
    arcpy.management.StandardizeField(inputFeatures, fields, method)

except arcpy.ExecuteError:
    # If an error occurred when running the tool, print the error message.
    print(arcpy.GetMessages())

环境