Skip To Content

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

注意:

現在、この機能は Map Viewer Classic (旧名称 Map Viewer) でのみサポートされています。 新しい Map Viewer の今後のリリースで提供される予定です。

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

ワークフロー図

地理空間加重回帰分析のワークフロー図

解析での使用 GeoAnalytics Tools

GeoAnalytics Tools を使用した解析は、複数の ArcGIS GeoAnalytics Server コンピューターやコアにまたがる分散型処理を使用して実施されます。GeoAnalytics ToolsArcGIS Enterprise の標準的なフィーチャ解析ツールは、異なるパラメーターと機能を持ちます。これらの相違点については、「フィーチャ解析ツールの相違点」をご参照ください。

次に、このツールの使用例を示します。

  • 学歴と所得の間のリレーションシップは、分析範囲全体にわたって一貫性があるか。
  • 森林火災の高い頻度を説明する主要な変数はどれか。
  • 生徒が試験で高成績をあげている地域はどこか。 どのような特性が関連付けられているか。 各特性が最も重要なのはどこか。

使用上の注意

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

[地理空間加重回帰分析 (GWR)] ツールは、出力フィーチャおよび診断も生成します。 出力フィーチャ レイヤーは自動的にマップに追加され、残差のモデルに、レンダリング スキーマが適用されます。 以下では、各出力について詳細に説明します。

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

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

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

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

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

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

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

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

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

予測または説明のフィールドに NULL 値または空の文字列値が 1 つ以上存在するフィーチャは、出力から除外されます。 必要に応じて、[フィールド演算 (Calculate Field)] を使用して値を変更できます。

回帰残差が予測より明らかに上下にずれているものがないか視覚的に調べて、それが回帰モデルに欠けている変数の手がかりにならないか確認します。

切片、予測係数、予測値、残差、および条件数が Null の場合、モデルの適合性が低くなることがあります。 これは、モデルの 1 つ以上のフィーチャに見られ、以下の理由により発生することがあります。

  • 十分な数の近傍がありません。 近傍数が 2 個未満のフィーチャには、モデルの適合性が認められません。
  • モデルに多重共線性が認められます。

上の例では、出力診断結果を調査することでモデルを評価し、異なるパラメーターと係数を使用してモデルの最適合を図る必要があると考えられます。

出力

地理空間加重回帰分析 (Geographically Weighted Regression) ツールでは、各種出力を生成できます。 GWR モデルのサマリーおよび統計サマリーは、ポータル アイテム ページで、およびレイヤー上のリソースとして利用できます。 結果のサマリーにアクセスするには、Map Viewer Classic で、生成されたレイヤーの下の [結果を表示] 結果を表示 をクリックします。 このツールは、1 個の出力レイヤーを生成します。 出力フィーチャは、残差をモデル化するためにホットおよびコールド レンダリング方式が適用されて、Map Viewer Classic に自動的に追加されます。 生成される診断は、入力フィーチャのモデル タイプによって異なります。これについて、以下で説明します。

連続 (ガウス分布)

メッセージと診断の解釈

  • [AICc] - [AICc] は、サンプル サイズが小さい場合に、バイアス補正を [AIC] に適用します。 入力のフィーチャ数が増えるにつれて、[AICc] は [AIC] に近づきます。
  • [R2] - 相関係数の二乗は、近似性を計測するための基準です。 値は 0.0 ~ 1.0 で、値が高い方が推奨されます。 これは、回帰モデルによって説明される従属変数の分散の比率として解釈できます。 相関係数の二乗の計算に使用される分母は、二乗された従属変数の値の合計です。 モデルに説明変数を追加した場合、分母は変化しませんが、分子は変化するため、モデルの適合度が向上した印象を与えます (実際には向上していない可能性もあります)。 次の「補正 R2」の説明をご参照ください。

制限事項

GeoAnalytics での地理空間加重回帰分析の実装には、次の制限があります。

  • 別のレイヤーに対する予測も、ラスター係数レイヤーの作成もできない。
  • バイナリ (論理) 変数もカウント (ポワソン値) 変数もモデル化できない。
  • ゴールデン検索または手動間隔を使用して近傍検索を定義できない。

ArcGIS API for Python の例

[地理空間加重回帰分析] ツールは ArcGIS API for Python で使用できます。

この例では、国全体での店舗からの売り上げの関係を調べています。


# Import the required ArcGIS API for Python modules
import arcgis
from arcgis.gis import GIS

# Connect to your ArcGIS Enterprise portal and confirm that GeoAnalytics is supported
portal = GIS("https://myportal.domain.com/portal", "gis_publisher", "my_password", verify_cert=False)
if not portal.geoanalytics.is_supported():
    print("Quitting, GeoAnalytics is not supported")
    exit(1)   

# Search for and list the big data file shares in your portal
search_result = portal.content.search("", "Big Data File Share")

# Look through the search results for the big data file share of interest
bdfs_search = next(x for x in search_result if x.title == "bigDataFileShares_SalesData")

# Look through the big data file share for 2018 sales
sales_2018 = next(x for x in bdfs_search.layers if x.properties.name == "2018_Sales")

# Run the GWR tool
gwr_result = arcgis.geoanalytics.analyze_patterns.gwr(input_layer = sales_2018, 
    																																																		explanatory_variables = "population, customers",
    																																																		dependent_variable = "total_sales"
    																																																		model_type = "Continuous",
    																																																		neighborhood_type = "NumberOfNeighbors",
    																																																		neighborhood_selection_method = "UserDefined",
    																																																		number_of_neighbors = "100",
    																																																		local_weighting_scheme = "BiSquare",
    																																																		output_trained_name = "GWR_results")

# Visualize the results if you are running Python in a Jupyter Notebook
processed_map = portal.map()
processed_map.add_layer(gwr_result)
processed_map

類似のツール

空間的に変化する関係をモデル化する場合は、ArcGIS GeoAnalytics Server の地理空間加重回帰分析ツールを使用します。 その他のツールは、類似した少し異なる問題を解決するのに効果的です。

Map Viewer Classic の解析ツール

ArcGIS GeoAnalytics Server[一般化線形回帰分析] ツールを使用して、一般化された線形モデルおよび予測を作成します。

ArcGIS GeoAnalytics Server[フォレストベースの分類と回帰分析 (Forest-based Classification And Regression)] ツールを使用して、モデルおよび予測を作成します。

ArcGIS Desktop の解析ツール

ArcGIS Pro からこのツールを実行するには、アクティブなポータルが Enterprise 10.8 以降である必要があります。GeoAnalytics フィーチャ解析を実行できる権限を持つアカウントでサイン インする必要があります。

ArcGIS Pro で、空間統計ツールボックスに含まれている [地理空間加重回帰分析 (Geographically Weighted Regression)] ジオプロセシング ツールを使用して、類似する回帰分析操作を実行します。

ArcGIS Pro で、空間統計ツールボックスに含まれている [フォレストベースの分類と回帰分析 (Forest-based Classification and Regression)] ジオプロセシング ツールを使用して、Leo Breiman のランダム フォレスト アルゴリズムを転用してモデルおよび予測を作成します。