概要
一般化線形回帰分析 (GLR) を実行して、予測したり、一連の説明変数との関係から従属変数をモデル化したりします。このツールを使用して、連続 (OLS)、バイナリ (論理)、およびカウント (ポワソン分布) のモデルに適合させることができます。
使用法
このツールは、2 つの操作モードで使用できます。さまざまな説明変数およびツール設定を調査しながら、それぞれのモデルのパフォーマンスを評価できます。適切なモデルが見つかったら、モデルを新しいデータセットに適合できます。
[入力フィーチャ] パラメーターは、モデル化している現象 ([従属変数] パラメーター) を表すフィールドと説明変数を表す 1 つ以上のフィールドとともに使用します。
[一般化線形回帰分析 (Generalized Linear Regression)] ツールは、出力フィーチャおよび診断も生成します。出力フィーチャ レイヤーは自動的にマップに追加され、残差のモデルに、レンダリング スキーマが適用されます。以下では、各出力について詳細に説明します。
回帰分析の正確な結果を得るには、解析に正しいモデル タイプ ([連続]、[バイナリ]、または [カウント]) を使用することが重要です。
モデルのサマリー結果と診断がメッセージ ウィンドウに書き込まれ、出力フィーチャクラスの下にチャートが作成されます。報告される診断は、[モデル タイプ] パラメーターの値によって決まります。3 つのモデル タイプは次のとおりです。
- 従属変数が広範囲の値 (温度や総売上額など) を受け取る場合は、モデル タイプとして [連続] (ガウス分布) を使用します。従属変数が正規分布しているのが理想的です。
従属変数が 2 つの値 (成功と失敗や存在と不在など) のいずれかを受け取ることができる場合は、モデル タイプとして [バイナリ] (ロジスティック) を使用します。従属変数を含むフィールドは、必ず数値フィールドまたはテキスト フィールドのいずれかでなければなりません。数値フィールドの場合は、1 と 0 でのみ構成する必要があります。テキスト フィールドの場合は、2 つの個別値でのみ構成する必要があります。テキスト フィールドを使用している場合は、[従属変数のマッピング] パラメーターで個別テキスト値を 1 と 0 にマッピングする必要があります。データ内に個別テキスト値の 1 と 0 のばらつきが存在するはずです。
従属変数が不連続で、イベントの発生回数 (犯罪件数など) を表す場合は、モデル タイプとして [カウント] (ポワソン分布) を使用します。従属変数が比率を表し、比率の分母が固定値である場合 (1 か月あたりの売上や人口 10,000 人あたりのガン患者の数など) も、カウント モデルを使用できます。[カウント] モデルは従属変数の平均と分散が等しいと想定し、従属変数の値は負になることも、小数を含むこともできません。
[従属変数] および [説明変数] パラメーターの値は、さまざまな値を含む数値フィールドである必要があります。このツールでは、変数がすべて同じ値を持つ場合 (たとえば、フィールドの値がすべて 9.0 の場合)、解がありません。
予測または説明フィールドに 1 つ以上の NULL 値または空の文字列値を持つフィーチャは、出力から除外されます。必要に応じて、[フィールド演算 (Calculate Field)] ツールを使用して、値を変更します。
回帰残差が予測より明らかに上下にずれているものがないか確認して、それが回帰モデルに欠けている変数に関する情報を提供しないか確認します。
作成された回帰モデルを使用して、他のフィーチャを予測できます。このような予測の作成では、各予測フィーチャが、指定された各説明変数の値を持つことが必要となります。入力フィーチャ パラメーターと予測位置パラメーターのフィールド名が一致しない場合、変数照合パラメーターが指定されます。説明変数を照合する場合、[入力フィーチャ] パラメーターと [入力予測フィーチャ] パラメーターのフィールドは同じタイプでなければなりません (たとえば、double フィールドは double フィールドと照合する必要があります)。
GLR の GeoAnalytics の実装には、次の制限があります。
- この実装はグローバル回帰モデルであり、データの空間分布を考慮しません。
- 解析は、残差に対して Moran's I テストを適用しません。
- フィーチャ データセット (ポイント、ライン、ポリゴン、およびテーブル) が入力としてサポートされており、ラスターはサポートされていません。
- 値を複数のクラスに分類することはできません。
ジオプロセシング ツールは、ArcGIS GeoAnalytics Server を活用しています。解析は GeoAnalytics Server で実行され、結果が ArcGIS Enterprise のコンテンツに保存されます。
GeoAnalytics Server ツールを実行する場合、解析は GeoAnalytics Server で実行されます。最適なパフォーマンスを得るためには、ArcGIS Enterprise ポータルでホストされているフィーチャ レイヤーかビッグ データ ファイル共有を通じて、GeoAnalytics Server にデータを提供する必要があります。GeoAnalytics Server のローカルにないデータは、解析が開始する前に GeoAnalytics Server に移動されます。つまり、ツールを実行する時間が長くなり、場合によっては ArcGIS Pro から GeoAnalytics Server にデータを移動できないこともあります。エラーの閾値はネットワークの速度や、データのサイズや複雑さに左右されます。したがって、データを必ず共有するか、ビッグ データ ファイル共有を作成することをお勧めします。
構文
arcpy.geoanalytics.GeneralizedLinearRegression(input_features, dependent_variable, model_type, explanatory_variables, output_features_name, {generate_coefficient_table}, {input_features_to_predict}, {explanatory_variables_to_match}, {dependent_variable_mapping}, {data_store})
パラメーター | 説明 | データ タイプ |
input_features | 従属変数と独立変数を格納したレイヤー。 | Record Set |
dependent_variable | モデル化される観測値を含む数値フィールド。 | Field |
model_type | モデル化されるデータのタイプを指定します。
| String |
explanatory_variables [explanatory_variables,...] | 回帰モデルの独立説明変数を表すフィールドのリスト。 | Field |
output_features_name | 従属変数の推定値と残差を含んでいる、作成されるフィーチャクラスの名前。 | String |
generate_coefficient_table (オプション) | 係数 (ブール) 値を含む出力テーブルを生成するかどうかを指定します。
| Boolean |
input_features_to_predict (オプション) | 推定値を計算する位置を表すフィーチャを含むレイヤー。このデータセット内の各フィーチャには、指定されたすべての説明変数の値が含まれています。これらのフィーチャの従属変数は、入力レイヤーのデータに対してキャリブレーションされたモデルを使用して推定されます。 | Record Set |
explanatory_variables_to_match [[Field from Prediction Locations, Field from Input Features],...] (オプション) | input_features_to_predict パラメーターの説明変数を input_features パラメーターの対応する説明変数 ([["LandCover2000", "LandCover2010"], ["Income", "PerCapitaIncome"]] など) と照合します。 | Value Table |
dependent_variable_mapping [dependent_variable_mapping,...] (オプション) | バイナリ回帰用に 0 (不在) と 1 (存在) へのマッピングに使用される値を表す 2 つの文字列。デフォルトでは、0 と 1 が使用されます。たとえば、Arrest および No Arrest というフィールド値を使用して逮捕を予測する場合は、[False Value (0)] に No Arrest を入力し、[True Value (1)] に Arrest を入力します。 | Value Table |
data_store (オプション) | 出力の保存先の ArcGIS Data Store を指定します。デフォルトは、SPATIOTEMPORAL_DATA_STORE です。ビッグ データ ストアに格納されたすべての結果は、WGS84 で保存されます。リレーショナル データ ストアに格納された結果は、それらの座標系を維持します。
| String |
派生した出力
名前 | 説明 | データ タイプ |
output | 各入力予測フィーチャの従属変数の予測値を含む出力フィーチャ サービス。 | レコード セット |
output_predicted_features | 入力変数と予測される説明値を含む出力レイヤー。 | レコード セット |
coefficient_table | 係数値を含む出力テーブル。 | レコード セット |
コードのサンプル
次のスタンドアロン スクリプトは、GeneralizedLinearRegression ツールの使用方法を示します。
このスクリプトでは、モデルを作成し、特定の犯罪に対して逮捕が行われたかを予測します。
# Name: GeneralizedLinearRegression.py
# Description: Run GLR on crime data and predict if an arrest was made for a crime reporting.
#
# Requirements: ArcGIS GeoAnalytics Server
# Import system modules
import arcpy
# Set local variables
trainingDataset = "https://analysis.org.com/server/rest/services/Hosted/old_crimes/FeatureServer/0"
predictionDataset = "https://analysis.org.com/server/rest/services/Hosted/new_crimes/FeatureServer/0"
outputTrainingName = "training"
# Execute GLR
arcpy.geoanalytics.GeneralizedLinearRegression(
trainingDataset, "ArrestMade", "BINARY", "CRIME_TYPE; WARD; DAY_OF_MONTH", outputTrainingName,
"NO_TABLE", predictionDataset, "CRIME_TYPE CRIME_TYPE;WARD WARD;DAY_OF_MONTH DAY_OF_MON",
"Arrest NoArrest", "SPATIOTEMPORAL_DATA_STORE")
環境
- 出力座標系
解析で使用される座標系。このパラメーターで指定されない限り、入力の座標系で解析が行われます。GeoAnalytics Tools の場合、最終結果は WGS84 のビッグ データ ストアに保存されます。
ライセンス情報
- Basic: 次のものが必要 ArcGIS GeoAnalytics Server
- Standard: 次のものが必要 ArcGIS GeoAnalytics Server
- Advanced: 次のものが必要 ArcGIS GeoAnalytics Server