地理空間加重回帰分析 (Geographically Weighted Regression) (GWR) (空間統計)

概要

空間的に変化する関係をモデリングするときに使用される局所形の線形回帰である、地理空間加重回帰分析 (GWR) を実行します。

メモ:

このツールは、[地理空間加重回帰分析 (Geographically Weighted Regression) (GWR)] という廃止された類似のツールの後継として ArcGIS Pro 2.3 に追加されました。この新しいツールには、過去数年間に開発された方法の改善が含まれ、追加のモデルがサポートされています。

[地理空間加重回帰分析 (Geographically Weighted Regression) (GWR)] の詳細

地理空間加重回帰分析 (Geographically Weighted Regression)
GWR は、ローカルの回帰モデルです。時空間の係数を変えることができます。

使用法

  • このツールは、空間的に変化する関係をモデリングするときに使用される局所形の線形回帰である、地理空間加重回帰分析 (GWR) を実行します。GWR ツールは、データセット内のあらゆるフィーチャに回帰方程式をあてはめることで、理解または予測しようとしている変数またはプロセスのローカル モデルを作成します。[地理空間加重回帰分析 (Geographically Weighted Regression) (GWR)] ツールでは、各ターゲット フィーチャの近傍内に存在するフィーチャの従属変数と説明変数を組み込んで、このような別々の方程式を作成します。各近傍の形状と範囲は、[近傍タイプ][近傍選択方法] パラメーターに対する入力に基づきますが、これには 1 つの制約があります。近隣のフィーチャ数が 1000 を超えると、各局所方程式には最近隣の 1000 個だけが組み込まれます。

  • 最善の結果となるよう、GWR ツールは、数百のフィーチャを伴うデータセットに適用してください。この手法は、小さなデータセットへの使用には適していません。このツールをマルチポイント データに使用することはできません。

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

  • メモ:

    [地理空間加重回帰分析 (Geographically Weighted Regression) (GWR)] ツールでは、各種出力を生成できます。GWR モデルの概要は、ツールの実行中に [ジオプロセシング] ウィンドウの下にメッセージとして表示されます。このメッセージにアクセスするには[ジオプロセシング] ウィンドウでプログレス バーの上にカーソルを置くか、ポップアップ ボタンをクリックするか、メッセージ セクションを展開します。ジオプロセシング履歴を介して、以前に実行した [地理空間加重回帰分析 (Geographically Weighted Regression) (GWR)] ツールのメッセージにアクセスすることもできます。

    また、GWR ツールは、[出力フィーチャ] を生成し、局所的な診断値を報告するフィールドを追加します。[出力フィーチャクラス] と関連するチャートは、残余をモデリングできるよう、ホット/コールド レンダリング方式が適用された状態で、[コンテンツ] ウィンドウに自動的に追加されます。各出力およびチャートの詳細な説明については、「地理空間加重回帰分析の詳細」をご参照ください。

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

  • 投影データを使用することをお勧めします。これは、距離が分析の要素になっている場合には、[近傍タイプ] パラメーターに [距離バンド] を選択すると、GWR にとっても距離が成分となるため、特に重要です。データの投影法には、(地理座標系ではなく) 投影座標系を使用することをお勧めします。

  • [地理空間加重回帰分析 (Geographically Weighted Regression) (GWR)] ツールによる計算の中には、パフォーマンス向上のために複数の CPU を利用するものもあり、この場合は自動的に最大 8 つのスレッド/CPU が処理に使用されます。

  • GWR ツールを使用しデータをローカルに調査する前に、[一般化線形回帰 (Generalized Linear Regression)] ツールを使用してデータをグローバルに調査する方法が一般的です。

  • [従属変数] および [説明変数] パラメーターは、さまざまな値を含む数値フィールドである必要があります。これらの値には、グローバルおよびローカルなばらつきがあります。このため、GWR モデルでは、別の空間様式を表すダミーの説明変数を使用しないでください (都心外の国勢調査地区に 1 という値を割り当て、それ以外にはすべて 0 という値を割り当てるなど)。GWR ツールでは、説明変数の係数が異なっていてもよいため、このような空間様式の説明変数が不要です。これを含めてしまうと、局所的な多重共線性の問題が生じます。

  • 一般化線形回帰のようなグローバル回帰モデルでは、複数の変数が多重共線性を示すと (複数の変数が冗長であるか、同じ「ストーリー」を語るとき)、結果は信頼できません。GWR ツールでは、データセットの各フィーチャについて、局所的な回帰方程式が構築されます。特定の説明変数の値が空間的にクラスタリングしている場合は、局所的な多重共線性が問題となっている可能性が高いといえます。局所的な多重共線性のために不安定な結果になっているかどうかは、出力フィーチャクラスの条件数フィールド (COND) で確認できます。一般的に、条件数が 30 を上回っている場合、NULL に等しい場合、またはシェープ ファイルの場合であれば -1.7976931348623158e+308 に等しい場合の結果には信頼性がありません。条件数は、モデル内の説明変数の数を補正するようにスケール調整されます。これによって、異なる数の説明変数を使用するモデル間で条件数を直接比較できるようにします。

  • GWR モデルに名義またはカテゴリ データを含める場合には、注意してください。カテゴリが空間的にクラスタリングしているようなときには、局所的な多重共線性の問題が生じるリスクがあります。局所的な共線性が問題となっているかどうかは、GWR 出力に含まれている条件数からわかります (条件数が 0 未満、30 超、または NULL に設定されている場合)。局所的な多重共線性が存在する場合の結果は安定していません。

  • 説明変数の係数にみられる地域的なばらつきについて理解を深めるために、GWR ツールによって作成されるオプションのラスター係数サーフェスを確認します。これらのラスター サーフェスは、[その他のオプション] の下にある [係数ラスター ワークスペース] を指定していれば、この中に作成されます。ポリゴン データの場合は、[出力フィーチャ] の各係数フィールドにグラデーションの色やコールドからホットまでのレンダリングを使用して、分析範囲全体における変化を確認できます。

  • GWR ツールは、[予測位置] のフィーチャクラス (多くの場合、このフィーチャクラスは [入力フィーチャ] と同じです) を指定し、説明変数を照合して、[出力予測済みフィーチャ] を指定することで、予測を行う場合にも使用できます。[入力フィーチャ][照合する説明変数] フィールドが [予測位置からのフィールド] フィールドと一致する場合、それらは自動的に設定されます。一致しない場合は、正しいフィールドを指定します。

  • 重要な説明変数が欠けていると、回帰モデルは誤って指定されます。回帰残余の空間的自己相関が統計的に有意である場合や、1 つ以上の説明変数の係数に予期せぬ空間的なばらつきがある場合は、モデルが誤って指定されている可能性が考えられます。これらの欠けている重要な変数を特定し、これらをモデルに含められるよう、(GLR 残余分析や GWR 係数差異分析などを通じて) あらゆる努力を行ってください。

  • 常に、説明変数を非定常とすることが理にかなっているかを疑ってみてください。たとえば、ASPECT をはじめとするいくつかの変数を関数として、特定の植物種の密度をモデリングしているとします。ASPECT 変数の係数が分析範囲全体で変化する場合には、重要な説明変数 (優勢な競合する植物など) が欠けているという事実を示している可能性が高いといえます。あらゆる努力を行って、回帰モデルにすべての重要な説明変数を含めてください。

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

    注意:

    シェープファイルを使用するときは、NULL 値を格納できないため、注意が必要です。シェープファイルではない入力からシェープファイルを作成するツールやその他の手順では、結果的に NULL 値がゼロまたは非常に小さな負の値 (-DBL_MAX = -1.7976931348623158e+308) として格納されることがあります。この場合、予期せぬ結果に至ることがあります。詳細については、「ジオプロセシングでのシェープファイル出力の注意事項」をご参照ください。

  • [近傍選択方法] パラメーターには、次の 3 つのオプションがあります。[黄金探索] を選択すると、ツールは黄金探索方法を使用して、[距離バンド] または [近傍数] パラメーターに最適な値を見つけます。 [手動間隔] オプションは、距離バンドまたは近傍数を少しずつ増やして、指定された距離間の近傍をテストします。どちらの場合も、使用される近傍サイズは、赤池情報量基準 (AICc) の値を最小化するサイズです。しかしながら、どちらの方法も、局所的な多重共線性の問題のために、最適な距離バンドまたは近傍数の解を求めることができません。エラーが表示されたり深刻なモデル設計上の問題が発生した場合は、[ユーザー定義] オプションを使用して、特定の距離または近傍数を指定してみてください。次に、出力フィーチャクラスの条件数を確認し、どのフィーチャが局所的な共線性の問題に関係しているのか確認してください。

  • 深刻なモデル設計上の問題や、局所方程式に十分な近傍数が含まれていないことを示すエラーは、多くの場合、グローバルまたは局所的な多重共線性の問題があることを示しています。どこに問題があるのかを判断するために [一般化線形回帰 (Generalized Linear Regression)] を使用してグローバル モデルを実行し、各説明変数について VIF 値 を確認します。大きな VIF 値がある場合 (たとえば 7.5 以上)、グローバル多重共線性によって GWR では解を導けなくなっています。しかし、もっと可能性が高いのは、ローカル多重共線性の問題です。各独立変数の主題図を作成してみてください。主題図で同一値が空間的にクラスターを形成している場合は、モデルからそのような変数を除外するか、別の独立変数と組み合わせて値のばらつきを増やします。たとえば、家屋の値をモデリングしているときに、寝室と浴室について変数を設けている場合は、これらを組み合わせてバリエーションを増やすか、浴室/寝室の面積を表すものにすることができます。GWR モデルの構築時には、空間様式のダミー変数、空間クラスターとなっているカテゴリや名義変数、可能性のある値が非常に限られている変数の使用を避けてください。

  • [地理空間加重回帰分析 (Geographically Weighted Regression)] は、[一般化線形回帰 (Generalized Linear Regression)] と同じ要件の適用を受ける線形モデルです。GWR モデルが適切に指定できていることを確認するには、「地理空間加重回帰分析の詳細」で説明されている診断を確認してください。「回帰分析の基礎」のトピックの「回帰モデルがうまくいかない理由」にも、モデルが正確であることを確認するための情報が記載されています。

