[予測のためのデータを準備 (Prepare Data for Prediction)] ツールでは、予測モデルを作成するために入力フィーチャを簡単に分割できます。 このツールは、説明変数、距離フィーチャ、説明ラスターから情報を抽出し、トレーニング データとテスト データの分割を行います。 また、データの不均衡に対応するために、元のデータをリサンプリングすることもできます。 データをバランス調整することは、まれな事象を予測する際のモデル性能を向上させるのに有効です。
予測モデリングの目的は、できるだけ多くの基礎パターンを捉えつつ、将来的に新しいデータにも効果的に対応できるようにすることです。 予測モデルでは学習に入力データを利用します。 この入力データはトレーニング データと呼ばれます。 モデルを構築し、入力データでトレーニングさせる際の目標は、トレーニング データに含まれる基礎パターンを捉えつつ、未知の新規データに対しても優れた予測性能を維持できるように全体的な適合性を向上させることです。 目標はトレーニング データを完全に再現することではありません。それは、過剰適合の原因になります。 同時に、過度に一般化してしまうことも避ける必要があります。それは適合性の不足につながり、データの重要なパターンを見落とす原因となるからです。

予測モデルを開発する際には、未知のデータ (モデルのトレーニングに使用されていないデータ) に対しても正しく機能することを確認する必要があります。 優れた適合の実現には、予測変数の真の値が判明しているが、モデルのトレーニングには値が使用されなかった保持データを使用してモデルを評価することが含まれます。 これにより、さまざまな指標を用いて未知のデータに対するモデルのパフォーマンスを評価できます。 これらの真の値を含む保持データは、一般にテスト データまたは検証データと呼ばれます。 通常、テスト データはトレーニング データセットから分離され、モデル評価専用に保持されます。 [予測のためのデータを準備 (Prepare Data for Prediction)] ツールは、入力フィーチャをトレーニング セットとテスト セットに分割するプロセスを容易にし、優れたモデル トレーニングを可能にします。

データの分割
予測モデルをトレーニングおよび評価する際は、データをトレーニング データとテスト データのサブセットに分割することをおすすめします。
[分割タイプ] パラメーターには、データを分割するための 2 つのオプションがあります:
- [ランダム分割] - テストのサブセットがランダムに選択されるため、分析範囲全体に空間的に分散されます。
- [空間分割] - 空間テスト サブセットは空間的に隣接しており、トレーニング サブセットとは分離されています。 空間分割は、フィーチャをランダムに選択し、その K 近傍を特定することで生成されます。 空間テスト サブセットを使用する利点は、テスト データが、トレーニング データとは異なる分析範囲に属する将来の予測データセットをエミュレートできることです。
データ漏洩
データ漏洩の可能性があるため、トレーニング データを選択する際には慎重であることが重要です。 データ漏洩は、モデルが将来の予測時には利用できない情報がトレーニング データに含まれている場合に発生します。 これにより、モデルの予測能力が極度に過大評価される可能性があります。 たとえば、航空便の午後の遅延データを使用してモデルをトレーニングし、同じ日の午前の遅延を予測する場合、新しい日の予測を行うには、午後まで待たなければ午前中の予測は行えません。しかし、その時点では遅延はすでに発生していることになります。
ただし、データ漏洩はより軽微なものになります。 たとえば、隣接する国勢調査地区は、空間的自己相関により類似性を示す可能性があります。 モデルがある国勢調査地区で学習し、隣接する地区でテストを行った場合、比較的良好なパフォーマンスを示す可能性があります。 しかし、別の州の国勢調査地区を予測する場合、モデルのパフォーマンスは大幅に低下する可能性があります。 これは、トレーニング データにはあるエリアの情報が含まれているものの、予測データセットには異なる州の同様の情報が含まれていないためです。 空間的近接によるデータ漏洩を軽減するには、[分割タイプ] パラメーターを [空間分割] に設定します。 [予測のためのデータを準備 (Prepare Data for Prediction)] ツールを使用してトレーニング前に空間的トレーニングとテスト分割を作成するか、[交差検証による予測を評価 (Evaluate Predictions with Cross-validation)] ツールでさまざまな空間分割を評価できます。
不均衡データの操作
不均衡データとは、分布が偏っているか、不均衡になっているデータセットを指します。 分類タスクにおいて、不均衡データは、あるクラス (少数クラス) が他のクラス (多数クラス) に比べてフィーチャが著しく少ない場合に発生します。 この不均衡は、機械学習モデルを効果的にトレーニングする上での課題となります。 たとえば、山火事が発生するかどうかを予測するバイナリー分類問題において、フィーチャの 99% が「山火事なし」(多数クラス) を示し、1% のみが「山火事あり」(少数クラス) を示している場合、データは不均衡となります。 この課題は、まれなカテゴリーに対してモデルの感度が低下するという形で現れます。これは、こうしたカテゴリーに関連する多くのフィーチャを正しく識別できないことを示しています。 たとえば、どの県でまれな病気が発生するかを予測したり、不正行為を行っている個人を特定したりする場合、こうしたまれなカテゴリーを正確に認識することが極めて重要です。こうしたケースはしばしば、すぐに対処すべき最も重要な問題だからです。 モデルがすべてのクラスのパターンを効果的に学習できない場合、新しいデータに対して適切に対応できず、性能の低いモデルになってしまう可能性があります。
空間コンテキストにおいては、サンプリング バイアスによって不均衡データが生じる場合があります。 その結果、明確な空間クラスターを持ちながらも、母集団全体を正確に表していないトレーニング サンプルが生じる可能性があります。 たとえば、データ収集調査は道路や小道などアクセスしやすい場所に集中することが多く、その結果、モデルに不正確さが入り込み、結論にバイアスがかかる可能性があります。 このツールは、これらの問題を防ぐために、データを再サンプリングするいくつかのバランス調整方法を提供します。
バランス調整方法
[バランス調整タイプ] パラメーターは、不均衡な [予測対象変数] パラメーター値を調整するか、または [入力フィーチャ] パラメーター値の空間バイアスを軽減します。
注意:
[分割タイプ] パラメーターが [ランダム分割] または [空間分割] に設定されている場合、バランス調整手法はトレーニング データ内の出力フィーチャにのみ適用されます。 このアプローチでは、テスト フィーチャが検証用に元のままの形で保持されるため、データ漏洩の問題を防ぐのに役立ちます。
[バランス調整タイプ] パラメーターでは、トレーニング データの準備に役立つ次のオプションがサポートされています:
- [ランダム アンダーサンプリング] - ランダム アンダーサンプリングは、不均衡データを調整するために、すべてのクラスのフィーチャ数が同じになるまで、多数クラスからフィーチャをランダムに削除する手法です。

