概要
フィールド内の値を指定のスケールに準拠した値に変換することで標準化します。標準化方法には、Z スコア、最小値-最大値、絶対最大値、およびロバスト標準化があります。
図
使用法
[Z スコア]、[最小値-最大値]、[絶対最大値]、および [ロバスト標準化] という 4 つの標準化方法があります。
- [Z スコア] 方法では、標準偏差を使用してフィールド内の 1 つの値とすべての値の平均値との差を計測します。この方法は標準スコアとも呼ばれています。
- 潜在用途 - フィールド内の値の分布を基準にして値の有意性を評価します。たとえば、ある郡の有権者投票率を国内のその他の郡と照らし合わせて評価することができます。これにより、典型的な有権者投票率のパターンや有権者投票率の有意に高い郡と有意に低い郡を特定できるようになります。
- 考慮事項 - この方法では正規分布が求められます。したがって、データの分布が大きく偏っている場合は、この方法をお勧めしません。
- 式 - 。ここで、x' は標準化後の値、x は元の値、x は平均値、σx は標準偏差です。
- [最小値-最大値] 方法では、元のそれぞれのデータ値の関係を維持しながら、ユーザーが指定した最小値から最大値までの範囲内で値をスケールに変換します。
- 潜在用途 - 不動産鑑定士は、建物内の部屋数や建物の築年数といった住宅の特徴を [フォレストベースの分類と回帰分析 (Forest-based Classification And Regression)] ツールなどのモデルで使用する前に、同じレベルにスケール処理することができます。
- 考慮事項 - この方法は、データ内の外れ値や極値の影響を受ける傾向があります。
- 式 - 。ここで、x' は標準化後の値、x は元の値、min(x) はデータの最小値、max(x) はデータの最大値、a はユーザーが指定した最小値、b はユーザーが指定した最大値です。
- [絶対最大値] 方法では、各値をフィールド内の絶対最大値で除算して、分布内の 1 つの値と絶対最大値との差を比較します。
- 潜在用途 - この方法は、安定した論理的な最大値が設定されたデータを操作していて、各値をその最大値と比較する場合に有効です。たとえば、ある郡の得票数に、その郡の有権者人口を上回る投票を含めることはできません。投票率が最も高い郡が最大値になり、有権者投票率の絶対最大値を基準にしてその他すべての郡が評価されます。
- 考慮事項 - 出力スケールは -1 ~ 1 です。正の値が大きいほど値が 1 に近づき、負の値が大きいほど値が -1 に近づきます。
- 式 - 。ここで、x' は標準化後の値、x は元の値、max(|x|) はデータの絶対最大値です。
- [ロバスト標準化] 方法では、Z スコアのロバスト バリアントを使用して、指定したフィールド内の値を標準化します。このバリアントは、平均値と標準偏差の代わりに中央値と四分位範囲を使用します。
- 潜在用途 - 不動産鑑定士は、ある都市の住宅の価値を評価しようとしましたが、住宅の価値が極端に高い近郊の高級住宅地でデータ内に外れ値が発生しました。不動産鑑定士はロバスト標準化を使用して、これらの外れ値がその都市の住宅の価値の分布に与えている影響を緩和させることができます。
- 考慮事項 - この方法は、中央値と四分位範囲を使用するため、外れ値が分布に与えている影響を緩和させる場合に有効です。
- 式 - 。ここで、x' は標準化後の値、x は元の値、median(x) はデータの中央値、IQR(x) はデータの四分位範囲です。
- [Z スコア] 方法では、標準偏差を使用してフィールド内の 1 つの値とすべての値の平均値との差を計測します。この方法は標準スコアとも呼ばれています。
フィールドが複数存在する場合は、指定した標準化方法がすべてのフィールドに適用されます。
このツールを実行すると、入力データが変更され、新しく作成された標準化後のフィールドが入力テーブルまたはフィーチャクラスに追加されます。
選択したフィールドごとに、ジオプロセシング メッセージ結果で統計情報のサマリーが生成されます。これには、最大値、最小値、合計値、平均値、標準偏差、中央値、歪度、尖度が含まれています。
構文
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 (オプション) | 指定したフィールドに含まれている値の標準化に使用する方法を指定します。
| String |
min_value (オプション) | 生成された出力値のスケールで最小値を指定するために [method] パラメーターの [MIN-MAX] 方法で使用される値。 | Double |
max_value (オプション) | 生成された出力値のスケールで最大値を指定するために [method] パラメーターの [MIN-MAX] 方法で使用される値。 | Double |
派生した出力
名前 | 説明 | データ タイプ |
updated_table | 新しいエンコード済みフィールドを含むテーブル。 | テーブル ビュー |
コードのサンプル
次の Python ウィンドウ スクリプトは、StandardizeField ツールの使用方法を示しています。
arcpy.management.StandardizeField("County_VoterTurnout",
"voter_turnout voter_turnout_Z_SCORE", "Z-SCORE")
次のスタンドアロン スクリプトで、この 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())
環境
ライセンス情報
- Basic: はい
- Standard: はい
- Advanced: はい