地理的加重回帰 (GWR, S-GWR, M-GWR)

株式会社Engineeの@__Kat__です。

地理データに対して説明力の高い分析を行いたく、名前だけは知っていた地理的加重回帰について調べたのでまとめます。

今回扱うモデルは
- GWR
- Semi-parametric GWR (SGWR, Mixed GWR)
- MultiScale GWR (MGWR, Flexible Bandwidth GWR)

 ~~一般化加法モデルや、他の空間モデルにも触れています~~

地理的加重回帰
---
説明変数の予測に与える効果が空間的に異なる、空間異質性を持つデータに対する代表的な分析手法として地理的加重回帰(Geographically Weighted Regression)と呼ばれるものがあります。

通常の線形回帰では、空間的な影響度合いは考えず以下のようにモデリングします。
$$
y_i = \beta_0 + \boldsymbol{\beta}^T \boldsymbol{x}_i +\epsilon_i
$$

ここで、GWRでは以下のようにモデリングします。
$$
y_i = \beta_0 + \boldsymbol{\beta}_i^T \boldsymbol{x}_i +\epsilon_i
$$

このとき回帰係数$\beta_i$は地点$i$ごとに推定されるため、地点ごとの異質性をとらえることができます。$\beta_i$は$\beta(s_i), \beta(u_i,v_i)$のように表記されることもあります。

これは各地点ごとに他地点との距離による重み付き最小二乗法を解くことで求まり、以下の解析解が与えられます。

$$
\hat{\boldsymbol{\beta}_i} = (X^TW_iX)^{-1}X^TW_iy
$$

$W_i$は地点$i$での重み行列で、例えば
$$
w_{jk} = \exp\left(-\frac{d_{jk}^2}{2h^2}\right)
$$
などが用いられます。$d_{jk}$はユークリッド距離にとどまらず様々な関数を問題に応じて設定します。

実際にデータに適用する際は、$x_i$点から近傍$n$点が含まれる距離$D_n$を持ちいて
```math
w_{jk} = \left\{
\begin{array}{ll}
\exp\left(-\frac{d_{jk}^2}{2h^2}\right) & , d < D_n \\
0 & ,d > D_n
\end{array}
\right.
```
などとすることも多いようです。


$h$はバンド幅と呼ばれるモデル内のハイパーパラメータで、どれほど近い距離の点に重みを用いるかを制御します。
$h \rightarrow \infty$とすれば$w_{ij}$はすべての点において1に近づき、通常の線形回帰と変わらなくなるはずです。通常バンド幅はAICcや交差検証で決定します。

GWRの発展
---
GWRでは全ての変数を同一のバンド幅を用いて推定するため、変数によって地理的な性質が異なる場合、適切に係数が推定できなくなります。

今回は、GWRの発展形であるSGWR(Semi-parametric GWR), MGWR(MultiScale GWR)を扱います。

SGWR
---
GWRは全ての変数に地理的な変動を想定していましたが、SGWRでは空間的変動がある変数とない変数を分け、
以下の式で表現します。
$$
y_i = \beta_0 + \sum_l \beta_l x_{il} + \sum_k \beta_{ik} x_{ik} + \epsilon_i
$$
この解の推定はGAM(一般化加法モデル)で用いられるBack-Fittingアルゴリズムが使われ、次のように行われます。[Fotheringham, Brunsdon and Chartlon (2002)]

地理的な変動を考慮しない変数を$X_{q}$, する変数を$X_{p-q}$として、
1. $X_q$の各列を$X_{p-q}$でGWRにより回帰し、この残差を$X_q\text{-}residual$とする
1. $y$を$X_{p-q}$でGWRにより回帰し、この残差を$y\text{-}residual$とする
1. $y\text{-}residual$を$X_q\text{-}residual$で通常の回帰。この係数が$\hat{\beta}_q$を与える
1. $y- X_q \hat{\beta_q}$を$X_{p-q}$によりGWRで回帰する。この解が$\hat{\beta}_{p-q}$を与える


MGWR
---
SGWRでは地理的変動を考慮しない変数とする変数を同時にモデリングしていまたが、バンド幅は共通の値を用いていました。MGWRでは変数ごとにバンド幅を調整することが可能です。SGWRにおけるグローバルな変数をバンド幅が大きいものと解釈すれば、MGWRはSGWRを一般化しているといえるかもしれません。

MGWRでも、SGWRと同様に推定にはバックフィッティングアルゴリズムを利用します。[Fotheringham, Yang and Kang (2017)]

1. 2を収束条件を満たすまで繰り返す
1. 全ての変数j=1,2,...,mについて以下の最適化を行う
    1. $ \boldsymbol{y}- \sum_{i \neq j}\boldsymbol{f}_i$を$\boldsymbol{x}_j$によりGWRで回帰 ($f_i$は$i$番目の変数によるGWR)
    1. バンド幅をAICcやCVなどで決定





最後に
---
今回は扱いませんでいしたが、余裕があればNearestNeighbor-GPやBayesian Predictive Synthesisもみてみたいです。


参考
---
- [Multiscale Geographically Weighted Regression](https://www.tandfonline.com/doi/full/10.1080/24694452.2017.1352480)
- [A Route Map for Successful Applications of Geographically Weighted Regression](https://onlinelibrary.wiley.com/doi/full/10.1111/gean.12316)
- [Geographically weighted regression with parameter-specific distance metrics](https://www.tandfonline.com/doi/full/10.1080/13658816.2016.1263731)
- [セミパラメトリックGWRモデリングによる空間分析](https://www.ritsumei.ac.jp/acd/cg/lt/rb/650/650PDF/nakaya.pdf)
- [mgwr python package](https://github.com/pysal/mgwr)

メモ
https://www.stat.berkeley.edu/~binyu/summer08/Hurvich.AICc.pdf
https://www.slideshare.net/slideshow/ss-156943980/156943980