青のフィーチャは少数クラス、オレンジのフィーチャは多数クラスを表しています。 データにランダム アンダーサンプリングを適用すると、ツールはオレンジのフィーチャをランダムに削除し、オレンジのフィーチャ数を青のフィーチャ数と一致させます。 - [Tomek アンダーサンプリング] - Tomek’s Link アンダーサンプリングは、属性空間で少数クラスに近い多数クラスのフィーチャを削除することで、不均衡データを調整する手法です。 このオプションの目的は、クラス間の分離を改善し、[フォレストベースおよびブースト分類と回帰分類 (Forest-based and Bo osted Classification and Regression)] などのツリーベース モデルに対して明確な判定境界を作ることです。 このオプションは、すべてのクラスが同じ数のフィーチャを持つことを保証するものではありません。

青のフィーチャは少数クラス、オレンジのフィーチャは多数クラスを表しています。 変数空間において、異なるクラスのフィーチャが互いに最近傍となっているペアを Tomek’s Link と呼びます。 データに Tomek アンダーサンプリングを適用すると、オレンジのフィーチャが青のフィーチャと Tomek’s Link を形成している場合、ツールはオレンジのフィーチャを削除します。 - [空間間引き] - 空間間引きは、フィーチャ間に指定した最小の空間的分離を適用することで、サンプリング バイアスがモデルに与える影響を軽減する手法です。
予測変数としてカテゴリー変数が選択されている場合、空間間引きは各カテゴリーに対して個別に適用され、カテゴリー内のバランスを保ちます。それ以外の場合は、属性値に関係なく、トレーニング データセット全体に適用されます。

指定されたバッファー距離内にあるフィーチャは削除されます。 - [K-medoids アンダーサンプリング] - K-medoids アンダーサンプリングは、非少数クラスの代表的なフィーチャのみを残し、すべてのクラスが同じ数のフィーチャを持つようにすることで、不均衡データを調整する手法です。 データに K-medoids アンダーサンプリングを適用すると、ツールは非少数クラスから、変数空間で medoid となる K 個のフィーチャのみを保持します。 各クラスターに中心的な代表フィーチャが存在するようにするため、他のクラスタリング アルゴリズムではなく K-medoids を使用します。

