プロジェクトの設定とデータの検証
ArcGIS Pro プロジェクトを設定し、入力データを検証します。 ただし、まず始めに、このチュートリアルで使用する機械学習のワークフローについての基本を学びます。
機械学習のワークフローについての理解
機械学習の基本的な概念とは、コンピューターがサンプル データから学習し、学習したことを未知のデータに適用できるようにすることです。 その 1 つの方法は、回帰モデルをトレーニングし、それを使って新しい結果を予測することです。 このチュートリアルでは、こうしたアプローチを取ります。
あなたは、ジョージア州のいくつかの郡で地上バイオマス (AGB) を予測したいと考えています。 次のデータが必要です。
- ターゲット サンプル データ - サンプル位置の既知の AGB 値のセットです。 次のサンプル画像に示すような、GEDI 衛星 LIDAR 軌道データセットから抽出したポイント データを使用します。
- 説明変数 - AGB サンプル値を説明できるデータであり、新しいエリアの AGB 値を予測するのに役立ちます。 Landsat 9 マルチスペクトル衛星画像、デジタル標高モデル (DEM) データ、追加の派生ラスター レイヤーを使用します。 次のサンプル画像は、Landsat 画像 (左) と DEM ラスター データ (右) を示しています。
説明変数として Landsat 9 マルチスペクトル衛星画像が選ばれたのは、センサーのスペクトル特性がバイオマスに直接関係する植生に対応するからです。 デジタル標高モデル (DEM) は、トポロジのばらつきや地形の複雑さをとらえ、植生の生育に影響を与える要因にもなります。
入力としてターゲット サンプル データと説明変数を使用し、モデルをトレーニングします。 トレーニング中に、モデルがサンプル値と説明変数の関係を捕捉します。 モデルに問題がなければ、そのモデルを使ってジョージア州の郡全域の AGB 値を予測します。 この出力されたラスターでは、以下のサンプル画像に示すように、AGB 値が高い箇所は濃い緑、低い箇所は白または薄い緑で表示されます。

