空間統計モデル (.ssm) ファイルは、トレーニング済みモデル、プロパティ、および空間関係のモデリング ツールセットにある複数のツールで実行された解析のモデル診断を含むファイルです。 空間統計モデル ファイルを使用すると、新しいデータセットを使用して予測を行い、他のユーザーと安全に共有することができます。共有先のユーザーは自分のデータでこの予測を使用できるようになります。 たとえば、野生生物の生態学者が絶滅危惧種の既知の場所についてフィールド データを収集し、分析範囲内でその種の存在の可能性がある他の場所を予測することができます。 さらに .ssm ファイルを他の生態学者と共有することで、共有先の生態学者はこのファイルを使用して自分の分析範囲内でその種の場所を予測できるようになります。 モデルのトレーニングに使用するデータは .ssm ファイルには保存されないので、絶滅危惧種の元の場所に関する機密性の高いデータがモデル ファイルの共有によって公開されることはありません。
.ssm ファイルによる管理と予測を行うには、次のツールを使用できます。
- [空間統計モデル ファイル プロパティの設定 (Set Spatial Statistics Model File Properties)] - .ssm ファイルのプロパティを設定します (変数の説明や単位など)。 これによりモデルの変数やその単位を説明できるので、他のユーザーが適切にファイルを使用できるようになります。 たとえば、ある説明距離フィーチャが (米国の) マイルで測定された病院までの距離を表すものだと指定すれば、他のユーザーは、特定の種類のデータに対してのみそのモデルを使用するのだとわかります。
- [空間統計モデル ファイルの説明 (Describe Spatial Statistics Model File)] - .ssm ファイルのプロパティを表示します (解析方法、データセット名、モデル診断などを含む)。 これにより各変数の意味を理解できるので、このファイルを使用して新しいデータによる予測を行うときに、すべての変数、データセット、単位を正しく照合できます。
- [空間統計モデル ファイルを使用した予測 (Predict Using Spatial Statistics Model File)] - .ssm ファイルを使用して、新しいデータセットによる予測を行います。 .ssm ファイル内の各変数またはデータセットは、同じ種類および単位の新しいデータセットと照合する必要があります。 たとえば、モデル ファイル内の説明変数が、摂氏で測定された温度値のラスターを必要とする場合があります。
次のツールの [出力トレーニング済みモデル ファイル] パラメーターを使用して、.ssm ファイルを作成できます。
- 一般化線形回帰分析 (Generalized Linear Regression)
- フォレストベースのブーストされた分類と回帰分析 (Forest-based and Boosted Classification and Regression)
- Presence-only 予測 (MaxEnt) (Presence-only Prediction (MaxEnt))
適用例
次のシナリオは、.ssm ファイルが役立つ可能性がある解析ワークフローを示しています。
シナリオ 1: モデルを再利用してモデル トレーニング時間を短縮する
大規模データセットを使用して解析モデリングを実行する場合、トレーニング プロセスに非常に時間がかかり、高コストのコンピューター ハードウェアが必要になる可能性があります。 多くの場合、設定を微調整するためにモデルを複数回トレーニングする必要も生じます。 最善の結果を生成するモデル設定を選択した後は、予測の実行に使用する今後すべてのデータセットに、このトレーニング プロセスを繰り返したくはありません。 最初のトレーニング結果を使用して .ssm ファイルを作成すれば、今後すべてのデータセットでそれを再利用することができ、モデルを再度トレーニングする必要がなくなります。 同じトレーニング モデルを使用すると、基になる予測モデルに同じものを使用することで、今後すべてのデータセットに対する予測の一貫性も確保されます。
シナリオ 2: トレーニング済モデル ファイルを他のユーザーと共有する
モデルを独自のデータで使用する必要がある他のユーザーと、.ssm ファイルを共有できます。 モデルの作成に使用するデータはモデル ファイルから直接アクセスできないので、トレーニングに使用した機密データを公開することなく、モデル ファイルを共有できます。 モデルを共有する前に、[空間統計モデル ファイル プロパティの設定 (Set Spatial Statistics Model File Properties)] ツールを使用して変数の説明と変数の単位を追加できます。 この操作によって他のユーザーはこのファイルで予測を行うときに使用するデータの種類や単位を知ることができるので、便利です。 モデル ファイルの受信後、受信者は [空間統計モデル ファイルの説明 (Describe Spatial Statistics Model File)] ツールを使用してプロパティとモデル診断を表示し、[空間統計モデル ファイルを使用した予測 (Predict Using Spatial Statistics Model File)] ツールを使用してデータによる予測を行うことができます。
シナリオ 3: ストリーミング データ サービスの解析を自動化する
山火事の場所のストリーミング データ サービスなど、定期的に更新されるデータを操作する場合は、.ssm ファイルを使用すると、新しいデータが使用可能になったときに単純な自動化が可能になります。 データが更新されるたびに、[空間統計モデル ファイルを使用した予測 (Predict Using Spatial Statistics Model File)] ツールで、更新されたデータに対して .ssm ファイルを再利用します。
.ssm ファイルのコンテンツ
モデル ファイルにはモデルに関する包括的な情報が保存されます。 [空間統計モデル ファイル プロパティの設定 (Set Spatial Statistics Model File Properties)] ツールで作成した変数の説明や単位に加えて、.ssm ファイルには、モデルの正確度や信頼性を調査するためのモデル診断も含まれています。
ArcGIS Pro 3.3 以降のバージョンでは、64 ビット ObjectID と Big Integer フィールド タイプのデータを使用してトレーニングと予測ができます。
[空間統計ツールの一般化線形回帰分析 (Generalized Linear Regression)] ツールでは、.ssm ファイルに回帰係数と診断が含まれます (AICc、R2、補正 R2、Joint F 統計、Joint Wald 統計など)。 モデル診断の完全なリストと説明については、「メッセージ診断の解釈」セクションをご参照ください。
[フォレストベースのブーストされた分類と回帰分析 (Forest-based and Boosted Classification and Regression)] ツールでは、.ssm ファイルに決定木、モデルの特性、検証診断、上位変数の重要度、説明変数範囲診断が含まれます。 モデルの Out of Bag (OOB) エラーは含まれません。この診断は新しい予測の作成とは関連せず、.ssm ファイルのサイズが大幅に増大する可能性があるからです。 勾配ブースト モデル タイプを使用して作成されたモデルは、ArcGIS Pro 3.3 以降のバージョンでサポートされます。
詳細については、「出力メッセージと診断」セクションをご参照ください。
[Presence-only 予測 (MaxEnt) (Presence-only Prediction (MaxEnt))] ツールでは、.ssm ファイルに、トレーニング済みモデル、モデルの特性とサマリー、回帰係数、カテゴリ別のサマリー (説明変数がカテゴリである場合)、およびトレーニング データの説明変数範囲診断に関する重要な情報が含まれます。 交差検証の結果と存在および背景ポイントのカウントは含まれません。これらは、モデルのトレーニングに使用される機密データ (絶滅危惧種の場所など) のリバース エンジニアリングに使用される可能性があるからです。 詳細については、「ジオプロセシング メッセージ」セクションをご参照ください。
ベスト プラクティス
.ssm ファイルを作成して使用するときには、以下の点に注意する必要があります。
- 共有のためにモデルをより透過的で有意義なものにするには、[空間統計モデル ファイル プロパティの設定 (Set Spatial Statistics Model File Properties)] ツールを使用して、すべての変数に説明と単位を指定します。 変数とその使用法のドキュメントは、科学的な正確さと再現性にとって重要です。
- .ssm ファイルはトレーニング データを直接パッケージ化せず (トレーニング結果のみ)、最も機密性の高いモデル診断も保存しませんが、データ プライバシーとセキュリティにはやはり潜在的な懸念が存在します。 いくつかの複雑なモデル診断 (混同行列など) は、元のトレーニング データの一部のリバース エンジニアリングに使用される可能性があります。
- 他のユーザーが作成した .ssm ファイルを使用する場合には、[空間統計モデル ファイルの説明 (Describe Spatial Statistics Model File)] ツールを使用してプロパティを調べる必要があります。 変数の説明と単位は特に重要で、データを予測で使用する前に、モデルで想定されている単位に手動で変換する必要があるかもしれません。 たとえば、予測を正確にするために、温度の値を華氏から摂氏に変換する必要がある場合があります。
HDF5 データ モデル
.ssm ファイルでは、Hierarchical Data Format (HDF) バージョン 5 データ モデルを使用してモデルの結果とメタデータを保存します。 HDF5 には次の利点があります。
- HDF5 は大規模なデータを、高度に圧縮可能な組織的構造で保存します。 たとえば、600,000 のフィーチャと 10,000 のツリーを使用してトレーニングされたフォレストベースの回帰分析モデルを、20 GB 以下の 1 つのファイルに保存できます。 効率性の低いデータ モデルではこうした複雑なモデルの保存に手こずるため、都合よく共有できる従来型のファイルが使用されることになります。
- HDF5 は自己説明的なデータ モデルなので、メタデータをデータセットに直接添付できます。このため、データとメタデータを別々のファイルに分ける必要がありません。 この同期によって HDF5 データは透過的でアクセス可能なものになり、複数のファイルを管理してまとめて維持する必要がなくなります。
- HDF5 では高いパフォーマンスでデータの読み書きが可能になります。 たとえば、空間統計ツールの使用時に .ssm ファイルの作成を選択しても、ツールの実行時間が目に見えて増大することはありません。 モデルを使用して新しいデータによる予測を行う場合、そのモデルにすばやくアクセスできるのでオーバーヘッドが最小化されます。
[空間統計モデル ファイル プロパティの設定 (Set Spatial Statistics Model File Properties)] ツール、[空間統計モデル ファイルの説明 (Describe Spatial Statistics Model File)] ツール、[空間統計モデル ファイルを使用した予測 (Predict Using Spatial Statistics Model File)] ツール以外にも、標準の HDF5 ライブラリを使用して .ssm ファイルを調査できます。
次の Python コードの例は、h5py パッケージを使用して .ssm ファイルのプロパティを調査して印刷する方法を示しています。
# Import necessary packages
import numpy as np
import h5py
spatialStatsModel = h5py.File(r'C:/MyData/MySSMFile.ssm', 'r')
# Get a list of keys of the variables:
ls = list(spatialStatsModel.keys())
# Get the attributes of the model:
attrs = list(spatialStatsModel.attrs)
# Print all the datasets and attributes
print("The variables in the model:")
for k in ls:
print("{}---{}, --- {}".format(k, spatialStatsModel[k][()],
type(spatialStatsModel[k][()])))
print("The attributes in the model:")
for k in attrs:
print("{}---{}, --- {}".format(k, spatialStatsModel.attrs.get(k),
type(spatialStatsModel.attrs.get(k))))
# Close the .ssm file
spatialStatsModel.close