フォレストベースの分類手法

種の分布をモデリングする方法の 1 つでは、一般的な機械学習アルゴリズムであるランダム フォレストを使用します。 ArcGIS Proフォレストベースおよびブースト分類と回帰分析ツールでは、ランダム フォレスト アルゴリズムを調整したものと、Extreme Gradient Boosting (XGBoost) アルゴリズムの 2 つから選択できます。 このモジュールでは、フォレストベースのアルゴリズムを使用します。フォレストベースのアルゴリズムでは、トレーニング データセットの一部として提供された既知の値に基づいてモデルをトレーニングし、そのモデルを使用して未知の値を予測できます。 これからツールを 2 回実行します。まず、予備モデルをトレーニングしてその正確度を評価します。その後、モデルを改善してラスター予測レイヤーを生成します。

プロジェクトの設定

最初に、種の分布モデリングに必要なデータをダウンロードします。 これはプロジェクト パッケージとして共有されており、ArcGIS Pro でダウンロードして開くことができます。 データはすでに抽出、クリップ、投影されています (以下で処理について説明します)。 種の分布モデリングのためのデータの準備方法の詳細については、「種の分布モデリングのためのデータの準備」チュートリアルをご参照ください。

  1. ArcGIS Pro を起動します。 サイン インを求められたら、ライセンスが割り当てられた ArcGIS 組織アカウントを使用してサイン インします。
    注意:

    ArcGIS Pro へのアクセス権限または組織アカウントがない場合は、ソフトウェア アクセスのオプションをご参照ください

  2. [新しいプロジェクト] の下の [マップ] をクリックします。

    マップ ボタン

  3. [新しいプロジェクト] ウィンドウで、[名前] に「HogDistributionModeling_CA」と入力します。 [位置] は変更せず、[このプロジェクトのフォルダーを作成] がオンになっていることを確認します。
  4. [OK] をクリックします。

    ここで、プロジェクトで使用するラスターおよびフィーチャ レイヤーが含まれるジオデータベースをダウンロードして解凍します。

  5. チュートリアル データ」をダウンロードします。 データを [HogDistributionModeling_CA] プロジェクト フォルダーに解凍します。

    このジオデータベースに、種の分布モデリングに必要なデータが含まれています。

    • イノシシ (Sus scrofa) の観測ポイントは iNaturalist observations から抽出されています。 Sus_scrofa_California レイヤーには、これらの観察ポイントのみが含まれています。 Sus_scrofa_California_absence_presence レイヤーには偽不在ポイント、つまりイノシシが観察されていないポイントも含まれています。これはフォレストベースの回帰モデリングに必要なものです。
    • CHELSA Bioclimate Projections レイヤーから、気温、降水量に関する 19 の環境変数を表す生気候データが抽出されています。 各多次元レイヤーには、温室効果ガス排出量、政治的方策や社会的方策、およびその他の変化に応じて将来起こりうる状況をモデリングするための 3 つのシナリオ (SSP2-4.5、SSP3-7.0、SSP5-8.5) が含まれています。 このプロジェクトで使用するシナリオは SSP3-7.0 であり、期間は 2011 ~ 2040 年です。 このシナリオは、多い排出量と、過去の平均的な気候と比較して今世紀半ばの時期に発生する可能性がある平均変化を表します。 レイヤーは、このシナリオに絞り込まれてから、NAD 1983 California (Teale) Albers (Meters) に投影されて、カリフォルニア州にクリップされました。 クリップされたレイヤーは州の境界から少しはみ出しており、州の境界上または境界近辺の観察または偽不在ポイントの環境データを抽出できるようになっています。
    • 標高および傾斜角データは USGS EROS Archive - Digital Elevation - Global Multi-resolution Terrain Elevation Data 2010 から取得され、NAD 1983 California (Teale) Albers (Meters) に投影され、カリフォルニア州にクリップされています。
    • 土地被覆は USA NLCD Land Cover から抽出され、NAD 1983 California (Teale) Albers (Meters) に投影され、カリフォルニア州にクリップされています。
  6. リボンの [表示] タブをクリックします。 [ウィンドウ] グループで、[カタログ ウィンドウ] を選択します。

    カタログ ウィンドウ ボタン

    [カタログ] ウィンドウが表示され、アイテムをプロジェクトに追加することや、アイテムを表示、作成、管理することや、アイテムのプロパティに関する情報を入手することができます。

  7. [カタログ] ウィンドウで [プロジェクト] タブをクリックして、[フォルダー] グループを展開し、[HogDistributionModeling_CA] プロジェクト フォルダーを展開します。
  8. [SpeciesDistributionModeling.gdb] を展開して、[California] レイヤーをマップ上にドラッグします。

    California レイヤーは、州の境界を示すポリゴンです。 このレイヤーは、NAD 1983 California (Teale) Albers (Meters) に投影されています。 マップに追加すると、ランダムに生成されたシンボルを用いて描画されます。 これをプロジェクトで視覚化のために使用するので、レイヤーのシンボルをアウトラインに変更します。

  9. [コンテンツ] ウィンドウの [California] レイヤーで、色見本をクリックします。

    California の色見本

    [シンボル] ウィンドウが表示されます。

  10. [シンボル] ウィンドウの [ギャラリー] タブで、[黒 (アウトライン付き - 2 ポイント)] シンボルをクリックします。

    黒 (アウトライン付き - 2 ポイント) シンボル

    マップで、カリフォルニア州が太い黒色の境界線に囲まれて表示されるようになりました。

  11. リボンで、プロジェクトを保存します。

