予測のためのデータを準備 (Prepare Data for Prediction) (空間統計)

サマリー

[フォレストベースおよびブースト分類と回帰分析 (Forest-based and Boosted Classification and Regression)][一般化線形回帰分析 (Generalized Linear Regression)][Presence-only 予測 (Presence-only Prediction)] ツール、その他のモデルにおける予測ワークフロー用のデータを強化します。 これには、フィーチャをトレーニング セットとテスト セットに分割すること、ラスターや距離フィーチャから変数を抽出すること、分類の正確度を高めるためにデータをバランス調整すること、偏った空間データの空間間引きを行うことが含まれます。

予測のためのデータを準備の仕組みの詳細

予測のためのデータを準備ツールの図

使用法

  • バランス調整を適用したトレーニング データは、予測モデルのトレーニングにのみ使用する必要があります。 精度の偏りやデータ漏洩を避けるため、バランス調整されたデータでモデルを検証しないでください。

  • ラスターを説明変数として使用するには、ArcGIS Spatial Analyst エクステンション が必要です。

  • 分類を使用してまれなイベントや不均衡なカテゴリーを予測する場合は、[バランス調整タイプ] パラメーターを使用して、各カテゴリー レベル内のサンプル数をバランス調整してください。 オーバーサンプリング手法は全体のフィーチャ数を増加させ、アンダーサンプリング手法は全体のフィーチャ数を減少させます。

  • [分割タイプ] パラメーターが [ランダム分割] または [空間分割] に設定されている場合、出力テスト フィーチャを使用して [空間統計モデル ファイルを使用して予測 (Predict Using Spatial Statistics Model File)] ツールでモデル精度を評価できます。 選択した解析ツールを実行する際は、出力が空間統計モデル ファイルであることを確認してください。

  • [分割タイプ] パラメーターが [ランダム分割] または [空間分割] に設定されている場合、ツールでは、予測対象変数およびすべての説明変数のカテゴリー レベルが出力トレーニング フィーチャに含まれます。 テスト データセット内には、すべてのカテゴリー レベルが存在する必要はありません。

パラメーター

ラベル説明データ タイプ
入力フィーチャ

分割、抽出、バランス調整の実行対象となるフィーチャです。

Feature Class
出力フィーチャ

モデル ツールでトレーニング フィーチャとして使用される出力フィーチャです。

Feature Class
分割タイプ
(オプション)

入力フィーチャをトレーニング サブセットとテスト サブセットに分割する方法を指定します。

  • ランダム分割入力フィーチャはランダムにトレーニング サブセットとテスト サブセットに分割されます。 これがデフォルトです。
  • 空間分割入力フィーチャは空間的にトレーニング サブセットとテスト サブセットに分割されます。
  • なし入力フィーチャは分割されません。
String
出力テスト サブセット フィーチャ
(オプション)

[入力フィーチャ] パラメーター値の一部で、テスト フィーチャとして使用できます。 このパラメーターは、[分割タイプ] パラメーターが [ランダム分割] または [空間分割] に設定されている場合に利用できます。

Feature Class
予測対象変数
(オプション)

モデルのトレーニングに使用される値を含む [入力フィーチャ] パラメーター値から生成された変数です。 このフィールドには、不明なロケーションでの予測に使用される変数の既知 (トレーニング) の値が含まれます。

Field
変数をカテゴリーとして処理
(オプション)

[予測対象変数] パラメーター値をカテゴリー変数として扱うかどうかを指定します。

  • オン - [予測対象変数] パラメーター値はカテゴリー変数として扱われます。
  • オフ - [予測対象変数] パラメーター値はカテゴリー変数としてではなく、連続値として扱われます。 これがデフォルトです。

Boolean
説明変数
(オプション)

[予測対象変数] パラメーター値の値またはカテゴリーの予測に役立つ説明変数を表すフィールドのリスト。 クラスまたはカテゴリーを表す変数 (たとえば、土地被覆や有無など) の場合に [カテゴリー] チェックボックスをオンにします。

Value Table
説明距離フィーチャ
(オプション)

説明トレーニング距離フィーチャ。 指定されたフィーチャから [入力フィーチャ] パラメーター値までの距離が算出され、説明変数が自動的に作成されます。 [入力フィーチャ] パラメーター値内の個々のフィーチャから、このパラメーターの最も近いフィーチャまでの距離が計算されます。 このパラメーター値がポリゴンまたはラインの場合、距離の属性はフィーチャのペアの最も近いセグメント間の距離として計算されます。

