« Rの空間統計パッケージ | メイン | 読了:矢島・平野(2012) 大規模空間データの統計モデリング »
2017年9月13日 (水)
Graler, B., Pedesma, E., Heuvelink, G. (2016) Spatio-Temporal Interpolation using gstat. The R Journal, 8(1). 204-218.
えーと、Rにはクリギング(空間データ補間手法の一種)のためのパッケージがいっぱいあって、なにがなにやらわからないので、ひとまず古株らしきgstatパッケージの紹介を読んでみた次第(vignetteの一つに挙げられている)。R Journalとはいえ、すごく小さな字で14頁...
えーと、gstatは時空間統計のための機能を提供しているのが売り。同様のパッケージにRandomFieldsがある。ほかにもあるので、CRAN Task Viewの該当項目をみるように。
以下では、空間領域を$S$, 時間領域を$T$とする。ガウシアン時空間確率場$Z$について考える。観察を
$z = (z(s_1, t_1), ..., z(s_n, t_n))$
とする(同一の地点での反復測定や異なる地点での同時測定もありうるとする)。$z$に基づき$Z$のモデルをつくりたい、というのがお題。
$Z$は定常で、空間的に等方性があると仮定する。つまり、この確率場は平均$\mu$と共分散関数$C_{st}$で特徴づけられ、共分散は空間距離$h$と時間距離$u$のみに依存すると考える($h$と$u$は正の実数)。なおこの仮定を取っ払って拡張するのは容易で、たとえば普遍クリギングは時間なしのケースでの非定常性への拡張である。
以下では次のように書く。
$Cov_{st}(h,u)=Cov(Z(s,t), Z(\tilde{s}, \tilde{t}))$
ただし$h=||s - \tilde{s}||, u = |t - \tilde{t}|$とする。
時空間バリオグラムを
$\gamma_{st} = C_{st}(0,0) - C_{st}(h,u)$
と書く。
共分散関数が推定できたとしても、共分散行列から線形予測子を求めるためには逆行列計算が必要なのだが、大変なので、いろいろ工夫がある(時間的マルコフ構造を使うとか)。spTimerパッケージ、spBayesパッケージ, spateパッケージ, INLAパッケージなどがある。
...というわけで、ここからが本題なんだけど、ざっと読み進めたら、空間領域のバリオグラムモデルと時間領域のバリオグラムモデルがあるとして(異なるファミリーでも構わない)、時空間バリオグラムモデル$\gamma_{st}$をどう定義するか(つまり共分散関数$C_{st}$を定義するか)、という説明であった。パッケージ自体の紹介じゃなかった。読むものを間違えたみたい。
めんどくさくなったので途中から流し読み、メモは省略。でも、私にも理解できる範囲に関していえば面白い内容であった。当面は時空間モデルを作る用事がないけれど、いつか役に立つこともありそうだ。
時空間モデルともなると、バリオグラムは曲面となる(時間距離と空間距離がX, Yとなる)。ひえええ。それでも著者らいわく、やっぱしバリオグラムモデルのフィッティングは、MSEとかだけじゃなくて、ちゃんと視覚化してチェックしないといけないそうだ。大変だなあ。
論文:データ解析(2015-) - 読了:Graler, Pedesma, Heuvelink (2016) Rのgstatパッケージで時空間クリギング