Skip To Content

フォレストベースの分類と回帰分析

注意:

現在、この機能は Map Viewer Classic (旧名称 Map Viewer) でのみサポートされています。 新しい Map Viewer の今後のリリースで提供される予定です。

フォレストベースの分類と回帰分析 [フォレストベースの分類と回帰分析 (Forest-based Classification and Regression)] ツールは、教師付き機械学習の手法である Leo Breiman のランダム フォレスト アルゴリズムを転用してモデルを作成し、予測を生成します。 予測は、カテゴリ変数 (分類) と連続変数 (回帰) の両方に対して実行できます。 説明変数は、トレーニング フィーチャの属性テーブル内のフィールドの形態をとることができます。 トレーニング データに基づいてモデルのパフォーマンスを検証するだけでなく、フィーチャ対して予測を行うこともできます。

ワークフロー図

フォレストベースの分類と回帰分析 (Forest-based Classification and Regression)

解析での使用 GeoAnalytics Tools

GeoAnalytics Tools を使用した解析は、複数の ArcGIS GeoAnalytics Server コンピューターやコアにまたがる分散型処理を使用して実施されます。GeoAnalytics ToolsArcGIS Enterprise の標準的なフィーチャ解析ツールは、異なるパラメーターと機能を持ちます。これらの相違点については、「フィーチャ解析ツールの相違点」をご参照ください。

次に、このツールの使用例を示します。

  • 海草の発生に関するデータ、多数の環境説明変数、さらに上流の工場と主な港までの距離があれば、このような同じ環境説明変数についての予測に基づいて、将来の海草の発生を予測できます。
  • 今年販売された住宅の価格に基づいて、住宅の価格を予測できます。 住宅の販売価格と、寝室数、学校までの距離、主要な高速道路までの距離、平均収入、犯罪数などの情報を使用して、同様の住宅の販売価格を予測できます。
  • 子供の血中の鉛濃度やその子供の家の課税パーセル ID などの情報と、家の築年数などのパーセルレベルの属性、収入や教育レベルなどの国勢調査レベルの情報、鉛および鉛化合物の有害物排出を反映した全国規模のデータセットなどの情報を与えられた場合、血中の鉛濃度のデータなしでパーセルの鉛汚染のリスクを予測できます。 これらのリスク予測は、地域の警察や教育プログラムに情報を提供することができます。

使用上の注意

このツールでは、予測に使用できるモデルを作成するために、何百にも上るツリー (決定木のアンサンブルと呼ばれる) が作成されます。 それぞれの決定木の作成には、元の (トレーニング) データのランダムに生成された部分が使用されます。 ツリーごとに独自の予測が生成され、結果が決定されます。 フォレスト モデルでは、不明なサンプルの結果を予測または分類するために、すべての決定木から得た決定を考慮します。 個々のツリーにはモデルの過剰適合の問題があることが考えられるため、この処理は非常に重要です。予測用にフォレスト内の複数のツリーを組み合わせると、単一のツリーに関連する過剰適合の問題に対処できます。

このツールは、2 つの操作モードで使用できます。 [モデルをトレーニングしてモデルのパフォーマンスを評価する] オプションを使用すると、さまざまな説明変数およびツール設定を調査しながら、それぞれのモデルのパフォーマンスを評価できます。 適切なモデルが見つかったら、[モデルを調整して値を予測する] オプションを使用できます。 このツールはデータドリブンであり、大規模なデータセットで最適に動作します。 最適な結果を得るためには、少なくとも数百のフィーチャに対してこのツールをトレーニングする必要があります。 このツールは、小規模なデータセットには適していません。

[入力トレーニング フィーチャ] として、テーブル、ポイント、ライン、またはエリア フィーチャを指定できます。 このツールをマルチパート データに使用することはできません。

予測または説明のフィールドに NULL 値または空の文字列値が 1 つ以上存在するフィーチャは、出力から除外されます。 必要に応じて、[フィールド演算 (Calculate Field)] を使用して値を変更できます。

