からっぽのしょこ

はてなブログの仕様変更の影響で、数式の表示が崩壊しています。読んだら書く!書いたら読む!同じ事は二度調べ(たく)ない

2.1:空間隣接行列の定義式:境界の共有【空間DS入門のノート】

はじめに

 『Pythonで学ぶ空間データサイエンス入門』の独学時のまとめノートです。「定義編・導出編」「実装編・作図編」「可視化編」の三部構成でモデルやアルゴリズムの理解を目指します。
 本の内容から寄り道・回り道しながら進めます。本を読んだ上で補助的に読んでください。

 この記事では、境界の共有による空間隣接行列の定義について、数式を使って解説します。

【他の内容】

www.anarchive-beta.com

【今回の内容】

2.1 空間隣接行列の定義式:境界の共有

 空間隣接行列(spatial adjacency matrix)の定義(仮定)を数式で確認します。この記事では、境界を共有している(実際に隣接している・contiguity)かにより隣接関係(adjacency relationship)を設定します。

モデルの設定

 空間隣接行列の定義(仮定)を数式で確認します。

定義式

 空間隣接行列やその要素などの表記を確認します。

 区域数を  N、区域番号(インデックス)を  n \in \{1, 2, \dots, N\} とします。 n 番目の区域や区域  n と呼びます。場合によっては、 i, j などでも区域を表します。

 区域  i と区域  j の隣接関係を  w_{ij} とします。
 2つの区域  i, j が隣接していない(隣接関係がない)場合は  w_{ij} = 0、隣接している(隣接関係がある)場合は  w_{ij} = 1 として、隣接関係を2値で表します。

 \displaystyle
w_{ij} \in \{0, 1\}

 区域  n 自体(同じ区域の組み合わせの場合)は隣接関係がない  w_{nn} = 0 とします。
 区域  i に関する  N 個の区域との隣接関係をまとめて、区域  i に関する隣接関係  \mathbf{w}_i とします。

 \displaystyle
\mathbf{w}_i
    = \begin{pmatrix}
          w_{i1} & w_{i2} & \cdots & w_{iN}
      \end{pmatrix}

  N 個の区域に関する隣接関係をまとめて、空間隣接行列  \mathbf{W} とします。

 \displaystyle
\mathbf{W}
    = \begin{pmatrix}
          \mathbf{w}_1 \\
          \mathbf{w}_2 \\
          \vdots \\
          \mathbf{w}_N
      \end{pmatrix}
    = \begin{pmatrix}
          w_{11} & w_{12} & \cdots & w_{1N} \\
          w_{21} & w_{22} & \cdots & w_{2N} \\
          \vdots & \vdots & \ddots & \vdots \\
          w_{N1} & w_{N2} & \cdots & w_{NN}
      \end{pmatrix}

 2つの区域が入れ替わっても隣接関係は変わらない  w_{ij} = w_{ji} ので、 \mathbf{W} は対称行列  \mathbf{W} = \mathbf{W}^{\top} です。ただし、k近傍法により隣接関係を決める場合は、対称行列にならないこともあります。
 対角要素は、同じ区域の組み合わせの隣接関係なので、 w_{nn} = 0 です。

スポンサードリンク

計算式

 続いて、空間隣接行列に関する計算を数式で確認します。

  \mathbf{W} の各行の和

 \displaystyle
\begin{aligned}
\sum_{j=1}^N
    w_{ij}
   &= w_{i1} + w_{i2} + \cdots + w_{iN}
\\
   &= N_i
\end{aligned}

や、各列の和

 \displaystyle
\begin{aligned}
\sum_{i=1}^N
    w_{ij}
   &= w_{1j} + w_{2j} + \cdots + w_{Nj}
\\
   &= N_j
\end{aligned}

は、各区域の隣接数(隣接する区域の数)を表します。
  n 番目の行和  \sum_{j=1}^N w_{nj} n 番目の列和  \sum_{i=1}^N w_{in} は一致します。

 \displaystyle
N_n
    = \sum_{j=1}^N w_{nj}
    = \sum_{i=1}^N w_{in}

 区域  n の隣接数を  N_n で表しています。

 以上で、空間隣接行列の定義や性質を数式で表現しました。

 この記事では、境界の共有による空間隣接行列を数式で確認しました。次の記事では、プログラムと図で確認します。

参考文献

おわりに

  • 2026.07.07:加筆修正の際に「空間隣接行列の可視化」から記事を分割しました。

 1つの記事としては内容が薄くなってしまいますが、粒度感の調整のために分割しました。

 2026年7月7日は、つばきファクトリーのリトキャメの4人の加入5周年の日です!!!!

 後輩メンバーが加入して久しくなり、グループ内での立ち位置も変わり新たな魅力にときめく日々です。

 さらに、Juice=Juiceの3flowerの3人の加入5周年の日でもあります!!!

 近頃は大活躍も相まって、更なる飛躍が楽しみな日々です。

【次の内容】

 境界の共有による空間隣接行列をプログラムと図で確認します。

www.anarchive-beta.com

 境界の共有による空間重み行列を数式で確認します。

www.anarchive-beta.com