フォレストベースおよびブースト分類と回帰分析モデルのトレーニング

フォレストベースおよびブースト分類と回帰分析ツールは、トレーニング データセットの一部として提供された既知の値に基づいてモデルをトレーニングし、そのモデルを使用して未知の値を予測できます。 このツールは、トレーニングのみ、フィーチャに関する予測、ラスターに関する予測の 3 つのモードで実行できます。 このセクションでは、トレーニング モードを使用して予備モデルを作成します。 ツールを実行すると一連のチャートとその他の出力が作成され、これらを使用して、モデルの正確度の評価と、改善方法についての判断を行うことができます。

  1. [ジオプロセシング] ウィンドウで、[フォレストベースおよびブースト分類と回帰分析] ツールを検索して開きます。

    これからツールを 2 回実行します。1 回目では入力データを分析し、2 回目では入力を調整してモデルの正確度を改善します。 このオプションを使用して、予測を生成する前に、モデルの精度を評価します。 このオプションを使用すると、モデル診断がメッセージ ウィンドウに出力され、変数重要度のチャートが表示されます。

  2. [予測タイプ][トレーニングのみ] を選択し、[モデル タイプ][フォレストベース] に設定されていることを確認します。

    トレーニングのみとフォレストベースに設定された、フォレストベースおよびブースト分類と回帰分析ツール

    フォレストベースのモデルは、トレーニング データに基づいて作成された複数の決定木に依存します。 決定木は、一連の決定に基づく結果の既知の特性を取得し、未知のデータ ポイントがそれと一致する可能性を判定するフローチャートのような図です。 それぞれの決定木が独自の予測を生成し、結果について投票します。 モデルはすべての決定木から得た投票を考慮し、未知のサンプルの結果を予測または分類します。 もう 1 つのオプションであるブーストされた勾配モデルでは、元のデータを使用して決定木を順番に作成するモデルを作成します。 それぞれの決定木が前の決定木の誤差を修正します。

  3. [入力トレーニング フィーチャ] で、[参照] をクリックします。 必要に応じて、[プロジェクト] を展開し、[フォルダー] を展開して、[SpeciesDistributionModeling.gdb] をクリックします。 [Sus_scrofa_California_absence_presence] をダブルクリックします。
  4. [予測対象変数][Presence] フィールドを選択し、[変数をカテゴリーとして処理] チェックボックスをオンにします。

    説明トレーニング ラスターのパラメーター

    この解析には存在ポイントと不在ポイントの両方が必要です。 [Presence] フィールドでは、イノシシが観察された場所に数字 1 のラベルが付いています。 他のすべてのポイントには数字 0 のラベルが付いています。 種の移動があり、真の不在を決定的に証明することは困難であるため、このレイヤーには偽不在ポイント、つまり、イノシシが観察されなかった場所を表す、一連のランダム サンプリングされたポイントが含まれています。

  5. [すべての予測確率を含む] チェックボックスをオンにします。

    このパラメーターは、カテゴリー変数ですべてのカテゴリーの確率を示す出力を生成します。 このケースでは、特定の場所での不在と存在の両方の確率を示します。

    次に、説明データを追加します。 説明変数は、フィールドから取得、距離フィーチャから計算、またはラスターから抽出できます。 これらの説明変数タイプはどのような組み合わせでも使用できますが、選択する入力タイプは利用可能な出力に影響します。 最終的な出力として存在予測を示すラスター サーフェスを求めているため、[説明トレーニング ラスター] オプションを使用します。

  6. [説明トレーニング ラスター] で、[参照] をクリックします。 [SpeciesDistributionModeling.gdb] フォルダーで、[BIO1_Annual_Mean_Temperature] をクリックします。 Shift キーを押したまま、[CA_Slope] をクリックして、ジオデータベース内のすべてのラスターを選択します。 [OK] をクリックします。

    説明トレーニング ラスター グループに、19 個の生気候変数と、[CA_Elevation][CA_Slope]、および [CA_NCLD] が表示されるようになりました。

  7. [CA_NLCD] 変数の横の [カテゴリー] チェックボックスをオンにします。

    これで、モデルのパラメーターが設定されました。 トレーニングを実行して、予測のためのモデルの評価と改善に役立つ出力を作成します。

  8. [追加出力] セクションを展開します。 [出力トレーニング済みフィーチャ] に「fbbcr_output_trained」と入力します。

    この出力は、入力データセットのうち正しく分類されたものと間違って分類されたものがいくつあるかを示すことで、予測精度をテストします。

  9. [出力変数重要度テーブル] に「fbbcr_variable_importance」と入力します。

    [出力変数重要度テーブル] の値には、モデルで使用する説明変数とその重要度が含まれます。 これは、モデルの初期の実行に使用する多数の説明変数のうち、どれがイノシシの存在予測に最も重要かを評価するのに役立ちます。 また、複数の実行にわたって変数の重要度の分布を示すチャートも作成されます。

  10. [出力分類パフォーマンス テーブル (混同行列)] に、「fbbcr_class_performance」と入力します。

    トレーニング検証のための追加出力

    この出力を利用できるのは、従属変数がカテゴリー変数であり、入力データの一部が検証に使用される場合のみです。 出力テーブルに、検証データに基づいた、各カテゴリーの真陽性 (TP)、真陰性 (TN)、偽陽性 (FP)、偽陰性 (FN) の数が示されます。

  11. [高度なモデル オプション] グループを展開します。

    このグループのオプションはハイパーパラメーターとして知られ、これらを使用して決定木の数とモデリングで使用する決定木の特性を制御できます。 たとえば、フォレスト モデルまたはブーストされたモデル内の決定木の数を増やすと、モデル予測の正確度は上がりますが、そのモデルでの計算時間が長くなります。 [最小リーフ サイズ] の値を小さくすると、モデルでのデータのノイズが発生しやすくなります。 これらのパラメーターのうち調整が必要な可能性があるものはどれかを把握するために、まずデフォルトのパラメーターでモデルを実行します。 [パラメーターの最適化] 設定を使用すると、これらの調整を容易に行えます。

  12. [パラメーターの最適化] チェックボックスをオンにします。

    パラメーターの最適化のパラメーター

    最適化方法はいくつかの中から選択できます。 処理時間を短く維持するには、デフォルトの [ランダム サーチ (クイック)] メソッドを使用してモデルの精度を最適化します。 [ターゲットの最適化 (目的)] には、モデルのパフォーマンスのさまざまな指標の最適化にフォーカスするオプションが他にもいくつかあります。

  13. [パラメーター セットの実行回数] に、「10」と入力します。

    [ランダム サーチ (ロバスト)] メソッドでは、各サーチ ポイントで 10 個の異なるランダム シードを使用してモデルを構築し、モデル パフォーマンスが中央値になる一連のハイパーパラメーター値を選択して、次のサーチ ポイントに移動します。 ツールは、すべての候補サーチ ポイントを調べて、最も正確度の高いモデル パフォーマンスが得られる、一連のハイパーパラメーター値を選択します。

  14. [モデル パラメーターの設定] で、次のハイパーパラメーターを追加します。
    • [パラメーター] に「ツリーの数」と入力します。
    • [下限] に「100」と入力します。
    • [上限]に「500」と入力します。
    • [間隔] に「10」と入力します。

    パラメーターの最適化設定

    注意:

    ハイパーパラメーターを入力しているとき、エラー 110535 のエラー インジケーターが表示されることがあります。 このエラーは、ハイパーパラメーターとテスト条件を入力し終わると解決されます。

  15. [検証オプション] セクションを展開します。 [検証の実行回数] を「25」に設定します。

    ツールの実行回数が多いほど、モデルの信頼度が高まります。 検証を実行するたびに、データのうち 10 パーセントは、異なるデータがモデルのテストに使用されます。 ツールの診断によって、トレーニングの実行の精度スコアを検証の実行に対して比較できます。 また、予測全体における各変数の重要度も、より的確に把握できます。

  16. [出力検証テーブル] に「fbbcr_out_validation」と入力します。

    このテーブルには、精度スコアの分布を示すチャートがあります。 このチャートは、モデルの安定性や改善の必要性の有無の評価に有用です。

  17. [実行] をクリックします。

    実行ボタン

    ツールの実行が終了すると、[fbbcr_output_trained] レイヤーがマップに追加されます。 作成した出力テーブルが、[コンテンツ] ウィンドウの [スタンドアロン テーブル] に追加されます。

    注意:

    フォレストベースのモデルはデフォルトで、実行のたびにトレーニング データの中から異なるランダム サンプルを抽出するため、ツールを複数回実行すると得られる結果が異なる可能性があります。

  18. [コンテンツ] ウィンドウで、[説明ラスター] グループをオフにします。

    マップ上の fbbcr_output_trained レイヤー

