格子(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を作るには
ご意見、ご感想はNTTデータ数理システムS-PLUSグループ <splus-info@ml.msi.co.jp>