K の数は少数クラスのフィーチャ数と同じで、この例では 4 です。 クラスターは、従属変数の各クラス内で作成され、説明変数の値に基づいてクラスタリングされます。 多数クラスに残るフィーチャは、各クラスターの medoid に由来します。 - [ランダム オーバーサンプリング] - ランダム オーバーサンプリングは、不均衡データを調整するために、すべてのクラスのフィーチャ数が同じになるまで、少数クラスのフィーチャをランダムに複製する手法です。

青のフィーチャは少数クラス、オレンジのフィーチャは多数クラスを表しています。 データにランダム オーバーサンプリングを適用すると、ツールは青のフィーチャをランダムに選択して複製し、青のフィーチャ数をオレンジのフィーチャ数と一致させます。 複製されたフィーチャの変数とジオグラフィーは、元のフィーチャと同じです。 - [SMOTE オーバーサンプリング] - SMOTE (Synthetic Minority Over-sampling Technique) オーバーサンプリングは、不均衡データを調整するために、すべてのクラスが同じ数のフィーチャを持つまで、少数クラスに合成フィーチャを生成する手法です。 少数クラスのフィーチャを 1 つ選択し、属性空間で同じ少数クラスの近傍フィーチャを選び、その 2 つのフィーチャ間の内挿として新しい属性が生成されます。 新しく生成された合成フィーチャのジオメトリーは、元の選択フィーチャのものになります。

青のフィーチャは少数クラス、オレンジのフィーチャは多数クラスを表しています。 データに SMOTE オーバーサンプリングを適用すると、ツールは少数クラスから 2 つのフィーチャをランダムに選択します。そして、属性空間でこれらの値を内挿することで合成フィーチャを生成します。 合成フィーチャのジオグラフィーは、最初に選択されたフィーチャと同じであり、変数は選択されたフィーチャから内挿されます。

