4.1 空間近傍


格子データの解析

格子(Lattice)データは、可算個の空間領域上の確率過程から得られた観測値。近傍情報が付加されている。

定常性と多次元正規性を仮定。つまりトレンドがあってはならず、分散安定化 and/or 漸近正規性のための変換が必要な場合もある。

空間近傍

時系列データ 観測値系列の自分より前の時点(1つor複数)との相関(自己相関)をもとにモデリング
空間データ 近傍領域との相関をもとにモデリング

よって、近傍構造を構築することからスタートし、共分散構造を決定し、もっと一般的な線形回帰モデルの成分として利用する。

近傍の定義はさまざまであり、対称的である必要はない(領域Aが領域Bの近傍であっても、領域Bは領域Aの近傍である必要はない)。

S+SSのオブジェクト・クラス"spatial.neighbor"は、格子データに必要な、近傍情報を持ったクラス。row.id、col.id、weights、matrixの4フィールドを持つ。また、属性 nregion(領域の数)、symmetry(近傍関係が対称的であるかどうか)を持つ。

後述する近傍行列Nは、このオブジェクトを行列表現したものである。つまり、row.idがi、col.idがjでweightがwと与えられれば、Nの第(i,j)成分にはwが入る。しかし、近傍関係にないところには0が入るため、Nは一般に疎な行列となり、行列表現は冗長になる(領域が100あれば、Nは100×100行列!)。よってこのような表現形態を取る。

(例)

row.id col.id weights matrix
1 17 0.04351358 1
1 19 0.04862620 1
? ? ? ?

この例の第1行では、領域17は領域1の近傍であることを示している。matrixは近傍関係や重みを2種類以上定義するときに意味を持つ。

weightsは近傍どうしの関係の強さを定義するもので、共分散構造を決定し、後々のモデリングまで大きく影響するので、慎重に与えなければならない(S+SSでは負の重みを与えることはできない)。

関数 read.neighbor は、近傍情報を定義したテキストファイルを読み込み、spatial.neibor オブジェクトにする。通し番号、郡の役所の位置など、近傍情報以外の情報(列数が定まっているデータ)は、近傍情報より左の列に置く。

関数neighbor.grid は、規則的な grid 上のデータから、 spatial.neighbor オブジェクトを作成する。近傍の定義も選択あるいは独自に作成できる。不規則なデータ(例えば sids )から spatial.neighborを作るには

  1. 位置情報 easting、northing から quad tree (最近接距離を探索するのに便利なように並び替えられたもの)を作る。
  2. 1から、find.neighbor によって spatial.neighbor オブジェクトを作る。

次へ 戻る

ご意見、ご感想はNTTデータ数理システムS-PLUSグループ <splus-info@ml.msi.co.jp>