一般化線形回帰分析 (Generalized Linear Regression) (空間統計)

サマリー

一般化線形回帰分析 (GLR) を実行して、予測したり、一連の説明変数との関係から従属変数をモデル化したりします。 このツールを使用して、連続 (OLS)、バイナリ (ロジスティック)、およびカウント (ポワソン分布) のモデルに適合させることができます。

一般化線形回帰分析の詳細

一般化線形回帰分析ツールの図

使用法

  • このツールの主な出力は、レポート ファイルです。このファイルの内容は、ツールの実行中に [ジオプロセシング] ウィンドウの下部でメッセージとして表示できます。 このメッセージにアクセスするには、[ジオプロセシング] ウィンドウで、進行状況バーにポインターを合わせるか、ポップアップ ボタンをクリックするか、メッセージ セクションを展開します。 ジオプロセシング履歴で、以前に実行したツールのメッセージにアクセスすることもできます。

  • [入力フィーチャ] パラメーターは、モデル化している現象 ([従属変数] 値) を表すフィールドと [説明変数] 値を表す 1 つ以上のフィールドとともに使用します。 これらのフィールドは、数値で値の範囲を持つ必要があります。 従属変数または説明変数に欠損値があるフィーチャは、解析から除外されます。ただし、[欠損値の補完 (Fill Missing Values)] ツールを使用して、ツールを実行する前にデータセットを完全なものにすることができます。

  • [一般化線形回帰分析 (Generalized Linear Regression)] ツールは、係数情報と診断を含む [出力フィーチャ] 値も生成します。 出力フィーチャクラスは自動的にコンテンツ ウィンドウに追加され、残差のモデルに、レンダリング スキーマが適用されます。 各出力の詳細な説明については、「一般化線形回帰分析の詳細」をご参照ください。

  • [モデル タイプ] パラメーターに対して選択したオプションは、モデル化しているデータによって異なります。 回帰分析の正確な結果を得るには、解析に正しいモデルを使用することが重要です。

    連続、カウント、バイナリ モデル データ タイプ

  • モデルのサマリー結果と診断がメッセージ ウィンドウに書き込まれ、出力フィーチャクラスの下にチャートが作成されます。 報告される診断とチャートは、[モデル タイプ] パラメーター値によって異なります。詳細については、「一般化線形回帰分析の詳細」トピックをご参照ください。

  • GLR の結果を信頼できるのは、この方法で本質的に必要とされる仮定をすべて、データと回帰モデルが満たしている場合だけです。 モデルを適切に指定するために、すべての結果の診断を確認し、「回帰分析の基礎」の「回帰の一般的な問題とその結果および解決方法」をご参照ください。

  • [従属変数] および [説明変数] パラメーターは、さまざまな値を含む数値フィールドである必要があります。 このツールでは、変数がすべて同じ値を持つ場合 (たとえば、フィールドの値がすべて 9.0 の場合)、解がありません。

  • 説明変数は、フィールドから取得するか、[説明距離フィーチャ] パラメーターを使用して距離フィーチャから算出することができます。 これらのタイプの説明変数を任意に組み合わせて使用できますが、少なくとも 1 つのタイプが必要です。 [説明距離フィーチャ] パラメーター値を使用すると、指定されたフィーチャから [入力フィーチャ] パラメーター値までの距離を表す説明変数が自動的に作成されます。 個々の入力 [説明距離フィーチャ] 値から最も近い [入力フィーチャ] 値までの距離が計算されます。 入力された [説明距離フィーチャ] 値がポリゴンまたはラインの場合、距離の属性は、フィーチャのペアの最も近いセグメント間の距離として計算されます。 ただし、ポリゴンとラインの場合、距離は別々に計算されます。 詳細については、「近接解析ツールによる距離の計算方法」をご参照ください。

  • [説明距離フィーチャ] 値が分析の要素になっている場合は、投影データを使用することをお勧めします。 距離を正確に計測するには、(地理座標系ではなく) 投影座標系を使用してデータを投影することもお勧めします。

  • 統計的に有意な回帰残差に空間的自己相関が存在する場合は、GLR モデルが誤って指定されていると見なされるため、GLR による結果は信頼できません。 回帰残差に対して [空間的自己相関分析 (Spatial Autocorrelation (Morans I))] ツールを実行して、この問題が生じていないか確認してください。 統計的に有意な回帰残差の空間的自己相関は、1 つ以上の重要な説明変数がモデルに欠けていることを示している可能性があります。

  • 回帰残差が予測より明らかに上下にずれているものがないか視覚的に調べて、それが回帰モデルに欠けている変数の手がかりにならないか確認します。 残余に対して [ホット スポット分析 (Hot Spot Analysis)] を実行すると、予測とずれた結果の空間クラスター化を視覚化するのに役立つことがあります。

  • 仕様の間違いが、グローバル モデルを使用して非定常変数をモデル化しようとしたせいである場合は (GLR はグローバル モデルです)、[地理空間加重回帰分析 (Geographically Weighted Regression)] ツールを使用して予測を改善し、説明変数に内在的な非定常性 (局所的変数) を把握できることがあります。

  • 計算結果が無限または未定義の場合、シェープファイル以外の出力は NULL に、シェープファイルの出力は -DBL_MAX (たとえば、-1.7976931348623158e+308) になります。

  • 注意:

    シェープファイルを使用するときは、NULL 値を格納できないため、注意が必要です。シェープファイル以外の入力からシェープファイルを作成するツールまたはその他の方法では、NULL 値がゼロとして格納または解釈される場合があります。場合によっては、NULL 値はシェープファイルに非常に大きな負の値として格納されます。この場合、予期せぬ結果に至ることがあります。詳細については、「ジオプロセシングでのシェープファイル出力の注意事項」をご参照ください。