出力
このツールはジオプロセシング メッセージと 2 つの出力 (出力フィーチャクラスと、オプションで、出力テスト サブセット フィーチャのフィーチャクラス) を生成します。
ジオプロセシング メッセージ
このメッセージにアクセスするには、[ジオプロセシング] ウィンドウで進行状況バーの上にカーソルを置くか、ポップアウト ボタンをクリックするか、メッセージ セクションを展開します。 ジオプロセシング履歴で、このツールの以前の実行に関するメッセージにアクセスすることもできます。 メッセージには、[従属変数範囲診断] テーブルと [説明変数範囲診断] テーブルが含まれます。
[従属変数範囲診断] テーブルには予測される変数がリストされ、[説明変数範囲診断] テーブルには指定されたすべての説明変数がリストされます。 変数が連続的である場合、テーブルはフィールドの最小値と最大値を集計します。 変数がカテゴリー的である場合、テーブルには各カテゴリーと、そのカテゴリーのフィーチャの割合がリストされます。 [分割タイプ] パラメーターが [ランダム分割] または [空間分割] に設定されている場合、テーブルには、テスト サブセット フィーチャの同じ診断も含まれます。
追加出力
このツールは、出力フィーチャクラスと、オプションで出力テスト サブセット フィーチャのフィーチャクラスも生成します。
出力フィーチャ
出力フィーチャは、[フォレストベースおよびブースト分類と回帰分析 (Forest-based and Boosted Classification and Regression)]、[一般化線形回帰分析 (Generalized Linear Regression)]、および [Presence-only 予測 (Presence-only Prediction)] ツールに加え、その他のモデルでも使用できます。 このフィーチャクラスのフィールドには、すべての説明変数、すべての説明距離フィーチャ、予測する変数が含まれます。 [入力フィーチャからすべてのフィールドを追加] パラメーターをオンにすると、出力フィーチャには入力フィーチャのすべてのフィールドが含まれます。 [カテゴリー説明変数のエンコード] パラメーターをオンにすると、カテゴリー説明変数の各カテゴリーに対してフィールドが作成されます。 各フィーチャの値は 0 または 1 です。 1 はフィーチャがそのカテゴリーに属することを意味し、0 は別のカテゴリーに属することを意味します。 [分割タイプ] パラメーターが [なし] に設定されている場合、出力フィーチャには、入力フィーチャのすべてのフィーチャが含まれます。
出力テスト サブセット フィーチャ
出力テスト サブセット フィーチャは、入力フィーチャのサブセットで、テスト フィーチャとして使用できます。 たとえば、出力テスト サブセット フィーチャを使用して [空間統計モデル ファイルを使用して予測 (Predict Using Spatial Statistics Model File)] ツールでモデル精度を評価できます。
入力パラメーターの一部が、出力テスト サブセット フィーチャ向けに保持されます。 [テスト サブセットとしてのデータの割合] パラメーターに割合を指定します。 このフィーチャクラスのフィールドには、すべての説明変数、すべての説明距離フィーチャ、予測する変数が含まれます。 [カテゴリー説明変数のエンコード] パラメーターをオンにすると、各カテゴリーに対してフィールドが作成されます。 各フィーチャの値は 0 または 1 です。 1 はフィーチャがそのカテゴリーに属することを意味し、0 は別のカテゴリーに属することを意味します。
このフィーチャクラスは、[分割タイプ] パラメーターが [ランダム分割] または [空間分割] に設定されている場合にのみ作成されます。
ベスト プラクティス
このツールを使用する際のベスト プラクティスを次に示します。
- [予測対象変数] または [説明変数] パラメーター値としてカテゴリー変数を使用する場合、すべてのカテゴリー レベルがトレーニング データに含まれているようにすることが重要です。 これは重要です。モデルは新しいデータで予測を行う前に、考えられるすべてのカテゴリーを確認し、学習する必要があるからです。 テスト データや検証データの説明変数に、トレーニング データに存在しなかったカテゴリーが含まれている場合、モデルは失敗します。 トレーニング データセットで 30 回反復試行してもすべてのカテゴリー レベルを取得できない場合、このツールは失敗します。
- データがバランス調整された後は、検証データやテスト データとして使用すべきではありません。このデータは、現実世界で測定されるデータの分布を反映していないからです。 オーバーサンプリングされたデータは、検証データとしてモデルのパフォーマンスを評価するために決して使用してはなりません。 アンダーサンプリングされたデータを使用することは可能ですが、おすすめしません。 このため、トレーニング データセットとテスト データセットはバランス調整の前に分割され、トレーニング セットのみがバランス調整されます。
- カテゴリー変数をエンコードすると、バイナリー変数 (0 および 1) が各カテゴリーに対して作成され、トレーニングおよびテストの出力フィーチャの属性テーブルに追加されます。 各カテゴリーで、1 はフィーチャがそのカテゴリーに属することを意味し、0 は別のカテゴリーに属することを意味します。 一般化線形回帰分析などの線形モデルを使用する場合、完全な多重共線性を回避するために、これらのバイナリー変数のうち少なくとも 1 つを説明変数から省略する必要があります。
- 最終モデルが選択された後 (たとえば、モデル タイプ、パラメーター、変数が確定した後)、完全なデータセットを使用して最終モデルを再トレーニングしたほうがよい場合もあります。 データを最初にトレーニングとテストに分割した場合は、これらのデータセットを再結合するか、[予測のためのデータを準備 (Prepare Data for Prediction)] ツールを [分割タイプ] パラメーターを [分割なし] に設定して再実行し、その後に最終モデル選択を行うこともできます。 これらのモデル実行から得られる最終モデル ファイルまたは予測結果は、利用可能なデータ全体を用いてトレーニングされます。 この解析ステップは必須ではありませんが、多くのアナリストが実行する方法です。
- ラスターからデータを抽出する際、ポイントに抽出される値は、基になるラスターのセルと完全には一致しない場合があります。 これは、ラスターからポイントに数値を抽出する際に、共一次内挿法を適用しているためです。
参考文献
このツールの実装には以下の参考文献が用いられています。
- Chawla, N., K. Bowyer, L. Hall & W.P. Kegelmeyer. 2002 “SMOTE: Synthetic Minority Over-sampling Technique”. Journal of Artificial Intelligence Research. 16: 321-357. https://doi.org/10.1613/jair.953.
- Tomek, I. 1976. “Two Modifications of CNN”. IEEE Transactions on Systems, Man, and Cybernetics. 11: 769 – 772. https://doi.org/10.1109/TSMC.1976.4309452.
- Wei-Chao L., T. Chih-Fong, H. Ya-Han, and J. Jing-Shang. 2017. “Clustering-based undersampling in class-imbalanced data”. Information Sciences. 409: 17-26. https://doi.org/10.1016/j.ins.2017.05.008.
関連トピック
- 空間リレーションシップのモデリング ツールセットの概要
- 予測のためのデータを準備 (Prepare Data for Prediction)
- 交差検証による推定値を評価 (Evaluate Predictions with Cross-validation)
- フォレストベースおよびブースト分類と回帰分析 (Forest-based and Boosted Classification and Regression)
- 一般化線形回帰分析 (Generalized Linear Regression)
- Presence-only 予測 (Presence-only Prediction (MaxEnt))
- 交差検証による推定値を評価 (Evaluate Predictions with Cross-validation) の仕組み