Feature Layer
説明ラスター
(オプション)

ラスターから抽出された説明トレーニング変数。 ラスター セル値が抽出され、説明トレーニング変数が自動的に作成されます。 [入力フィーチャ] パラメーター値のフィーチャごとに、該当するロケーションでラスター セルの値が抽出されます。 連続ラスターからラスター値を抽出する場合には、共一次内挿法によるラスターのリサンプリングが使用されます。 カテゴリー ラスターからラスター値を抽出する場合には、最近隣内挿法による近接割り当てが使用されます。 クラスまたはカテゴリーを表すラスター (土地被覆や有無など) の場合に [カテゴリー] チェックボックスをオンにします。

Value Table
トレーニング用にポリゴンをラスター解像度に変換
(オプション)

[入力フィーチャ] パラメーター値がカテゴリー [予測対象変数] パラメーター値を持つポリゴンであり、[説明ラスター] パラメーター値だけが指定されている場合のポリゴンの処理方法を示します。

  • オン - ポリゴンは、重心がそのポリゴン内にあるすべてのラスター セルに分割されます。 それぞれの重心でラスター値が抽出され、モデルのトレーニングに使用されます。 モデルは、ポリゴンではなく、各セルの中心点について抽出されたラスター値でトレーニングされるようになります。 これがデフォルトです。
  • オフ - ポリゴンごとに、基になる連続ラスターの平均値、または基になるカテゴリー ラスターの最頻値が割り当てられます。

Boolean
テスト サブセットとしてのデータの割合
(オプション)

テスト データセットまたは検証データセットとして予約される入力フィーチャの割合。 デフォルトは 10 です。

Double
バランス調整タイプ
(オプション)

不均衡な [予測対象変数] パラメーター値、または入力フィーチャの空間バイアスを調整する方法を指定します。 バランス調整は [出力フィーチャ] パラメーター値にのみ適用されます。

  • なし入力フィーチャはバランス調整されません。 これがデフォルトです。
  • 空間間引きフィーチャを削除し、残りのポイントの距離が [最小最近傍距離] パラメーター値以上となるようにすることで、空間的バイアスの影響が軽減されます。 [予測対象変数] パラメーター値がカテゴリーの場合、空間間引きは各クラスに個別に適用されます。 それ以外の場合、空間間引きは [出力フィーチャ] パラメーター値内のすべてのフィーチャに適用されます。
  • ランダム アンダーサンプリング少数クラスのフィーチャ数と一致するまで、各多数クラスからランダムにフィーチャが削除されます。
  • Tomek アンダーサンプリング各多数クラスにおいて、少数クラスのフィーチャに近いフィーチャが削除されます。 この方法によりクラス間の境界が改善されますが、クラスごとのフィーチャ数は異なる場合があります。
  • K-Medoids アンダーサンプリング多数クラスにおいて代表的でないフィーチャは、少数クラスのフィーチャ数と一致するまで削除されます。
  • ランダム オーバーサンプリング少数クラスのフィーチャは、フィーチャ数が多数クラスと一致するまでランダムに複製されます。
  • SMOTE (オーバーサンプリング)少数クラスでは、既存フィーチャ間での内挿によって合成フィーチャが生成され、フィーチャ数が多数クラスと一致するまで追加されます。
String
最小最近隣距離
(オプション)

空間間引きが適用される場合、任意の 2 つのポイント、または同じ [予測対象変数] パラメーター値カテゴリー内の任意の 2 つのポイントの間の最小距離を指定します。

Linear Unit
間引きの処理の反復回数
(オプション)

最適空間間引きの解を見つけるために使用される反復回数です。できるだけ多くのフィーチャを維持しつつ、指定した [最小最近傍距離] パラメーター値内にフィーチャが 2 つ存在しないようにします。 最小反復回数は 1、最大反復回数は 50 です。 デフォルトは 10 です。

Long
カテゴリー説明変数のエンコード
(オプション)

カテゴリー説明変数をエンコードするかどうかを指定します。

  • オン - カテゴリー説明変数がエンコードされます。 各カテゴリー値が新しいフィールドに変換され、値 0 または 1 が割り当てられます。 値 1 はそのカテゴリー値が存在することを、値 0 は存在しないことを表します。
  • オフ - カテゴリー説明変数はエンコードされません。 これがデフォルトです。