このツールは、さまざまな出力を生成します。 生成される出力は、次のように、操作モードに応じて変わります。

  • [モデルをトレーニングしてモデルのパフォーマンスを評価する] は、次の 2 つの出力を生成します。
    • 出力トレーニング フィーチャ - 作成されたモデルで使用されるすべての [入力トレーニング フィーチャ]、およびモデルで使用されるすべての説明変数を含みます。 また、モデルのトレーニングに使用されているすべてのフィーチャに関する予測も含まれます。この予測は、作成されたモデルのパフォーマンスを評価するのに役立ちます。
    • ツールのサマリー メッセージ - 作成されたモデルのパフォーマンスを理解するのに役立つメッセージです。 このメッセージには、モデル特性、Out of Bag エラー、変数重要度、検証診断に関する情報が記載されています。 結果のサマリーにアクセスするには、Map Viewer Classic で、生成されたレイヤーの下の [結果を表示] 結果を表示 をクリックします。 サマリー情報は、アイテム詳細ページにも追加されます。
  • [モデルを調整して値を予測する] は、次の 3 つの出力を生成します。
    • 出力トレーニング フィーチャ - 作成されたモデルで使用されるすべての [入力トレーニング フィーチャ]、およびモデルで使用されるすべての説明変数を含みます。 また、モデルのトレーニングに使用されているすべてのフィーチャに関する予測も含まれます。この予測は、作成されたモデルのパフォーマンスを評価するのに役立ちます。
    • 出力予測フィーチャ - 予測結果のレイヤーです。 予測は、トレーニング レイヤーから生成されたモデルを使用して、予測するレイヤー ([値を予測するレイヤーの選択]) に適用されます。
    • ツールのサマリー メッセージ - 作成されたモデルのパフォーマンスを理解するのに役立つメッセージです。 このメッセージには、モデル特性、Out of Bag エラー、変数重要度、検証診断に関する情報が記載されています。 結果のサマリーにアクセスするには、Map Viewer Classic で、生成されたレイヤーの下の [結果を表示] 結果を表示 をクリックします。 サマリー情報は、アイテム詳細ページにも追加されます。

[出力変数重要度テーブル] パラメーターを使用すると、変数重要度を評価するためのチャートの表示に使用するテーブルを作成できます。 上位 20 の変数重要度の値もメッセージ ウィンドウで通知されます。 チャートには、[コンテンツ] ウィンドウのレイヤーの下で直接アクセスできます。

説明変数は、フィールドから取得することができ、さまざまな値を含んでいる必要があります。 説明変数がカテゴリの場合は、[カテゴリ] チェックボックスをオンにします (文字列タイプの変数が自動的にオンになります)。 カテゴリ説明変数は 60 の個別値に制限されていますが、カテゴリの数を少なくすると、モデルのパフォーマンスが上がります。 データのサイズによっては、変数に含まれているカテゴリの数が多いと、モデルに大きく影響し、これによって予測結果が意味を持たなくなる可能性が高くなります。

説明変数を照合する場合、[トレーニング フィールド][予測フィールド] は同じタイプである必要があります (たとえば、[トレーニング フィールド] の double フィールドは [予測フィールド] の double フィールドに一致する必要があります)。

フォレストベースのモデルは外挿されないため、モデルのトレーニングが実行された値にしか分類も予測もできません。 ターゲットのフィーチャおよび変数の範囲内のトレーニング フィーチャおよび説明変数を使用して、モデルをトレーニングします。 トレーニング フィーチャに含まれていなかった予測説明変数にカテゴリが存在する場合は、このツールの実行に失敗します。

[ツリー数] パラメーターのデフォルト値は 100 です。フォレスト モデル内のツリーの数を増やすと、モデル予測の精度は上がりますが、そのモデルでの計算時間が長くなります。