構文

arcpy.stats.GWR(in_features, dependent_variable, model_type, explanatory_variables, output_features, neighborhood_type, neighborhood_selection_method, {minimum_number_of_neighbors}, {maximum_number_of_neighbors}, {minimum_search_distance}, {maximum_search_distance}, {number_of_neighbors_increment}, {search_distance_increment}, {number_of_increments}, {number_of_neighbors}, {distance_band}, {prediction_locations}, {explanatory_variables_to_match}, {output_predicted_features}, {robust_prediction}, {local_weighting_scheme}, {coefficient_raster_workspace})
パラメーター説明データ タイプ
in_features

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

Feature Layer
dependent_variable

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

Field
model_type

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

  • CONTINUOUS dependent_variable の値は連続です。Gaussian モデルが使用され、ツールは最小二乗法 (Ordinary Least Squares) の回帰分析を実行します。
  • BINARY dependent_variable の値は有無を表します。これは、従来の 1s および 0s、または閾値に基づいてコード化された連続データを使用できます。論理回帰モデルが使用されます。
  • COUNTdependent_variable の値は不連続で、犯罪件数、病気のインシデント、交通事故などのイベントを表します。ポワソン分布回帰モデルが使用されます。
String
explanatory_variables
[explanatory_variables,...]

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