Boolean
入力フィーチャからすべてのフィールドを追加
(オプション)

入力フィーチャから出力フィーチャにすべてのフィールドをコピーするかどうかを指定します。

  • オフ - 入力フィールドのみが出力フィーチャにコピーされます。
  • オン - 入力フィーチャのすべてのフィールドが出力フィーチャにコピーされます。 これがデフォルトです。

Boolean

arcpy.stats.PrepareData(in_features, out_features, {splitting_type}, {out_test_features}, {variable_predict}, {treat_variable_as_categorical}, {explanatory_variables}, {distance_features}, {explanatory_rasters}, {use_raster_values}, {percent}, {balancing_type}, {thinning_distance_band}, {number_of_iterations}, {encode_variables}, {append_all_fields})
名前説明データ タイプ
in_features

分割、抽出、バランス調整の実行対象となるフィーチャです。

Feature Class
out_features

モデル ツールでトレーニング フィーチャとして使用される出力フィーチャです。

Feature Class
splitting_type
(オプション)

入力フィーチャをトレーニング サブセットとテスト サブセットに分割する方法を指定します。

  • RANDOM_SPLIT入力フィーチャはランダムにトレーニング サブセットとテスト サブセットに分割されます。 これがデフォルトです。
  • SPATIAL_SPLIT入力フィーチャは空間的にトレーニング サブセットとテスト サブセットに分割されます。
  • NONE入力フィーチャは分割されません。
String
out_test_features
(オプション)

in_features パラメーター値の一部で、テスト フィーチャとして使用できます。 このパラメーターは、splitting_type パラメーターが RANDOM_SPLIT または SPATIAL_SPLIT に設定されている場合にアクティブになります。

Feature Class
variable_predict
(オプション)

モデルのトレーニングに使用される値を含む in_features パラメーター値から生成された変数です。 このフィールドには、不明なロケーションでの予測に使用される変数の既知 (トレーニング) の値が含まれます。

Field
treat_variable_as_categorical
(オプション)

variable_predict パラメーター値をカテゴリー変数として扱うかどうかを指定します。

  • CATEGORICALvariable_predict パラメーター値はカテゴリー変数として扱われます。
  • NUMERICvariable_predict パラメーター値はカテゴリー変数としては扱われず、連続値として扱われます。 これがデフォルトです。
Boolean
explanatory_variables
[explanatory_variables,...]
(オプション)

variable_predict の値またはカテゴリーの予測に役立つ説明変数を表すフィールドのリスト。 クラスまたはカテゴリーを表す変数 (たとえば、土地被覆や有無など) の場合に CATEGORICAL の値を使用します。

Value Table
distance_features
[distance_features,...]
(オプション)

説明トレーニング距離フィーチャ。 指定されたフィーチャから in_features パラメーター値までの距離が算出され、説明変数が自動的に作成されます。 in_features パラメーター値内の個々のフィーチャから、このパラメーターの最も近いフィーチャまでの距離が計算されます。 このパラメーター値がポリゴンまたはラインの場合、距離の属性はフィーチャのペアの最も近いセグメント間の距離として計算されます。

Feature Layer
explanatory_rasters
[explanatory_rasters,...]
(オプション)

ラスターから抽出された説明トレーニング変数。 ラスター セル値が抽出され、説明トレーニング変数が自動的に作成されます。 in_features パラメーター値のフィーチャごとに、該当するロケーションでラスター セルの値が抽出されます。 連続ラスターからラスター値を抽出する場合には、共一次内挿法によるラスターのリサンプリングが使用されます。 カテゴリー ラスターからラスター値を抽出する場合には、最近隣内挿法による近接割り当てが使用されます。 クラスまたはカテゴリーを表すラスター (土地被覆や有無など) の場合に CATEGORICAL の値を使用します。

Value Table
use_raster_values
(オプション)

in_features パラメーター値がカテゴリー variable_predict パラメーター値を持つポリゴンであり、explanatory_rasters パラメーター値だけが指定されている場合のポリゴンの処理方法を示します。

  • SAMPLE_POLYGONポリゴンは、重心がそのポリゴン内にあるすべてのラスター セルに分割されます。 それぞれの重心でラスター値が抽出され、モデルのトレーニングに使用されます。 モデルは、ポリゴンではなく、各セルの中心点について抽出されたラスター値でトレーニングされるようになります。 これがデフォルトです。
  • NO_SAMPLE_POLYGONポリゴンごとに、基になる連続ラスターの平均値、または基になるカテゴリー ラスターの最頻値が割り当てられます。