パラメーター

ラベル説明データ タイプ
入力フィーチャ

従属変数と独立変数を格納したフィーチャクラス。

Feature Layer
従属変数

モデル化される観測値を含む数値フィールド。

Field
モデル タイプ

モデル化されるデータのタイプを指定します。

  • 連続 (ガウス)[従属変数] 値は連続敵です。 使用されるモデルはガウス分布で、ツールは最小二乗法 (Ordinary Least Squares) の回帰分析を実行します。
  • バイナリ (ロジスティック)[従属変数] の値は有無を表します。 これは、従来の 1s および 0s、または何らかの閾値に基づいて記録された連続データを使用できます。 使用されるモデルは、ロジスティック回帰です。
  • カウント (ポワソン)[従属変数] 値は不連続で、犯罪件数、病気のインシデント、交通事故などのイベントを表します。 使用されるモデルは、ポワソン分布回帰です。
String
出力フィーチャ

従属変数の推定値と残差が含まれている新しいフィーチャクラス。

Feature Class
説明変数

回帰モデルの独立説明変数を表すフィールドのリスト。

Field
説明距離フィーチャ
(オプション)

指定されたフィーチャから [入力フィーチャ] 値までの距離を算出して、説明変数を自動的に作成します。 個々の入力 [説明距離フィーチャ] 値から最も近い [入力フィーチャ] 値までの距離が計算されます。 入力された [説明距離フィーチャ] 値がポリゴンまたはラインの場合、距離の属性は、フィーチャのペアの最も近いセグメント間の距離として計算されます。

Feature Layer
予測位置
(オプション)

推定を計算する場合に、位置を表すフィーチャが格納されるフィーチャクラス。 このデータセット内の各フィーチャには、指定されたすべての説明変数の値が含まれています。 これらのフィーチャの従属変数は、入力フィーチャクラス データに対してキャリブレーションされたモデルを使用して推定されます。

Feature Layer
説明変数の照合
(オプション)

[予測位置] パラメーターの説明変数を [入力フィーチャクラス] パラメーターの対応する説明変数と照合します。

Value Table
距離フィーチャの照合
(オプション)

左側の [予測位置] パラメーターで指定した距離フィーチャを、右側の [入力フィーチャ] パラメーターの対応する距離フィーチャと照合します。

Value Table
出力予測済みフィーチャ
(オプション)

[予測位置] 値の従属変数の推定値を受け取る出力フィーチャクラス。

Feature Class

arcpy.stats.GeneralizedLinearRegression(in_features, dependent_variable, model_type, output_features, explanatory_variables, {distance_features}, {prediction_locations}, {explanatory_variables_to_match}, {explanatory_distance_matching}, {output_predicted_features})
名前説明データ タイプ
in_features