ランダム フォレスト モデルの解釈と改善

ツールを一度実行した後は、ツールの診断、チャート、トレーニング出力を使用して、そのモデルでのイノシシの存在の予測精度を評価します。 どのパラメーターを改善するかを判断するために評価すべき領域は 2 つあります。モデルのパフォーマンスと、説明データの関連性です。 ツールの診断では、モデルの Out of Bag エラーや分類診断など、パラメーターやハイパーパラメーターの更新が必要かどうかの判断に役立つ一連の統計が提供されます。 上位変数の重要度テーブルでも、予測への影響が大きい説明変数がレポートされ、余分なデータを除去できます。

モデルをトレーニングする際は、改善のために、複数回実行してさまざまなパラメーターをテストすることをおすすめします。 このチュートリアルでは、時間の都合上、ツールの実行回数が 2 回に制限されています。 出力の詳細解析については、ドキュメント記事「フォレストベースおよびブースト分類と回帰分析の機能」をご参照ください。

注意:

得られる結果は、このセクションに表示されているすべての例とは異なる場合があります。 このばらつきは、ツールで実行されたランダム サンプリングによるものです。

  1. [フォレストベースおよびブースト分類と回帰分析] ツールの実行が終了したら、[ジオプロセシング] ウィンドウの下部にある [詳細の表示] をクリックします。

    詳細の表示リンク

    注意:

    [ジオプロセシング] ウィンドウを閉じた場合、[ジオプロセシング履歴] から [詳細] ウィンドウにアクセスすることもできます。 リボンの [解析] タブをクリックします。 [ジオプロセシング] グループで、[履歴] をクリックします。 [履歴] ウィンドウで、[フォレストベースおよびブースト分類と回帰分析] ツールを右クリックして [詳細の表示] を選択します。

    ツールの詳細に、使用されたパラメーターの記録と、結果の解釈に役立つメッセージの両方が含まれています。

  2. 必要に応じて、[詳細] ウィンドウで [メッセージ] タブをクリックします。

    メッセージ タブ

    1 つ目のテーブルに、[モデルの特性] の値、つまり、フォレストベースのモデルを指定するために使用されたハイパーパラメーターが表示されます。 パラメーターの最適化を設定しているため、デフォルトの 100 よりも多い決定木を使用してモデルが実行されました。 モデルで使用された正確な数字は取得したランダム サンプルによって異なります。

    注意:

    ツールの警告に、一部の入力の読み取りに問題があったことが示されます。 処理時間とファイル サイズの両方を抑えるためにカリフォルニア州にクリップされた入力ラスターの解像度と範囲により、海岸近辺における一部の観察ポイントの情報をラスターからポイントに抽出できませんでした。

  3. [モデルの Out of Bag エラー] テーブルまで下にスクロールします。

    モデルの Out of Bag エラー (OOB) は、モデルの精度を評価する際に役立ちます。 MSE (平均二乗誤差) は、モデルが [予測対象変数] 値を正確に予測する能力に基づいています。 これらの誤差は、使用された決定木の数半分と、使用された決定木の総数に対して計算されます。 誤差と説明されたばらつきの割合が両方の決定木の数に対して同様である場合、使用する決定木の数を増やす必要はおそらくありません。 予測対象変数がカテゴリー変数であるため、OOB エラーは、フォレスト内のツリーのサブセットが表示されなかったツリー間の各カテゴリーの不正な分類の割合に基づいて計算されます。

  4. [上位変数の重要度] テーブルで重要な変数に注目します。

    上位変数の重要度テーブル

    使用した説明変数が非常に多いため、それぞれの重要度は比較的低くなりますが、このテーブルはどの変数がイノシシの存在に大きく影響するかを把握するために有用です。 このテーブルの結果と、[fbbcr_variable_importance] 出力を使用して作成された [変数の重要性のサマリー] テーブルを使用して、次のツール実行で使用する変数の数を減らします。

  5. [トレーニング データ: 分類診断] テーブルのスコアを、[整合チェック データ: 分類診断] テーブルのスコアと比較します。

    分類診断テーブル

    [トレーニング データ: 分類診断] テーブルではトレーニング データでモデルがどの程度うまく機能したかが報告され、検証テーブルでは未知のデータでモデルがどの程度うまく機能したかが報告されます。 モデルがトレーニング データではうまく機能しても、検証ではうまく機能しなかった場合、モデルの過剰適合の可能性があります。 一般的に、F1 スコアおよび MCC が 1 に近いほど、モデルの正確度が高いことになります。

  6. [整合チェック データ: 分類診断] テーブルで、[感度][正確度] の値を比較します。

    このテーブルで報告される統計は、モデル パフォーマンスの計測値です。 感度とは、観測されたカテゴリーを持つフィーチャがそのカテゴリーで正しく予測された回数の割合です。正確度とは、あるカテゴリーの合計観測数のうち、そのカテゴリーが正しく識別された回数です。 これらの値の両方が 1 に近いことは、検証の実行時にモデルがほとんどのポイントを正確に分類したことを意味します。 [fbbcr_class_performanc] テーブルを使用して作成された [検証パフォーマンス] チャートを開くことで、感度情報を表示できます。

  7. [詳細] ウィンドウを閉じます。 [コンテンツ] ウィンドウの [fbbcr_output_trained] レイヤーで、[予測パフォーマンス] チャートを右クリックして、[開く] をクリックします。

    開くオプション

    [予測パフォーマンス] チャートが開きます。 それぞれのバーは予測カテゴリーを表し、サブ バーの色は実際のカテゴリーを反映しています。 このチャートを使用して、モデルが目的の変数をどの程度の頻度で正しく予測し、どのポイントで問題が発生したかを表示できます。 [すべての予測確率を含む] パラメーターをオンにしてモデルを実行したため、このレイヤーの各ポイントにはイノシシの不在または存在の確率も含まれています。

    このチャートは入力トレーニング フィーチャでモデルがどの程度うまく機能したかを示していますが、[fbbcr_out_validation] テーブルを使用して作成された [Validation Accuracy] チャートは検証データでモデルがどの程度うまく機能したかを示しています。

  8. [予測パフォーマンス] チャートの [0] のバーで、[存在] を表すにもかかわらず [不在] ポイントとして誤分類されたポイントを示す小さいバーをクリックします。

    誤分類された存在ポイント

    不在ポイントとして誤分類されたポイントがマップ上で選択されます。 それらのポイントは州全域に分散しています。

  9. マップ上で誤分類されたポイントのいずれかをクリックします。 ポップアップで、[Probability] 属性まで下にスクロールします。

    ポップアップで報告された Probability 属性

    上記で選択したポイントでは、ポイントの環境属性に基づき、不在確率が約 79 パーセント、存在確率が約 21 パーセントとなっています。

  10. [コンテンツ] ウィンドウの [スタンドアロン テーブル] にある [fbbcr_variable_importance] テーブルで [変数の重要性の分布] チャートをダブルクリックします。

    検証のため、それぞれ入力データの異なるサブセットに対してモデルを 25 回実行したため、変数の重要性にわずかな差異があります。 変数の重要性にばらつきはあるものの、最初の 10 個の重要性がかなり高くなっています。 このモデルにおいて、それらの変数は、[BIO14_Precipitation_of_Driest_Month][BIO18_Precipitation_of_Warmest_Quarter][BIO15_Precipitation_Seasonality][CA_Elevation][BIO1_Annual_Mean_Temperature][CA_Slope][BIO9_Mean_Temperature_of_Driest_Quarter][BIO10_Mean_Temperature_of_Warmest_Quarter][CA_NLCD]、および [BIO8_Mean_Temperature_of_Wettest_Quarter] です。 実際の上位 10 個の変数は、これらとは異なる場合があります。

    変数の重要性の分布テーブル

    これら 10 個の説明変数に的を絞って、ツールを再実行します。 重要度の低い説明変数を削除することで、モデルの過剰適合の可能性を低減できます。

    注意:

    実際の結果で特定された変数は、これらとは異なる場合があります。 このばらつきは、ツールで実行されたランダム サンプリングによるものです。 これから、このチュートリアルで特定されたサンプルの変数を使用するか、あるいは実際の解析で特定された上位 10 個の変数を使用するかを選択できます。 別の変数を使用する場合、結果と診断は、このチュートリアルで示されている内容とは異なるものになるでしょう。

  11. [ジオプロセシング] ウィンドウの [フォレストベースおよびブースト分類と回帰分析] ツールで、[予測タイプ][ラスターに関する予測] に変更します。
  12. [説明トレーニング ラスター] で、BIO 1、8、9、10、14、15、18、CA_Elevation、CA_NLCD、CA_Slope を除くすべてのラスターを削除します。
  13. [出力予測サーフェス] に、「fbbcr_feral_swine_prediction」と入力します。

    入力が更新された、説明トレーニング ラスターのパラメーター

  14. [追加出力] カテゴリーと [検証オプション] カテゴリーで作成したすべての出力について、出力名の最後に接尾辞「_top10」を追加します。

    これで、予測サーフェスの各出力が再作成され、2 つのモデルを比較して予測を改善できるようになります。

  15. [実行] をクリックします。
  16. [コンテンツ] ウィンドウで、[fbbcr_output_traineds] レイヤーをオフにして無効にします。 モデルの最初の実行の評価の際に開いたテーブルおよびチャートを閉じます。

    マップ上の fbbcr_output_trained_top10 レイヤー

  17. モデル診断と出力テーブルで得た知見を活用し、新しいモデルを評価します。

    MSE、F-1 スコア、MCC を含む、このモデルを評価する統計全体が改善されました。

  18. [コンテンツ] ウィンドウで、[fbbcr_output_trained_top10] レイヤーをオフにして非表示にします。

    イノシシが見つかる可能性の高い場所を示す予測サーフェス

    [fbbcr_feral_swine_prediction] レイヤーは、環境特性に基づき、州内でイノシシが存在する可能性のある場所を示すラスターです。