プロジェクトをダウンロードして開く
まず、このチュートリアルのデータを含むプロジェクトをダウンロードし、ArcGIS Pro で開きます。
- Estimate_Biomass.zip ファイルをダウンロードし、コンピューター上でそのファイルを選択します。
注意:
ほとんどの Web ブラウザーでは、デフォルトでコンピューターのダウンロード フォルダーにファイルがダウンロードされます。
.zip ファイルは 2.9 GB あり、ダウンロードに数分かかることがあります。
- [Estimate_Biomass.zip] ファイルを右クリックし、コンピューター上の場所 (C ドライブなど) に展開します。
- 解凍した [Estimate_Biomass] フォルダーを開き、[Estimate_Biomass.aprx] をダブルクリックして ArcGIS Pro でプロジェクトを開きます。
- サイン インを求められたら、ArcGIS 組織のアカウントにサイン インします。
注意:
ArcGIS Pro へのアクセス権限または組織アカウントがない場合は、ソフトウェア アクセスのオプションをご参照ください。
プロジェクトが開きます。
このマップでは、分析範囲の境界線がオレンジ色のポリゴンで表示されています。 このエリアは、ジョージア州の 20 の郡を表しています。
入力データの確認
次に、プロジェクトで提供された残りの入力データを調べます。 まず、マップに Landsat 画像を追加します。
- リボンの [表示] タブをクリックします。 [ウィンドウ] グループで、[カタログ ウィンドウ] をクリックします。
- [カタログ] ウィンドウで、[フォルダー]、[Estimate_Biomass]、[InputData] の順に展開します。
- [InputData] で [LC09_L2SP_018038_20221004_20230327_02_T1] を展開します。
これは、地表面反射率値を持つ、以下の 7 つのスペクトル バンドを含む Landsat 9 衛星画像のシーンです。
- バンド 1 - コースタル エアロゾル
- バンド 2 - 青
- バンド 3 - 緑
- バンド 4 - 赤
- バンド 5 - 近赤外 (NIR)
- バンド 6 - 短波赤外 (SWIR) 1
- バンド 7 - 短波赤外 (SWIR) 2
注意:
ドラッグしてウィンドウ幅を広げると、長いファイル名が見やすくなります。
これらのバンドは、説明変数として使用されます。 マップに Landsat シーンを追加します。
- [LC09_L2SP_018038_20221004_20230327_02_T1_MTL.txt] を右クリックし、[現在のマップに追加] を選択します。
- 統計を計算するよう求められた場合は、[はい] をクリックします。
しばらくすると、マップに画像が表示されます。 短い名前に変更します。
- [コンテンツ] ウィンドウで [Surface Reflectance_LC09_L2SP_018038_20221004_20230327_02_T1_MTL] をクリックして選択し、もう一度クリックして編集モードに移行します。 名前を「Landsat9」に変更し、Enter キーを押します。
赤、緑、青のバンドを組み合わせたナチュラル カラーに画像レンダリングを変更し、人間の目で普通に見える色に近い色を表示します。
- [コンテンツ] ウィンドウで、[Landsat9] が選択されていることを確認します。
- リボンで [ラスター レイヤー] タブをクリックし、[レンダリング] グループで、[シンボル] ボタンをクリックします。
- [シンボル] ウィンドウで、次のパラメーター値を設定します。
- [プライマリ シンボル] で [RGB] が選択されていることを確認します。
- [赤] で、[SRB4] を選択します。
- [緑] で、[SRB3] を選択します。
- [青] で、[SRB2] を選択します。
画像レンダリングがナチュラル カラーのレンダリングに更新されます。
- [シンボル] ウィンドウを閉じます。
次に、マップにデジタル標高モデル (DEM) を追加します。
- [カタログ] ウィンドウの [InputData] フォルダーで、[LC09_L2SP_018038_20221004_20230327_02_T1] を折りたたみます。
- [DEM.tif] を右クリックして、[現在のマップに追加] を選択します。
- [コンテンツ] ウィンドウで、[DEM.tif] レイヤーの名前を「DEM」に変更します。
- マップ上の [DEM] レイヤーを調査します。
DEM は標高データを提供します。 明るい色調は標高の高いエリアを示し、暗い色調は標高の低いエリアを示します。
このレイヤーは、説明変数としても使用されます。 次に、GEDI データを確認します。
- [カタログ] ウィンドウの [InputData] で、[GEDI_L4A] フォルダーを展開します。
このフォルダーには、8 つの GEDI ファイルが含まれており、既知の AGB 値を持つサンプル、つまりトレーニング ターゲットとして使用されます。 これらは軌道 HDF5 ファイルであり、ラスター ファイルではなく軌道データであることに注意してください。 このデータの扱い方とマップ上での表示方法は、ワークフローの後半で学びます。
[コンテンツ] ウィンドウには、その他に 2 つのデータ レイヤーがあります。 分析範囲全体を示す [AOI] レイヤーについてはすでに説明しました。 郡の境界線を示す [Counties] レイヤーもあります。 このレイヤーをオンにします。
- [コンテンツ] ウィンドウで、[Counties] レイヤーの横にある矢印を展開して凡例を表示させ、[Counties] レイヤーの横にあるチェックボックスをオンにして、このレイヤーを有効にします。
- マップ上で [AOI] レイヤーと [Counties] レイヤー (オレンジと明るい紫) を確認します。
後の分析でこの 2 つのレイヤーを使用します。
- これらは次のワークフローのステップでは使用しないため、[Counties]、[DEM]、[Landsat9] の各レイヤーの横のチェックボックスをクリックして、これらのレイヤーをオフにします。
- [クイック アクセス ツールバー] で、[保存] をクリックして、プロジェクトを保存します。
ワークフローのこのパートでは、機械学習のワークフローの概要を確認した後、ArcGIS Pro プロジェクトを設定しました。 次に、入力データである 7 つのバンドの Landsat 9 シーン、DEM ラスター、GEDI データ、いくつかの境界線レイヤーを調査しました。
GEDI データの処理と抽出
AGB は地表の植生を表し、単位あたりの質量、通常 1 ヘクタールあたりのメガグラム (メートル トン) として測定されます。 広大な分析範囲となる地表で AGB を物理的に測定するのは、労力がかかり、不可能に近いことです。 これに対し、リモート センシング データを使用して AGB を推定することが、優れた代替ソリューションとなります。
GEDI とは、地球表面の 3D 構造を測定する NASA の衛星 LIDAR ミッションです。 これには、森林の林冠の高さとその垂直構造、つまり、樹木と低木の積み重なった層が含まれ、これらの層が一体となって多かれ少なかれバイオマスを形成している可能性があります。 GEDI はセンサーの軌道に沿ってサンプル ポイントを捕捉します。 これらの測定値から地表バイオマス密度 (AGBD) を導き出すことができ、GEDI L4A 製品にはこれらの導き出された AGBD ポイント値が含まれています。 次のサンプル画像は、このチュートリアルの分析範囲で交差する、サンプル AGBD データが捕捉された GEDI 軌道を示しています。