従属変数と独立変数を格納したフィーチャクラス。

Feature Layer
dependent_variable

モデル化される観測値を含む数値フィールド。

Field
model_type

モデル化されるデータのタイプを指定します。

  • CONTINUOUSdependent_variable 値は連続的です。 使用されるモデルはガウス分布で、ツールは最小二乗法 (Ordinary Least Squares) の回帰分析を実行します。
  • BINARYdependent_variable 値は有無を表します。 これは、従来の 1s および 0s、または何らかの閾値に基づいて記録された連続データを使用できます。 使用されるモデルは、ロジスティック回帰です。
  • COUNTdependent_variable 値は不連続で、犯罪件数、病気のインシデント、交通事故などのイベントを表します。 使用されるモデルは、ポワソン分布回帰です。
String
output_features

従属変数の推定値と残差が含まれている新しいフィーチャクラス。

Feature Class
explanatory_variables
[explanatory_variables,...]

回帰モデルの独立説明変数を表すフィールドのリスト。

Field
distance_features
[distance_features,...]
(オプション)

指定されたフィーチャから in_features 値までの距離を算出して、説明変数を自動的に作成します。 入力された各 distance_features 値から最近隣の in_features 値までの距離が算出されます。 入力 distance_features 値がポリゴンまたはラインの場合、距離の属性は、フィーチャのペアの最も近いセグメント間の距離として計算されます。

Feature Layer
prediction_locations
(オプション)

推定を計算する場合に、位置を表すフィーチャが格納されるフィーチャクラス。 このデータセット内の各フィーチャには、指定されたすべての説明変数の値が含まれています。 これらのフィーチャの従属変数は、入力フィーチャクラス データに対してキャリブレーションされたモデルを使用して推定されます。

Feature Layer
explanatory_variables_to_match
[[Field from Prediction Locations, Field from Input Features],...]
(オプション)

prediction_locations パラメーターの説明変数を in_features パラメーターの対応する説明変数 ([["LandCover2000", "LandCover2010"], ["Income", "PerCapitaIncome"]] など) と照合します。

Value Table
explanatory_distance_matching
[[Prediction Distance Features, Input Explanatory Distance Features],...]
(オプション)

左側の features_to_predict パラメーターで指定した距離フィーチャを、右側の in_features パラメーターの対応する距離フィーチャ ([["stores2010", "stores2000"], ["freeways2010", "freeways2000"]] など) と照合します。

Value Table
output_predicted_features
(オプション)

prediction_location 値の従属変数の推定値を受け取る出力フィーチャクラス。

[予測位置] 値の従属変数の推定値を受け取る出力フィーチャクラス。

Feature Class

コードのサンプル

GeneralizedLinearRegression の例 1 (Python ウィンドウ)

次の Python ウィンドウ スクリプトは、GeneralizedLinearRegression 関数の使用方法を示しています。

import arcpy
arcpy.env.workspace = r"c:\data\project_data.gdb"
arcpy.stats.GeneralizedLinearRegression("landslides", "occurred",
                                 "BINARY", "out_features", 
                                 "eastness;northness;elevation;slope", 
                                 "rivers")
GeneralizedLinearRegression の例 2 (スタンドアロン スクリプト)

次のスタンドアロン Python スクリプトは、GeneralizedLinearRegression 関数の使用方法を示しています。

# Linear regression using a count model to predict the number of crimes.
# The depend variable (total number of crimes) is predicted using total
# population, the median age of housing, average household income and the
# distance to the central business district (CBD)

import arcpy

# Set the current workspace (to avoid having to specify the full path to
# the feature classes each time)
arcpy.env.workspace = r"c:\data\project_data.gdb"

arcpy.stats.GeneralizedLinearRegression("crime_counts", 
     "total_crimes", "COUNT", "out_features", "YRBLT;TOTPOP;AVGHINC", 
     "CBD", "prediction_locations", "YRBLT YRBLT;TOTPOP TOTPOP;AVGHINC AVGHINC", 
     "CBD CBD", "predicted_features")

ライセンス情報

  • Basic: Yes
  • Standard: Yes
  • Advanced: Yes

関連トピック