Field
output_features

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

Feature Class
neighborhood_type

使用される近傍を固定距離として構築するか、フィーチャの密度に応じて空間範囲の変化を許容するかを指定します。

  • NUMBER_OF_NEIGHBORS 近傍サイズは、各フィーチャの計算に含まれる指定した近傍数の関数です。フィーチャの密度が高い場合、近傍の空間範囲は小さくなります。フィーチャの密度が低い場合、近傍の空間範囲は大きくなります。
  • DISTANCE_BAND近傍サイズは、各フィーチャに対して定数または固定距離です。
String
neighborhood_selection_method

近傍サイズの決定方法を指定します。GOLDEN_SEARCH および MANUAL_INTERVALS オプションを使用して選択された近傍は、AICc の値を最小化する処理に基づきます。

  • GOLDEN_SEARCHツールは、黄金分割探索方法を使用して、データの特性に基づいて最適な距離または近傍数を識別します。
  • MANUAL_INTERVALS テストされる近傍は、neighborhood_type パラメーターに NUMBER_OF_NEIGHBORS が選択された場合は minimum_number_of_neighborsnumber_of_neighbors_increment パラメーター、neighborhood_type パラメーターとして DISTANCE_BAND が選択された場合は minimum_search_distancesearch_distance_increment パラメーター、および number_of_increments パラメーターで指定された値によって定義されます。
  • USER_DEFINED 近傍サイズは、number_of_neighbors または distance_band パラメーターによって指定されます。
String
minimum_number_of_neighbors
(オプション)

各フィーチャが計算に含める最小の近傍数。少なくとも 30 の近傍を使用することをお勧めします。

Long
maximum_number_of_neighbors
(オプション)

各フィーチャが計算に含める最大の近傍数 (最大 1000)。

Long
minimum_search_distance
(オプション)

最小近傍検索距離。各フィーチャに少なくとも 30 の近傍がある距離を使用することをお勧めします。

Linear Unit
maximum_search_distance
(オプション)

最大近傍検索距離。フィーチャの近傍が 1000 を超える距離の場合、ツールはターゲット フィーチャの計算に最初の 1000 を使用します。

Linear Unit
number_of_neighbors_increment
(オプション)

各近傍テストで手動間隔を増加させる近傍数。