フォレストベースおよびブースト分類と回帰分析ツールを 2 回実行し、予備モデルをトレーニングしてその精度を評価した後、ラスター予測レイヤーを生成しました。 現実的には、目的の結果を得るために、このプロセスを 2 回以上反復することもあります。 次に、最大エントロピー アルゴリズムを使用して同様のモデリングを実行し、結果を比較します。


MaxEnt 手法の使用

ArcGIS Pro には、種の分布モデリングに利用できるもう 1 つの手法として、Presence-only 予測 (MaxEnt) があります。この手法では、最大エントロピー アルゴリズムを使用して、指定された既知の存在ロケーションと説明変数の現象の存在をモデリングします。 フォレストベースのモデルと同様に、Presence-only 予測は、複数回実行してモデルを評価および改善することができ、種の出現に関する予測サーフェスを生成します。 フォレストベースのモデルと異なり、存在ポイントと不在ポイント (多くの場合は存在と偽不在) の両方を含むデータセットは不要です。そのため、ラスター サーフェスには、存在または不在の二項分類ではなく、その地域で種が見つかる可能性のある確率が示されます。

Presence-only 予測モデルのトレーニング

Presence-only 予測ツールをトレーニング キャパシティーで使用して予備モデルを作成します。 フォレストベースの分類で最も重要度の高い説明変数を特定したため、このツールでもそれらを説明変数として使用します。

  1. [ジオプロセシング] ウィンドウで、[Presence-only 予測 (MaxEnt)] ツールを検索して開きます。

    [フォレストベースおよびブースト分類と回帰分析] ツールなどの多くの回帰分析手法とは異なり、[Presence-only 予測] では、背景ポイントや偽不在ポイントが不要です。 また、ランダム フォレスト ツールと同様に、特定のタイプの入力フィーチャでは異なる出力が生成されます。 このケースでは、別のラスター サーフェスを生成するため、観測ポイントのみを使用します。

  2. [入力ポイント フィーチャ] で、[参照] をクリックします。 [SpeciesDistributionModeling.gdb] フォルダーで、[Sus_scrofa_California] をダブルクリックします。
  3. [説明トレーニング ラスター] で、[参照] をクリックします。 [SpeciesDistributionModeling.gdb] フォルダーで、Ctrl キーを押しながら、[Bioclimate 1、8、9、10、14、15、18][CA_Elevation][CA_NLCD][CA_Slope] をクリックします。 [OK] をクリックします。

    ランダム フォレスト ツールの前回の実行で使用したものと同じ変数が、[説明トレーニング ラスター] グループに追加されます。

    19 個の生気候変数すべてを使用してこのツールを実行することはできますが、ランダム フォレストのようなツールを使用して、モデルにおける変数の重要度を把握することをおすすめします。 モデルを作成する場合に重要な点は、過剰適合を低減するためにモデルをシンプルにすることと、正確な予測のために十分に堅牢なモデルを作成することの間でバランスを取ることです。

  4. [CA_NLCD] 変数の横の [カテゴリー] チェックボックスをオンにします。

    Presence-only 予測 (MaxEnt) ツールの説明トレーニング ラスターのパラメーター

    次に、変数の展開を選択します。 異なる展開によって、変数間のリレーションシップを引き出せることがあります。 ランダム フォレスト モデルでは、アルゴリズムによって従属変数と説明変数の間の非線形リレーションシップが自動的に処理されるため、展開は必要ありませんでした。 [説明変数の展開 (基底関数)] パラメーターを使用することで、1 回のツール実行のなかで複数の基底関数を選択できます。その後、説明変数の変換されたすべてのバージョンがモデルで使用されます。 最も正確度の高い変数は正規化によって選択されます。これは、モデルの適合度と複雑さの間でトレードオフのバランスを取る変数選択の方法です。

  5. [説明変数の展開 (基底関数)][Original (Linear)][Squared (Quadratic)][Pairwise interaction (Product)] のチェックボックスをオンにして選択します。

    [Original (Linear)] 関数は、土地被覆などのカテゴリー データに対して機能する唯一の関数です。 二乗関数は二次リレーションシップを作成し、種と環境要因の関係をより明確にモデリングする傾向があります。これは、各変数内に、種の理想的な生息地を形成する特定の範囲があるためです。 たとえば、降水量が中程度の地域で繁栄する種は、砂漠環境や熱帯雨林には適しません。このリレーションシップは放物線になります。 種の生息地としての適合性の可能性は、降水量の増加とともに上昇する一方で、降水量が特定のポイントを超えると下降します。 ペアワイズ関数は、これらの間のリレーションシップを表現できるため、環境条件のモデリングに有用です。

  6. [分析範囲] で、[ポリゴン分析範囲] を選択します。 [分析範囲ポリゴン][California] を選択します。
  7. [空間間引きの適用] パラメーターをオンにします。

    空間間引きの適用パラメーター

    空間間引きは、潜在的なサンプリング バイアスを低減する手段として、観測ポイントと背景ポイントの両方に適用されます。 イノシシの観察データは人間が iNaturalist を使用して収集したものであるため、人間がいる地域と、iNaturalist アプリを使用してさまざまな種を認識し報告している人がいる地域の両方についてバイアスを示している可能性があります。 空間間引きは、密集するポイントを取り除くことでバイアスの影響を低減できます。これらのポイントは、同じ動物の複数の目撃を表していることもあれば、人間と動物の接触が起こりやすい国立公園などの保護地域を表していることもあります。

  8. [最小最近隣距離] で距離として [1 キロメートル] を選択します。

    次に、モデルのハイパーパラメーターを選択します。

  9. 必要に応じて、[高度なモデル オプション] を展開します。 [存在から背景までの相対加重] に「1」と入力します。
  10. [存在確率変換 (リンク関数)][ロジスティック] を選択します。

    存在確率変換 (リンク関数) のパラメーター

    存在が絶対的ではない場合は、利用可能な 2 つの [存在確率変換] 関数の 1 つである [ロジスティック] の方が推奨されます。 たとえば、イノシシが観察された地点に居続ける可能性は低く、食料や隠れ場を探して移動している可能性が高いため、[ロジスティック] 関数が適しています。 [ロジスティック] 関数の使用を選択したため、[存在から背景までの相対加重] パラメーターをより小さくする必要があります。 このケースでは、存在ポイントと偽不在ポイントに等しく加重します。

    また、この時点では、[存在確率のカットオフ] 値は [0.5] のままにしておきます。 このツールの最初の実行での診断が、将来の実行を改善するために別のカットオフ値が必要かどうかの判断に役立ちます。

    次に、ツールで出力される診断とチャートを選択できます。 このツールは出力をトレーニング出力と予測出力に整理します。 主な違いとして、トレーニング出力がモデルのトレーニングと選択に使用されたデータに対応するのに対して、予測出力はモデルがまだ提供されていないデータに対応します。

  11. [トレーニング出力] グループを展開します。 [出力トレーニング済みフィーチャ] に「pop_output_trained」と入力します。

    この出力の結果は、モデルのトレーニングで使用したポイントを含む 1 つのフィーチャクラスと、詳細な解釈のための 3 つのチャートです。 この出力は、モデルからの分類と観測された分類の比較を使用して作成された、入力存在ポイントと背景ポイントをシンボル化し、モデルの予測を視覚的に分析できるようにします。

    ここでは、出力トレーニング済みラスターをスキップします。 初期モデルを実行し、入力ポイント フィーチャでどの程度うまく機能するかを把握した後、ラスター サーフェスを作成します。 最初の実行で、各入力ラスターが予測に与える影響を示す応答曲線テーブルと、[存在確率のカットオフ] パラメーターの値を判断するのに役立つ感度テーブルを作成します。

  12. [出力応答曲線テーブル] に「pop_response_curve」と入力し、[出力感度テーブル] に「pop_sensitivity」と入力します。
  13. [検証オプション] グループを展開します。 [リサンプリング スキーマ] で、[ランダム] を選択し、[グループ数] パラメーターを [5] に設定します。

    [リサンプリング スキーマ] パラメーターにより、モデルの安定性を評価する交差検証をツールで実行できます。 ポイントは 5 つのグループにランダムに分割され、交差検証の実行時に各グループがそれぞれ一度ずつ除外されます。

  14. [実行] をクリックします。

    Presence-only ツールの最初の実行

    このツールの実行が終了すると、出力レイヤーおよびテーブルが [コンテンツ] ウィンドウに追加されます。 [pop_output_trained] レイヤーがマップに追加されます。