Boolean
percent
(オプション)

テスト データセットまたは検証データセットとして予約される入力フィーチャの割合。 デフォルトは 10 です。

Double
balancing_type
(オプション)

不均衡な variable_predict パラメーター値、または入力フィーチャの空間バイアスを調整する方法を指定します。 バランス調整は out_features パラメーター値にのみ適用されます。

  • NONE入力フィーチャはバランス調整されません。 これがデフォルトです。
  • SPATIAL_THINNINGフィーチャを削除し、残りのポイントの距離が thinning_distance_band パラメーター値以上となるようにすることで、空間的バイアスの影響が軽減されます。 variable_predict パラメーター値がカテゴリーの場合、空間間引きは各クラスに個別に適用されます。 それ以外の場合、空間間引きは out_features パラメーター値内のすべてのフィーチャに適用されます。
  • RANDOM_UNDER少数クラスのフィーチャ数と一致するまで、各多数クラスからランダムにフィーチャが削除されます。
  • TOMEK_UNDER各多数クラスにおいて、少数クラスのフィーチャに近いフィーチャが削除されます。 この方法によりクラス間の境界が改善されますが、クラスごとのフィーチャ数は異なる場合があります。
  • KMED_UNDER多数クラスにおいて代表的でないフィーチャは、少数クラスのフィーチャ数と一致するまで削除されます。
  • RANDOM_OVER少数クラスのフィーチャは、フィーチャ数が多数クラスと一致するまでランダムに複製されます。
  • SMOTE_OVER少数クラスでは、既存フィーチャ間での内挿によって合成フィーチャが生成され、フィーチャ数が多数クラスと一致するまで追加されます。
String
thinning_distance_band
(オプション)

空間間引きが適用される場合、任意の 2 つのポイント、または同じ variable_predict パラメーター値カテゴリー内の任意の 2 つのポイントの間の最小距離を指定します。

Linear Unit
number_of_iterations
(オプション)

最適空間間引きの解を見つけるために使用される反復回数です。できるだけ多くのフィーチャを維持しつつ、指定した thinning_distance_band パラメーター値内にフィーチャが 2 つ存在しないようにします。 最小反復回数は 1、最大反復回数は 50 です。 デフォルトは 10 です。

Long
encode_variables
(オプション)

カテゴリー説明変数をエンコードするかどうかを指定します。

  • ENCODEカテゴリー説明変数がエンコードされます。 各カテゴリー値が新しいフィールドに変換され、値 0 または 1 が割り当てられます。 値 1 はそのカテゴリー値が存在することを、値 0 は存在しないことを表します。
  • NO_ENCODEカテゴリー説明変数がエンコードされません。 これがデフォルトです。
Boolean
append_all_fields
(オプション)

入力フィーチャから出力フィーチャにすべてのフィールドをコピーするかどうかを指定します。

  • NO_APPEND入力フィールドのみが出力フィーチャにコピーされます。
  • APPEND入力フィーチャのすべてのフィールドが出力フィーチャにコピーされます。 これがデフォルトです。
Boolean

コードのサンプル

PrepareData の例 1 (Python ウィンドウ)

次の Python ウィンドウ スクリプトは、PrepareData 関数の使用方法を示しています。

# Prepare data for prediction.
import arcpy

arcpy.env.workspace = r"c:\data\project_data.gdb"
arcpy.stats.PrepareData(
    in_features = r"in_feature_class",
    out_features = r"out_feature_class",
    splitting_type="RANDOM_SPLIT",
    variable_predict=None,
    treat_variable_as_categorical="NUMERIC"   
)
PrepareData の例 2 (スタンドアロン スクリプト)

次のスタンドアロン スクリプトで、PrepareData 関数を使用する方法を示します。

# Prepare data for prediction.
import arcpy

# Set the current workspace.
arcpy.env.workspace = r"c:\data\project_data.gdb"

# Run tool
arcpy.stats.PrepareData(
    in_features = r"in_feature_class",
    out_features = r"out_feature_class",
    splitting_type="RANDOM_SPLIT",
    variable_predict=None,
    treat_variable_as_categorical="NUMERIC"
)

ライセンス情報

  • Basic: Yes
  • Standard: Yes
  • Advanced: Yes

関連トピック