このツールの機能、およびこの実装の基になる ArcGIS Pro ジオプロセシング ツールの詳細については、「フォレストベースの分類と回帰 (Forest-based Classification and Regression) の機能」をご参照ください。

制限事項

[フォレストベースの分類と回帰 (Forest-based Classification and Regression)] の GeoAnalytics の実装には、次の制限があります。

  • フィーチャ データセット (ポイント、ライン、ポリゴン、およびテーブル) が、入力としてサポートされています。 ラスターはサポートされていません。
  • トレーニング用の単一のレイヤーおよび予測用の単一のレイヤーがサポートされています。 複数のデータセットを 1 つに結合するには、[多変数グリッドの構築] ツールおよび [多変数グリッドから情報付加] ツールを使用して入力データを生成します。

ArcGIS API for Python の例

[フォレストベースの分類と回帰分析] ツールは ArcGIS API for Python で使用できます。

この例では、モデルを構築してアイス クリームの売上を予測します。


# Import the required ArcGIS API for Python modules
import arcgis
from arcgis.gis import GIS

# Connect to your ArcGIS Enterprise portal and confirm that GeoAnalytics is supported
portal = GIS("https://myportal.domain.com/portal", "gis_publisher", "my_password", verify_cert=False)
if not portal.geoanalytics.is_supported():
    print("Quitting, GeoAnalytics is not supported")
    exit(1)   

# Find the big data file share dataset you'll use for analysis
search_result = portal.content.search("", "Big Data File Share")

# Look through the search results for a big data file share with the matching name
bdfs_search = next(x for x in search_result if x.title == "bigDataFileShares_SaleData")

# Look through the big data file share for ice cream sales data
icecream_sales = next(x for x in bdfs_search.layers if x.properties.name == "IceCreamSales")

# Run the Forest-based Classification and Regression tool
forest_model = arcgis.geoanalytics.analyze_patterns.forest(prediction_type = "train",
																																																											input_layer = icecream_sales, 
																																																											var_prediction = {"fieldName":"Amount", "categorical":true},
																																																											var_explanatory = [{"fieldName":"Weekend", "categorical":true},
																																																										 {"fieldName":"Temperature", "categorical":false}, 
																																																										 {"fieldName":"Holiday", "categorical":true}, 
																																																										 {"fieldName":"DistanceToBeach", "categorical":false}],
																																																											sample_size = 50,
																																																											output_name = "ice_cream_prediction")

類似のツール

ArcGIS GeoAnalytics Server の [フォレストベースの分類と回帰分析 (Forest-based Classification and Regression)] ツールを使用して予測を生成するか、Leo Breiman のランダム フォレスト アルゴリズムを転用してモデルを作成します。 その他のツールは、類似した少し異なる問題を解決するのに効果的です。

Map Viewer Classic の解析ツール

ArcGIS GeoAnalytics Server[一般化線形回帰分析 (Generalized Linear Regression)] ツールを使用して、モデルおよび予測を作成します。

ArcGIS Desktop の解析ツール

ArcGIS Pro からこのツールを実行するには、アクティブなポータルが Enterprise 10.7 以降である必要があります。GeoAnalytics フィーチャ解析を実行できる権限を持つアカウントでサイン インする必要があります。

ArcGIS Pro で、空間統計ツールボックスに含まれている [フォレストベースの分類と回帰分析 (Forest-based Classification and Regression)] ジオプロセシング ツールを使用して、類似する回帰分析操作を実行します。

ArcGIS Pro で、空間統計ツールボックスの [一般化線形回帰分析 (Generalized Linear Regression)] ジオプロセシング ツールを使用して、一般化線形回帰分析 (GLR) を実行し、予測したり、一連の説明変数との関係から従属変数をモデル化したりします。

ArcGIS Pro で、空間統計ツールボックスの [地理空間加重回帰分析 (Geographically Weighted Regression)] ジオプロセシング ツールを使用して、地理空間加重回帰分析 (GWR) を実行します。