Long
search_distance_increment
(オプション)

各近傍テストで手動間隔を増加させる距離。

Linear Unit
number_of_increments
(オプション)

minimum_number_of_neighbors または minimum_search_distance パラメーターから始まる、テストする近傍サイズの数。

Long
number_of_neighbors
(オプション)

各フィーチャについて考慮する近隣フィーチャの最も近い数 (最大 1000)。この数は 2 ~ 1000 の整数である必要があります。

Long
distance_band
(オプション)

近傍の空間範囲。

Linear Unit
prediction_locations
(オプション)

推定を計算する場合に、位置を表すフィーチャが格納されるフィーチャクラス。このデータセット内の各フィーチャには、指定されたすべての説明変数の値が含まれています。これらのフィーチャの従属変数は、入力フィーチャクラス データに対してキャリブレーションされたモデルを使用して推定されます。予測には、これらのフィーチャの位置が in_features と同じ分析範囲内か、近く (範囲プラス 15 パーセント内) にある必要があります。

推定を計算する場合に、位置を表すフィーチャが格納されるフィーチャクラス。このデータセット内の各フィーチャには、指定されたすべての説明変数の値が含まれています。これらのフィーチャの従属変数は、入力フィーチャクラス データに対してキャリブレーションされたモデルを使用して推定されます。予測には、これらのフィーチャの位置が [入力フィーチャ] と同じ分析範囲内か、近く (範囲プラス 15 パーセント内) にある必要があります。

Feature Layer
explanatory_variables_to_match
[explanatory_variables_to_match,...]
(オプション)

in_features パラメーターの対応する説明変数と照合する prediction_locations パラメーターの説明変数。たとえば、[["LandCover2000", "LandCover2010"], ["Income", "PerCapitaIncome"]] などです。

Value Table
output_predicted_features
(オプション)

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

Feature Class
robust_prediction
(オプション)

予測計算に使用されるフィーチャを指定します。

  • ROBUST平均より 3 標準偏差を超える値 (値の外れ値) とウェイトが 0 のフィーチャ (空間的な外れ値) は予測計算から除外されますが、出力フィーチャクラスで予測を受け取ります。これがデフォルトです。
  • NON_ROBUST予測計算にすべてのフィーチャが使用されます。
Boolean
local_weighting_scheme
(オプション)

モデルの空間的な加重を提供するために使用されるカーネル タイプを指定します。カーネルは、各フィーチャと近傍内にある他のフィーチャとの関連性を定義します。

  • BISQUARE指定された近傍の外部にあるフィーチャには、0 のウェイトが割り当てられます。これがデフォルトです。
  • GAUSSIANすべてのフィーチャがウェイトを受け取りますが、ウェイトはターゲット フィーチャから遠いほど、指数的に小さくなります。
String
coefficient_raster_workspace
(オプション)

係数ラスターが作成されることになるワークスペース。ワークスペースを設けると、インターセプトとすべての説明変数についてラスターが作成されます。

Workspace

派生した出力

名前説明データ タイプ
coefficient_raster_layers

出力係数ラスター。

ラスター レイヤー

コードのサンプル

GWR (地理空間加重回帰分析) の例 1 (Python ウィンドウ)

次の Python ウィンドウ スクリプトは、GWRツールの使用方法を示しています。

import arcpy
arcpy.env.workspace = r"c:\data\project_data.gdb”
arcpy.stats.GWR("US_Counties", "Diabetes_Percent", "CONTINUOUS", 
     "Inactivity_Percent;Obesity_Percent", "out_features", 
     "NUMBER_OF_NEIGHBORS", "GOLDEN_SEARCH", None, None, None, 
     None, None, None, None, None, None, None, None, None, "ROBUST", 
     "BISQUARE")
GWR (地理空間加重回帰分析) の例 2 (スタンドアロン スクリプト)

次のスタンドアロン Python スクリプトは、GWR ツールの使用方法を示しています。

# 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, and average household income.
 
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.GWR("crime_counts", "total crimes", "COUNT", "YRBLT;TOTPOP;AVGHINC", 
     "out_features", "NUMBER_OF_NEIGHBORS", "GOLDEN_SEARCH", 30, None, None, None, 
     None, None, None, None, None, "prediction_locations", 
     "YRBLT YRBLT;TOTPOP TOTPOP;AVGHINC AVGHINC", "predicted_counts", 
     "NON_ROBUST", "BISQUARE", r"c:\data\out_rasters")

環境

出力座標系

フィーチャ ジオメトリは、分析の完了後に出力データの座標系に投影されます。

ライセンス情報

  • Basic: 制限付き
  • Standard: 制限付き
  • Advanced: はい

関連トピック