このようなデータは、軌道構造化 HDF5 ファイルとして配信され、軌道ファイルのコレクションを管理するためのジオデータベース データ モデルである軌道データセットとして ArcGIS に取り込むことができます。 これから、軌道データセットを作成し、提供された GEDI データを追加して、ワークフローの後半でトレーニング サンプルとして使用する関連する AGBD ポイント データを抽出します。
軌道データセットの作成
まず、プロジェクト ジオデータベースに空の軌道データセットを作成します。
- [カタログ] ウィンドウで、[データベース] を展開します。
- [Estimate_Biomass.gdb] フォルダーを右クリックし、[新規作成] をクリックして [軌道データセット] を選択します。
[ジオプロセシング] ウィンドウで、[軌道データセットの作成] ツールが表示されます。
- [軌道データセット名] に「Gedi」と入力します。
- その他のデフォルト値をそのままにして、[実行] をクリックします。
[コンテンツ] ウィンドウに軌道データセットが表示されます。 [Footprint] サブレイヤーおよび [Point] サブレイヤーが含まれています。
このデータセットは現在空であり、GEDI データのコンテナーとして機能します。
軌道データセットへの GEDI データ追加
このワークフローで提供された GEDI データを、先ほど作成した空の軌道データセットに追加します。
- [カタログ] ウィンドウに戻ります。
- [カタログ] ウィンドウで、[Estimate_Biomass.gdb] ジオデータベースを展開し、[Gedi] を右クリックして [軌道の追加] を選択します。
まず、軌道データセットのタイプとプロパティを設定します。
- [軌道データセットへのデータ追加] ウィンドウの [軌道タイプ] で、[GEDI] を選択します。
- [軌道タイプ] で、[プロパティ] ボタンをクリックします。
- [軌道タイプ プロパティ] ウィンドウで、[軌道] タブをクリックします。
提供される GEDI データは L4A タイプなので、それに応じてプロパティを設定します。
- [プロダクト フィルター] で、[GEDIL4A] を選択します。
- [Groundtracks] で、[名前] の横にあるチェックボックスをオンにしてすべての軌道を選択します。
GEDI データは 8 つの異なるビームとして捕捉され、それらすべてを含める必要があります。
- [定義済みの変数] で、[地表バイオマス密度] 変数のチェックボックスをオンにします。
これが、このデータセットで確認する唯一の変数です。
- [OK] をクリックし、プロパティを保存します。
- [軌道データセットへのデータ追加] ツール ウィンドウの [入力データ] で、[フォルダー] を選択し [参照] ボタンをクリックします。
- [入力データ] ウィンドウで、[フォルダー]、[Estimate_Biomass]、[InputData] の順に展開します。[GEDI_L4A] をクリックし、[OK] をクリックします。
- [軌道データセットへのデータ追加] ツール ウィンドウで、その他のすべてのデフォルト値をそのままにして、[実行] をクリックします。
しばらくすると、GEDI データが軌道データセットに追加され、マップ上に表示されます。 データセット全体を表示するにはズーム アウトします。
- [コンテンツ] ウィンドウで、[Gedi] レイヤーを右クリックし、[レイヤーにズーム] を選択します。
北米を縦横に横切る緑のポリゴンは、GEDI センサーの軌道のフットプリントを表しています。 分析範囲上で交差しているため、これらの特定の軌道が選択されています。
- [コンテンツ] ウィンドウで、[Footprint] レイヤーを右クリックして [属性テーブル] を選択します。
[Footprint] 属性テーブルが表示されます。
各行が 1 つの軌道に対応し、その軌道に関する情報が含まれています。 たとえば、[Count] フィールドは、各軌道に含まれるポイントの数を示します。
- [Footprint] テーブルを閉じます。
次に、軌道内に含まれる個々のポイントを確認します。
- [コンテンツ] ウィンドウで、[AOI] レイヤーをオンにします。 [AOI] レイヤーを右クリックして [レイヤーにズーム] を選択します。
ヒント:
マップ上に Gedi 軌道レイヤーが表示されない場合は、少しズーム アウトします。
- [Footprint] レイヤーをオフにし、[Point] サブレイヤーをオンにします。
Point レイヤーには何十万ものポイントが含まれているため、表示に時間がかかる場合があります。
- 個々のポイントを確認できるまで、選択した領域を拡大します。
各ポイントは、AGBD 値を持っています。
GEDI データを軌道データセットに追加して調査しました。
関連する AGBD ポイント データの抽出
ワークフローに関連するのは、分析範囲内の GEDI ポイントのみです。 次に、[クリップ] ツールを使用して、[AOI] 境界内にあるポイントを抽出します。 出力はポイント フィーチャ レイヤーになります。
- [ジオプロセシング] ウィンドウの [戻る] ボタンをクリックします。
- [ジオプロセシング] の検索ボックスに「クリップ」と入力します。 結果リストで [クリップ] ツールをクリックして開きます。
- [クリップ] ツール ウィンドウで、次のパラメーターを設定します。
- [入力フィーチャまたはデータセット] で [ポイント] を選択します。
- [クリップ フィーチャ] で、[AOI] レイヤーを選択します。
- [出力フィーチャまたはデータセット] で、出力名として「AGBD_observations」と入力します。
- [実行] をクリックします。
しばらくすると、[AGBD_observations] ポイント レイヤーがマップに追加されます。 これを詳しく見ていきます。
- このワークフロー内では、[Gedi] レイヤーはこれ以降不要になるため、[コンテンツ] ウィンドウでオフにします。
- [AGBD_observations] レイヤーを右クリックして、[レイヤーにズーム] を選択します。
[AGBD_observations] レイヤーには、分析範囲内のポイントのみが含まれていることがわかります。
- [コンテンツ] ウィンドウで [AGBD_observations] レイヤーを右クリックし、[属性テーブル] を選択します。
[AGBD_observations] 属性テーブルが表示されます。
各行は 1 つのポイントに対応し、[AGBD] フィールドには各ポイントの地表バイオマス密度値 (ヘクタールあたりのメートル トン) が示されます。 このレイヤー内には合計で、106,159 のポイントがあります。
- [AGBD_observations] 属性テーブルを閉じます。
次に、インポートしたシンボルをこのレイヤーに適用し、より効果的に視覚化します。
- [ジオプロセシング] ウィンドウの [戻る] ボタンをクリックします。
- [レイヤーのシンボル情報を適用] ツールを検索し、開きます。
- [レイヤーのシンボル情報を適用] ツールの [入力レイヤー] で、[AGBD_observations] を選択します。
- [シンボル レイヤー] で、[参照] ボタンをクリックします。 [フォルダー] → [Estimate_Biomass] → [InputData] の順に参照し、[AGBD.lyrx] レイヤー ファイルを選択します。
- [実行] をクリックします。
マップが更新されます。
[AGBD_observations] レイヤーは、濃い緑色のポイントが高い AGBD 値を示し、薄い黄色のポイントが低い AGBD 値を示すシンボルとともに表示されるようになりました。 このレイヤーは、モデルのトレーニング中に既知のサンプルまたはトレーニング ターゲットとして使用されます。
- Ctrl + S を押して、プロジェクトを保存します。
ワークフローのこのパートでは、軌道データセットを作成し、GEDI レベル 4A 軌道データから AGBD 変数を取り込みました。 そして、関連する AGBD ポイントをフィーチャ レイヤーとして抽出し、シンボル表示しました。
派生による説明変数の作成
次に、初期状態の Landsat 9 シーンと DEM ラスターから追加の説明変数を作成します。 具体的には、Landsat 9 シーンから派生した 7 つのスペクトル指数と、DEM から派生した 1 つの傾斜方向ラスターを作成します。
スペクトル指数の生成
スペクトル指数では、同じタイプの割合を計算する数式を通じて、さまざまなスペクトル バンドを組み合わせます。 その結果、植生、水、都市開発、湿潤などの特定の現象をハイライトした新しいラスター画像が出力されます。 これらのスペクトル指数レイヤーがさまざまな植生条件を説明する追加情報を提供し、その情報が AGB 値の予測精度向上につながります。
注意:
詳細については、共通的なスペクトル指数に関するページをご参照ください。
ここでは、追加の説明変数として使用される、次の複数の指数を作成します。
- NDVI - Normalized difference vegetation index (正規化植生指数)
- EVI - Enhanced vegetation index (強化型植生指数)
- PVI - Perpendicular vegetation index (垂直植生指数)
- NBR - Normalized burn ratio (正規化燃焼率)
- NDWI - Normalized difference water index (正規化水指数)
- NDBI - Normalized difference built-up index (正規化建物指数)
- MSI - Moisture stress index (湿潤ストレス指数)
まずは NDVI からです。NDVI は、不健全な植生や植生のない地域から健全な植生を区別するために使用します。 [バンド演算] ラスター関数を使用します。
- [コンテンツ] ウィンドウで、[AGBD_observations] レイヤーをオフにします。
- リボンの [画像] タブの [解析] グループで [ラスター関数] ボタンをクリックします。
- [ラスター関数] ウィンドウで、検索ボックスに「バンド演算」と入力します。
- 結果のリストで、[バンド演算] ラスター関数をクリックして開きます。
- [バンド演算のプロパティ] ラスター関数ウィンドウで、次のパラメーターを設定します。
- [ラスター] で [Landsat9] を選択します。
- [方法] で [NDVI] を選択します。
- [バンド インデックス] に「5 4」と入力します。これは、NDVI 計算に必要となる近赤外バンドと赤バンドにそれぞれ対応します。
- [一般] タブで、[名前] に「NDVI」と入力します。
- [新しいレイヤーの作成] をクリックします。
[NDVI_Landsat9] という名前の新しいレイヤーがマップに追加されます。 マップ内のラスターには NDVI 計算値が含まれており、この値には -1 (植生なし) から 1 (健全な植生) までの幅があります。
次に、同じ手順に従って、その他のスペクトル指数レイヤー (EVI、NBR、PVI、NDWI、NDBI) を作成します。
- 次のバンド設定を使用して、ステップ 4 ~ 7 を繰り返します。
名前/方法 説明 (参考用) バンド インデックス バンド名 EVI
Enhanced vegetation index (強化型植生指数)
5 4 2
近赤外、赤、青
NBR
Normalized burn ratio (正規化燃焼率、火災跡を特定するために使用)
5 7
近赤外、SWIR 2
PVI
Perpendicular vegetation index (垂直植生指数)
5 4 0.3 0.5
近赤外、赤 (+ 傾斜角、勾配の値)
NDWI
Normalized difference water index (正規化水指数)
5 3
近赤外、緑
NDBI
Normalized difference built-up index (正規化建物指数)
6 5
SWIR 1、近赤外
MSI (湿潤ストレス指数) については、[バンド演算] ラスター関数の [方法] に [MSI] オプションはありません。 代わりに [ユーザー定義] オプションを使用して、「B6 / B5」という数式を明示的に記述することで計算します。この式では、バンドを「B + [バンド番号]」で表しています。 つまり、この式は、SWIR 1 バンドを NIR バンドで除算することを示しています。
- 次のパラメーターを使用して、ステップ 4 ~ 7 を繰り返して MSI レイヤーを作成します。
- [ラスター] で [Landsat9] を選択します。
- [方法] で [ユーザー定義] を選択します。
- [バンド インデックス] に「B6 / B5」と入力します。
- [一般] の [名前] に「MSI」と入力します。
このプロセスの最後に、7 つの指数レイヤーのすべてがマップに追加され、[コンテンツ] ウィンドウに表示されます。
DEM からの傾斜方向レイヤーの派生
次に、傾斜方向ラスター関数を使用して、DEM レイヤーから傾斜方向レイヤーを派生させます。 傾斜方向は、それぞれの下りの傾斜角が指している方位 (北、南、東、西) を表します。 日光の照度は傾斜方向値によって変動し、植生の成長に影響を及ぼすため、傾斜方向は説明変数として高い関連性を持ちます。
- [ラスター関数] ウィンドウで、[傾斜方向] ラスター関数を検索して開きます。
- [傾斜方向] ラスター関数ウィンドウにある [ラスター] で、[DEM] レイヤーを選択します。
- [新しいレイヤーの作成] をクリックします。
[Aspect_DEM] という名前のレイヤーがマップに追加されます。
次のセクションで、作成したすべての説明変数レイヤーを機械学習モデルの入力として使用します。 ただし、これらのレイヤーをマップ上に表示する必要はないので、オフにします。
- [コンテンツ] ウィンドウで、7 つすべてのスペクトル指数レイヤーと [DEM] および [Aspect_DEM] レイヤーをオフにします。
- Ctrl + S を押して、プロジェクトを保存します。
このワークフローのパートでは、Landsat シーンから派生した 7 つのレイヤーと、DEM から派生した 1 つの傾斜方向レイヤーを作成しました。 これらのレイヤーは今後、回帰モデルをトレーニングする際に、Landsat シーンと DEM に伴う説明変数として使用されます。
回帰モデルのトレーニングとバイオマス密度の予測
ターゲットのサンプルデータと説明変数の準備ができました。 次に、このすべてのデータをインプットとして回帰モデルをトレーニングし、既知の AGBD 値と説明変数の間の関係を捕捉します。 モデルの性能を調べた後、データをクリーンアップし、モデルを再トレーニングしてさらに性能を高めます。 結果として生成されたモデルを使用して、分析範囲全体の AGBD 値を予測します。 最後に、結果をまとめ、分析範囲の郡ごとの平均 AGBD を取得します。
ランダム ツリーによる回帰モデルのトレーニング
まず、ランダム ツリーによる回帰モデルのトレーニングツールを使用して、バイオマスを予測できるようモデルをトレーニングします。 ランダム フォレスト回帰は、トレーニング時に多くの決定木を作成することで機能する機械学習アプローチです。
- 必要であれば、[ジオプロセシング] ウィンドウの [戻る] ボタンをクリックします。
注意:
[ジオプロセシング] タブを閉じていた場合、リボンの [解析] タブの [ジオプロセシング] グループで、[ツール] を選択して再度開くことができます。
- [ランダム ツリーによる回帰モデルのトレーニング] ツールを探し、開きます。
説明変数のインプットを定義します。
- [ランダム ツリーによる回帰モデルのトレーニング] ツール ウィンドウで、[入力ラスター] に [Landsat9]、[DEM]、8 つの派生説明変数レイヤーすべてを追加します。
注意:
これらのレイヤーに対して、[ランダム ツリーによる回帰モデルのトレーニング] ツールと、この後の [回帰モデルを使用した予測] ツールで、まったく同じ順序を使用する必要があります。
次に、AGDB ターゲット サンプル データを指定します。
- [ターゲット ラスターまたはポイント]で [AGBD_observations] を選択します。
- [ターゲット値フィールド] で、[AGBD] を選択します。
結果として生成される出力モデルは、.ecd ファイルです。 ファイルの名前を選択します。
- [出力回帰定義ファイル] で [参照] ボタンをクリックします。
- [出力回帰定義ファイル] ウィンドウで、[フォルダー] > [Estimate_Biomass] の順に参照し、[名前] に「Biomass_model.ecd」と入力して、[保存] をクリックします。
出力には、モデルの正確度を理解するために役立つ複数の補助ファイルも含まれます。 その名前を設定します。
- [ランダム ツリーによる回帰モデルのトレーニング] ツール ウィンドウで、[追加出力] を展開します。
- [出力重要度テーブル] で [参照]ボタンをクリックして、[フォルダー] > [Estimate_Biomass] の順に参照し、[名前] に「Importance.csv」と入力します。
- [出力散布図] で [参照] ボタンをクリックして、[フォルダー] > [Estimate_Biomass] の順に参照し、[名前] に「Biomass_scatterplots.pdf」と入力します。
最期に、トレーニングオプションのパラメーターも設定します。
- [トレーニング オプション] を展開します。
- [テスト用のサンプルの割合] に「5」と入力し、その他すべてのデフォルト値をそのままにします。
注意:
(デフォルトの 10 パーセントではなく) 5 パーセントにすることで、テスト用のデータを少なくし、トレーニング用のデータを多くします。
- [実行] をクリックします。
数分後にモデルのトレーニングが完了します。
モデルの性能の確認
モデルの性能を把握するために、[ランダム ツリーによる回帰モデルのトレーニング] ツールの出力を確認します。 多くの場合、機械学習ワークフローは反復的です。 モデルが最適な性能を発揮しているのか、それとも入力データの一部をクリーンアップして性能を高められるのかを判断しなければなりません。 後者の場合、クリーンアップしたデータを使用してモデルを再トレーニングする必要があります。
まず、[Importance.csv] テーブルの内容を見ます。この内容から、それぞれの説明変数がターゲット サンプル データの予測にどの程度寄与するかがわかります。 その情報をまとめた集約したバー チャートを作成します。
- [コンテンツ] ウィンドウの [スタンドアロン テーブル] で、[Importance.csv] テーブル レイヤーを右クリックして [チャートの作成] をクリックし、[バー チャート] を選択します。
[Importance.csv] チャート ウィンドウと [チャート プロパティ] ウィンドウが表示されます。
- [チャート プロパティ] ウィンドウで、次のパラメーターを設定します。
- [カテゴリまたは日付] で、[Explanatory_Variables] を選択します。
- [集約] で、[<なし>] を選択します。
- [数値フィールド] で [選択] ボタンをクリックし、[重要度] フィールドをオンにして [適用] をクリックします。
[Importance.cvs] チャート ウィンドウに、[Importance by Explanatory_Variable] チャートが表示されます。
Landsat スペクトル バンド、特に SWIR 1 ([Landsat9_6]) と 近赤外線 ([Landsat9_5]) がバイオマス値の説明 (または予測) において重要な役割を果たしていることがわかります。 また、いくつかのバンド、特に [MSI_Landsat9]、[PVI_Landsat9]、[NDBI_Landsat9] は大きな寄与を示しています。 一方で、[DEM] レイヤーおよび [Aspect_DEM] レイヤーの寄与はわずかです。これは、この分析範囲の大半が平坦地であることから当然です。 ただし、標高にばらつきの多い他の範囲では、おそらく標高データの重要性はより高くなるでしょう。 次に、散布図ドキュメントを確認します。
注意:
ランダム ツリー アルゴリズムは決定論的ではないため、得られる結果は多少異なる場合があります。
- [Importance.cvs] チャート ウィンドウを閉じます。
- File Explorer で [Estimate_Biomass] フォルダーを参照し、[Biomass_scatterplot.pdf] ファイルをダブルクリックして開きます。
PDF では最初に、トレーニングで使用した各サンプル ポイントの散布図が表示されます。
- 元の既知の値 (x 軸)。
- トレーニング完了後の予測値 (y 軸)。
R2 の値 (0 ~1) がモデルの性能指標です。 R2 の値 0.834 は、トレーニングの性能として許容可能です。 ただし、ほとんどの値が 1,000 未満に集中している一方で、1,000 を少し下回るあたりから 4,000 を超えるあたりまで、いくつかの極めて高い値が散在していることがわかります。
これらのポイントが誤った外れ値であり、モデルの学習性能を低下させているのではないか、という疑問が生じます。 これらの極端なポイントをそのままにすべきか、それともトレーニング データから削除すべきかを判断するために、マップで確認します。 まず、[AGBD_observations] レイヤーのヒストグラム チャートを見て、外れ値ポイントのより正確な閾値を選択します。
- PDF を閉じ、ArcGIS Pro に戻ります。
- [コンテンツ] ウィンドウで [AGBD_observations] レイヤーを右クリックし、[属性テーブル] を選択します。
- 属性テーブルで [AGBD] フィールドを右クリックし、[統計の視覚化] を選択します。
AGBD フィールドの統計が [Distribution of AGBD] という名前のヒストグラム チャートに表示されます。
このヒストグラムは、可能なすべての [AGBD] 値全体にわたる [AGBD_observations] ポイント フィーチャの分布を示しています。 ほとんどのポイントの [AGBD] 値は 700 未満であり、1,000 を超えるポイントは少ないことがわかります。 外れ値ポイントを定義する閾値として 1,000 を選択します。
マップの表示を変更し、値の大きいポイントを見つけやすくします。
- [コンテンツ] ウィンドウで [Landsat9] レイヤーをドラッグして [Aspect_DEM] のすぐ上に配置し、[AGBD_observations] レイヤーおよび [Landsat9] レイヤーをオンにします。
- [AGBD_observations] レイヤーを右クリックして、[シンボル] を選択します。
- [シンボル] ウィンドウの [プライマリ シンボル] で、[単一シンボル] を選択します。
注意:
シンボルの色は異なる可能性があります。
このシンボルによって、マップで選択したポイントが見やすくなります。
ヒント:
チャート ウィンドウを縮小すると、マップのサイズが大きくなります。
次に、AGBD 値の大きいポイントを選択します。
- [コンテンツ] ウィンドウで、[AGBD_observations] レイヤーが選択されていることを確認します。
- リボン上の [マップ] タブの [選択] グループで [属性条件で選択] をクリックします。
- [属性条件で選択] ウィンドウの [式] で、「AGBD が 1000 より大きい」という式を作ります。
- [OK] をクリックします。
約 40 ポイントが選択され、マップ上にシアン ブルーで表示されます。
これらのポイントのいくつかを個別に確認します。
- [AGBD_observations] タブをクリックし、ウィンドウの下部にある [選択レコードを表示] ボタンをクリックします。
これで、選択したフィーチャのみがテーブルに表示されるようになりました。
- 1 つ目のフィーチャの行ヘッダーをダブルクリックします。
マップで、このポイントが黄色でハイライト表示されます。
- 下の画像の細部が見えるまで拡大します。
このポイントはあまり密生していない草原上にあり、その AGBD 値は 1,000 を超えないはずです。 対照的に、近隣のポイントは選択されていないため、シアンでは表示されていません。 これは、その AGBD 値が 1,000 未満であり、異常に大きいわけではないことを意味しています。
- 属性テーブルで、3 つ目のフィーチャの行ヘッダーをダブルクリックします。
このポイントも何らかの草原上にありますが、その値は 1,000 を超えないはずです。 値の大きいポイントは誤った外れ値であることがわかります。 それらを削除する必要があります。
AGBD_observations のクリーンアップとモデルの再トレーニング
次に、値の大きい外れ値ポイントを削除します。 また NULL 値を持つポイントも、トレーニングに使用しないため削除します。 その後、モデルの再トレーニングを行います。
- [コンテンツ] ウィンドウで [AGBD_observations] を右クリックして [レイヤーの全体表示] をクリックします。
- リボン上の [マップ] タブで [属性条件で選択] ボタンをクリックします。
[属性条件で選択] ウィンドウに、「AGBD が 1000 より大きい」という最初の項目が残っています。 次に、NULL 値を持つフィーチャを選択する 2 番目の項目を追加します。
- [属性条件で選択] ウィンドウで [項目の追加] ボタンをクリックします。
- 新しい項目のため、「または AGBD が NULL」という式を作り、[OK] をクリックします。
[AGBD_observations] 属性テーブルで、異常に大きな値と NULL 値の間の 20,000 個を超えるポイントが選択されます。
- [属性テーブル] ツールバーで、[選択の削除] ボタンをクリックします。
- データの削除を確認するプロンプトが表示されたら、[はい] をクリックします。
次に、編集内容を保存します。
- リボン上の [編集] タブにある [編集の管理] グループで、[保存] をクリックします。
選択したポイントが [AGBD_observations] フィーチャクラスから削除されます。 次に、更新したデータを使用してトレーニング ツールを再実行し、より性能の高いモデルを取得します。
- リボンの [解析] タブにある [ジオプロセシング] グループで、[履歴] をクリックします。
[履歴] ウィンドウが表示されます。このプロジェクトでこれまでに実行されたすべてのツールの履歴が表示されています。
- [履歴] ウィンドウで、[ランダム ツリーによる回帰モデルのトレーニング] という項目をダブルクリックします。
[ランダム ツリーによる回帰モデルのトレーニング] ツールが表示され、当初使用していたパラメーター値がすべてそのまま残っています。
当初の結果が上書きされないよう、出力の名前を変更します。
- [出力回帰定義ファイル] で、ファイル名「Biomass_model.ecd」を「Biomass_model2.ecd」に変更します。
- [追加出力] を展開して「Importance.csv」を「Importance2.csv」に、また「Biomass_scatterplots.pdf」を「Biomass_scatterplots2.pdf」に変更します。
- [実行] をクリックします。
数分後にモデルの再トレーニングが完了します。
- File Explorer で [Estimate_Biomass] フォルダーを参照し、[Biomass_scatterplots2.pdf] ファイルをダブルクリックして開きます。
PDF の最初の散布図で、モデルの性能が (前の R2= 0.834 から) R2= 0.888 に向上したことがわかります。 また、プロットのすべての値が 1,000 未満になっていることもわかります。
また、PDF の 2 つ目および 3 つ目の散布図でもより良好な結果が得られました。これらはテスト ポイントでのモデルの性能を示しています。
- PDF を閉じ、ArcGIS Pro に戻ります。
バイオマス予測の作成
このモデルを使用して、分析範囲全体のバイオマスを予測します。 そのために、[回帰モデルを使用した予測] ツールを使用します。 入力は、モデルのトレーニングに使用したものと同じ説明変数 (7 バンド Landsat シーン、DEM レイヤー、スペクトル指数レイヤー、傾斜方向レイヤー) です。
- [ジオプロセシング] ウィンドウの [戻る] ボタンをクリックします。
- [回帰モデルを使用した予測] ツールを検索して開きます。
- [回帰モデルを使用した予測] ツール ウィンドウで、[入力ラスター] に [Landsat9]、[DEM]、8 つの派生レイヤーすべてを前と同じ順序で追加します。
注意:
重要なのは、この [回帰モデルを使用した予測] ツールと、前の [ランダム ツリーによる回帰モデルのトレーニング] ツールで、これらのレイヤーを同じ順序で使用することです。
次に、トレーニング済みモデルを指定します。
- [出力回帰定義ファイル] で [参照] ボタンをクリックして、[フォルダー] > [Estimate_Biomass] の順に参照し、[Biomass_model2.ecd] をクリックして、[OK] をクリックします。
最後に、出力の名前を指定します。
- [出力予測ラスター] に「Biomass_prediction.crf」と入力します。
- [実行] をクリックします。
数分後、結果として生成されたレイヤーがレイヤーに追加されます。 次に、配色を変更します。
- [コンテンツ] ウィンドウで、[Biomass_prediction.crf] のシンボルを右クリックします。
- [配色] ドロップダウン リストで [名前の表示] チェックボックスをオンにして、[青緑 (連続)] 配色を選択します。
- [AGBD_observations] レイヤーおよび [Landsat9] レイヤーをオフにします。
- すべての派生レイヤー (スペクトル指数および傾斜方向) をオフにします。
- マップで [Biomass_prediction.crf] レイヤーを確認します。
濃い緑色はバイオマス密度が高いエリアであることを示し、薄い色や白色は低密度またはバイオマスが存在しないことを示しています。
郡ごとのバイオマス密度の集計
最後に、郡ごとのバイオマス密度を計算します。 [Counties] ポリゴン レイヤーと [ゾーン統計をテーブルに出力] ツールを使用して、郡ごとの平均バイオマス密度を計算し、結果の概要を示すチャートを生成します。
- [コンテンツ] ウィンドウで、[Counties] レイヤーをオンにします。
郡の境界線がマップに表示されます。
- [ジオプロセシング] ウィンドウの [戻る] ボタンをクリックします。
- [ゾーン統計をテーブルに出力] ツールを検索して開きます。
- [ゾーン統計をテーブルに出力] ツールで、次のパラメーターを設定します。
- [入力ラスター、またはフィーチャ ゾーン データ] で、[Counties] を選択します。
- [ゾーン フィールド] で [Name] が選択されていることを確認します。
- [入力値ラスター] で [Biomass_prediction.crf] を選択します。
- [出力テーブル] に「Average_biomass_by_county」と入力します。
- [統計情報の種類] で [平均値] を選択します。
- その他のデフォルト値をそのままにして、[実行] をクリックします。
[Average_biomass_by_county] テーブルが、[コンテンツ] ウィンドウに追加されます。
- [コンテンツ] ウィンドウの [スタンドアロン テーブル] で、[Average_biomass_by_county] テーブルを右クリックして [チャートの作成] をクリックし、[バー チャート] を選択します。
- [チャート プロパティ] ウィンドウの [データ] タブで、次のパラメーターを設定します。
- [カテゴリまたは日付] で、[NAME] を選択します。
- [集約] で、[<なし>] を選択します。
- [数値フィールド] で [選択] ボタンをクリックし、[MEAN] フィールドをオンにして [適用] をクリックします。
- [並べ替え] で、[Y 軸降順] を選択します。
- [一般] タブをクリックし、次のパラメーターを設定します。
- [チャート タイトル] に「Average biomass by county」と入力します。
- [X 軸のタイトル] に「Counties」と入力します。
- [Y 軸のタイトル] に「Biomass density (in metric tons per hectare)」と入力します。
- [Average_biomass_by_county] チャート ウィンドウで、[Average biomass by county] チャートを表示します。
バー チャートから、Telfair、Houston、Macon、Ben Hill などの郡の平均バイオマス密度が高いことが見て取れます。 米国エネルギー情報局の報告書によると、ジョージアでは半数近い世帯がバイオマスを燃料として使用しており、そのような世帯の 80% が農村地域にあります。 このような農村部でのバイオマスの使用状況を理解することで、政府はバイオマス消費の低減、森林保護、生物多様性の低下防止のための現実的な政策を策定しやすくなります。
注意:
[Biomass_by_county] テーブルを [Counties] レイヤーに結合し、郡ごとの平均バイオマスを示す主題図を作成することもできます。 そのためには、[コンテンツ] ウィンドウで [Counties] を右クリックし、[テーブルの結合とリレート] を選択して [テーブル結合] を選択します。
- Ctrl + S を押して、プロジェクトを保存します。
このチュートリアルでは、プロジェクトを設定してデータを確認した後、GEDI データを含む軌道データセットを準備し、分析範囲に関連する AGBD ポイント データを抽出しました。 ラスター関数を使用して説明変数を準備しました。 その後、バイオマス密度を予測するためにモデルをトレーニングしました。 モデルの性能を調べた後、データをクリーンアップし、モデルを再トレーニングしてさらに性能を高めました。 この性能を高めたモデルを使用して、分析範囲全体のバイオマス密度を予測しました。 最後に、結果をまとめ、分析範囲の郡ごとのバイオマス密度を取得しました。
このワークフローでは、簡潔にするために、比較的小さい分析範囲を使用しました。 同様のワークフローを複数の Landsat シーンにわたる、雲や影を含む画像を含んだ広い範囲に適用するには、まず雲や影の除去を行い、これらの画像をモザイク データセットにすることをお勧めします。 衛星画像からの雲を含まない画像の作成については、Python のワークフローおよびコードフリーのワークフローをご参照ください。 さらに、このチュートリアルで使用したデータには、AWS や Microsoft Planetary Computer などのクラウド プラットフォームからもアクセスできることから、ArcGIS Pro を使用した直接データ アクセスやクラウドベースのコンピューティングの機能も活用できます。 詳細については、「Cloud-Based Aboveground Biomass Mapping using Landsat and GEDI Data」 (Landsat および GEDI データを使用したクラウドベースの地上バイオマスのマッピング) の記事をご参照ください。
他のチュートリアルについては、チュートリアル ギャラリーをご覧ください。