Presence-only 予測モデルの解釈と改善

ツールを一度実行した後は、ツールの診断、チャート、トレーニング出力を使用して、そのモデルでのイノシシの存在の予測精度を評価します。 ツール診断では、正しく分類された存在ポイントおよび背景ポイントの数が報告され、モデルの精度を評価する際に役立ちます。 初期トレーニング実行の統計と出力はすべて、モデルのさまざまな側面の改善に有用ですが、曲線下面積とオミッションの統計にフォーカスします。これは、次のツール実行で適切な [存在確率のカットオフ] パラメーターを判断するのに役立ちます。

注意:

モデルをトレーニングする際は、改善のために、複数回実行してさまざまなパラメーターをテストすることをおすすめします。 このチュートリアルでは、時間の都合上、ツールの実行回数が 2 回に制限されています。 出力の詳細解析については、ドキュメント記事「Presence-only 予測 (Presence-only Prediction (MaxEnt)) の仕組み」をご参照ください。

  1. [コンテンツ] ウィンドウで、[pop_output_trained][California] 境界レイヤー、ベースマップ以外のすべてのレイヤーをオフにして、無効にします。

    Pop_output_trained レイヤー

  2. [ジオプロセシング] ウィンドウの下部で、[詳細の表示] をクリックしてツール診断を開きます。

    詳細の表示リンク

    このツールの警告がいくつか表示されています。 前と同様に、州の境界近くのいくつかのポイントには利用可能なラスター情報がありません。 背景ポイントは空間的に間引きされていませんが、分析範囲の広さを考えると問題であるとは限りません。 最後に、土地被覆データセットのカテゴリーの 1 つ (万年氷および万年雪カテゴリー) のデータ ポイントが 8 個未満でした。 [説明変数カテゴリー診断] テーブルを使用して、この問題を詳しく調べることができます。

    最初に調べるべきテーブルは [存在および背景ポイントのカウント] テーブルです。これはモデルの精度を示しています。

  3. [存在および背景ポイントのカウント] テーブルで、[存在ポイントの数] 行を比較し、モデルのトレーニングで使用されたポイントの数と、存在として正しく分類されたポイントの数を把握します。

    存在ポイントの数の行

    これら 2 列の数が近いほど、モデルのパフォーマンスがより正確であるということになります。 [背景ポイントの数] 行も評価します。 [存在から背景までの相対加重] パラメーターを [1] に設定しているため、この数は比較的少ないはずです。

    [モデル特性] テーブルに、使用されたモデルのパラメーターが記録されています。

  4. [モデル サマリー] テーブルで、[AUC] 値を評価します。

    AUC 値

    AUC、つまり曲線下面積統計は、モデルがどれほど正確に、既知の存在ロケーションを存在として推定し、既知の背景ロケーションを背景として推定するかを示します。 この値が大きくて 1 に近いほど、モデルのパフォーマンスがより正確であるということになります。 AUC 統計は、オミッション率とともに使用します。オミッション率は、存在確率が低いとして誤って分類された存在ポイントの割合を示します。 [pop_sensitivity] テーブルを使用して作成されたチャートを使用して、これら両方の統計をさらに評価します。

  5. [回帰係数] テーブルまで下にスクロールします。

    回帰係数テーブル

    このテーブルには、モデルで最終的に使用された変数が報告されます。 ほとんどに接頭辞として product という単語が付加されており、使用された変数の多くが Pairwise interaction (Product) 展開を使用して変換されたことを示しています。

    最後の 2 つのテーブルは、サンプル データに示されている値の範囲を示しています。 最後のテーブルで NLCD データを見て、どのカテゴリーがアンダーサンプリングされ、上記の警告を引き起こしたかを確認できます。

  6. [説明変数カテゴリー診断] テーブルで、サンプル値が 8 個未満のカテゴリーを見つけます。

    カテゴリー 12、サンプル ポイントが 8 個未満の土地被覆タイプ

    この例では、カテゴリー 12 のサンプル ポイントが 4 個になっています。 NLCD レイヤーのアイテムの詳細によると、カテゴリー 12 は、カリフォルニアでは比較的少ない万年氷および万年雪被覆を表しています。 サンプル数と現実世界でのこの特定のタイプの土地被覆の存在が概ね一致しているため、このサンプル サイズについて心配する必要はありません。

    次に、トレーニング済みフィーチャと、モデルを評価するために作成したテーブルを見ていきます。 [pop_output_trained] レイヤーには、モデルで使用されたすべてのポイントが示されます。 存在ポイントがモデルの予測によって正しく分類されたか間違って分類されたかが表示されています。 背景ポイントは、潜在的な存在ポイントとして、または背景ポイントのままとして分類されています。

  7. 詳細ウィンドウを閉じます。
  8. [コンテンツ] ウィンドウの [pop_output_trained] レイヤーで [分類結果のパーセンテージ] チャートをダブルクリックします。

    分類結果のパーセンテージ チャート

    このチャートには、観測および予測された分類の比較が表示されます。 まず、モデルによって正しく分類された存在ポイントの割合を分析します。

  9. [チャート] ウィンドウの [Presence] 列で、[Presence - Correctly Classified] バーにポイントして、データの数値サマリーを表示します。

    正しく分類された存在ポイントのサマリー

    例の画像では、存在ポイントの 70.71 パーセントが正しく分類されていました。 モデルのパフォーマンスとしてはかなり正確ですが、なお改善の余地があります。

    このモデルを改善する方法の 1 つは、[存在確率のカットオフ] パラメーターを再検討することです。 [オミッション率] チャートと [ROC プロット] チャートを使用して、このパラメーターのより正確な値を見つけます。

  10. [分類結果のパーセンテージ] チャートを閉じます。
  11. [コンテンツ] ウィンドウの [スタンドアロン テーブル] にある [pop_sensitivity] テーブルで、[オミッション率] チャートと [ROC プロット] チャートをダブルクリックして開きます。
  12. [ROC プロット] チャートをクリックしてドラッグし、[オミッション率] チャートと同時に見えるようにします。

    並べて表示されたチャート

  13. [オミッション率] チャートで存在確率のカットオフのデフォルト値 [0.5] を選択し、ROC プロットの Y 軸で結果として生成された感度に注目します。

    0.5 のカットオフ値

    例の画像では、確率のカットオフを 0.5 とすると、オミッション率は 0.343 となり、感度は 0.657 となっています。 オミッション率とは、モデルによって非存在として誤って分類された既知の存在ポイントの割合です。

    [オミッション率] チャートと [ROC プロット] チャートをともに使用すると、[存在確率のカットオフ] パラメーター値が異なる場合に、間違って分類された存在ポイントの割合がどのように変化するかが視覚化されます。 オミッション率は 0 に近いことが推奨されますが、カットオフ値を小さくすると、存在ポイントとして分類される背景ポイントの数も増加し、モデルの特異性が低下する恐れがあります。 イノシシは適応力に優れた腐肉食動物であり、このケースでは生存可能な地域をより多く見つけることは有益であるため、存在ポイントがより多く表示されるように特異性と感度の間でバランスを取ります。

  14. [ROC プロット] チャートの Y 軸で値としておおよそ [0.9] のポイントのいずれかをクリックします。

    ROC プロット チャート上の値 0.9

    例のモデルでは、感度 0.9 でオミッション率が 0.098 パーセントになります。 この結果を得るために、[カットオフ] 値を [0.24] としてツールを再実行します。

  15. [ジオプロセシング] ウィンドウの [高度なモデル オプション] グループで、[存在確率のカットオフ] に「0.24」と入力します。
  16. [トレーニング出力] グループで作成したすべての出力に対し、出力名の最後に接尾辞「_ppc」を追加します。

    出力予測ラスターも生成します。

  17. [出力トレーニング済みラスター]に「pop_trained_raster_ppc」と入力し、[実行] をクリックします。

    実行ボタン

  18. [コンテンツ] ウィンドウで、[pop_trained_raster_ppc] レイヤー、[California] 境界レイヤー、ベースマップ以外のすべてのレイヤーをオフにします。

    トレーニング済みラスター予測レイヤー

  19. モデル診断と出力テーブルで得た知見を活用し、新しいモデルを評価します。

    前に行ったフォレストベースの解析と同様に、多くの場合、このモデリング アプローチにも 2 回を超える反復が必要です。 パラメーターとハイパーパラメーターについての理解を活かし、データと状況の最適な組み合わせが見つかるまで、変更と、出力の正確度の比較を継続できます。

