はじめに
『Pythonで学ぶ空間データサイエンス入門』の独学時のまとめノートです。「導出編」「実装編」「可視化編」の三部構成でモデルやアルゴリズムの理解を目指します。
本の内容から寄り道・回り道しながら進めます。本を読んだ上で補助的に読んでください。
この記事では、境界の共有による空間重み行列について、数式を使って解説します。
【前の内容】
【他の内容】
【今回の内容】
2.2 空間重み行列の定義式:境界の共有
空間重み行列(spatial weight matrix)の定義(仮定)を数式で確認します。この記事では、境界を共有している(実際に隣接している・contiguity)かにより隣接関係(adjacency relationship)を設定します。
空間隣接行列については「2.1:空間隣接行列の定義式【空間データサイエンス入門のノート】 - からっぽのしょこ」を参照してください。
定義式
まずは、空間重み行列の定義を数式で確認します。
区域数を 、区域番号(インデックス)を
とします。
番目の区域や区域
と呼びます。場合によっては、
などでも区域を表します。
区域 と区域
の隣接関係を
とします。2値変数
により隣接関係を表します。
区域 に関する
個の区域との隣接関係をまとめて、区域
に関する隣接関係
とします。
区域 の隣接数(隣接する区域の数・
の総和)を
で表します。
個の区域に関する隣接関係をまとめて、空間隣接行列を
とします。
区域 に関する隣接関係
は
の
行目に対応します。
区域 に関して、他の区域
に対する重みを
とします。
区域 に関する
個の区域に対する重みをまとめて、区域
に関する重み
とします。
の各要素は、0から1の値であり、総和が1になる条件を満たす必要があります。
対象の区域 に関して、2つの区域
に隣接関係がない場合は
、隣接関係がある場合は
になり、区域
に関する重みは2値をとります。
重みの値については「計算式」で確認します。
個の区域に関する重みをまとめて、空間重み行列を
とします。
区域 に関する重み
は
の
行目に対応します。
2つの区域 に隣接関係がない場合、重みは
です。
スポンサードリンク
計算式
次は、空間重み行列に関する計算を数式で確認します。
各区域 に関する重み
の各要素
は、
に対応する隣接関係
を対象の区域
に関する隣接関係
の総和で割った値で定義されます。
の各要素
を
の行和
で割ることで、
の各要素
は、0から1の値
で行和が1になる値
に正規化(規準化)されます。
の列和
は、基本的に1になりません(たまたま1になることはあります)。
は0か1の値をとり、
は区域
の隣接数
なので、
は0か隣接数の逆数
の値になります。
以上で、空間重み行列の定義や性質を数式で表現しました。
この記事では、境界の共有による空間重み行列を数式で確認しました。次の記事では、プログラムと図で確認します。
参考文献
おわりに
- 2026.07.07:加筆修正の際に「空間重み行列の可視化」から記事を分割しました。
1つの記事としては内容が薄くなってしまいますが、粒度感の調整のために分割しました。
投稿日に公開された私立恵比寿中学の新MVをどうぞ♪
ここにきて、元祖エビ中って雰囲気の楽曲を出してきたな!
【次の内容】
境界の共有による空間重み行列をプログラムと図で確認します。
https://www.anarchive-beta.com/entry/2026/07/10/210000www.anarchive-beta.com
カーネル法による空間重み行列を数式で確認します。
https://www.anarchive-beta.com/entry/2026/07/13/180000www.anarchive-beta.com