ランダム フォレストと MaxEnt の比較

このチュートリアルで使用した分析は、いずれも種の分布のモデリングに役立ちます。 解析の目的、利用可能なデータ、その他の要因に応じて、一方または両方の手法を選択してモデリングに使用できます。 あらゆる統計的手法や分析手法と同じように、フォレストベースの分類と MaxEnt にも考慮すべき長所と短所があります。 このセクションでは、作成した出力予測サーフェスを比較し、両方のモデリング アプローチの利点のいくつかを確認します。

  1. [コンテンツ] ウィンドウで、[fbbcr_feral_swine_prediction] レイヤーをオンにします。
  2. [pop_trained_raster_ppc] レイヤーをクリックして選択します。
  3. リボンの [ラスター レイヤー] タブをクリックします。 [比較] グループで [スワイプ] ボタンをクリックします。

    スワイプ ボタン

  4. マップ上でスワイプ矢印をクリックしてドラッグし、2 つのラスター予測サーフェスを比較します。

    マップ上のスワイプ ツール

    予測サーフェスは類似しており、これはモデルが正確であることを示しています。

    予測のために空間統計手法を使用している場合、それぞれの手法には、解析の目的と利用可能なデータに合う手法を確実に選択するために考慮する必要がある、長所と制限事項がいくつかあります。

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

    アプローチの長所その他の考慮事項

    従属変数と説明変数の間の未知または複雑度の高いリレーションシップを捕捉できます。

    存在ポイントと不在 (または偽不在) ポイントの両方が必要です。

    Presence-only 予測のようにリレーションシップが指定されている必要はありません。

    変数の重要度は各説明変数のモデルへの寄与を理解するために有用ですが、変数の重要度の解釈は困難な場合があります。 たとえば、リレーションシップが正なのか負なのかはわかりません。

    Presence-only 予測

    アプローチの長所その他の考慮事項

    Presence-only のモデリングのために設計されているため、不在ポイントを準備する必要はありません。

    従属変数と説明変数の間のリレーションシップを推定する必要があります。

    [存在から背景までの相対加重] パラメーターを使用して、背景ポイントの加重方法をより柔軟に決定できます。

    空間間引きパラメーターを使用して不在ポイントを制御できます。

    出力ラスター サーフェスで、存在または不在の二分決定ではなく、イノシシ生息地の確率についての詳細情報が提供されます。

このチュートリアルでは、2 つの解析手法を使用して、カリフォルニアのイノシシについて種の分布モデリングを行いました。 イノシシは侵入生物種として州の生態系と農業に脅威をもたらします。 これらのモデリング手法は、他の幅広い種や現象に使用可能です。

他のチュートリアルについては、チュートリアル ギャラリーをご覧ください。