Gis and r 008
※Wiki記法の書き方については http://ja.wikipedia.org/wiki/Help:%E6%97%A9%E8%A6%8B%E8%A1%A8 を参照。
第8回GIS+R勉強会
参加者
- 清野(リアル)
- 瀬戸(リアル)
- 小野原(リアル)
- 東郷(リアル)
報告
小野原
SDA4PP該当ページ:
Chi-Squared Dispersion Test for Spatial Point Pattern Based on Quadrat Counts(区画法に基づく空間ポイントパターンのためのカイ二乗検定)
点データの上に任意の大きさのグリッドを作成し、各セルごとにカイ二乗検定を行い事象の集中度合いを数値化する。
東大CSISの浅見泰司先生のページが参考になる http://ua.t.u-tokyo.ac.jp/okabelab/yasami/SIA-j.html
- Description (説明)
区画法に基づく点分布が与えられた時のランダム性をカイ二乗検定にて検定する。 あるいは、不均質なあてはめてポワソンモデルのカイ二乗検定を行う。
- Usage (使用法)
quadrat.test(X, ...) ## S3 method for class 'ppp': quadrat.test(X, nx=5, ny=nx, ..., xbreaks=NULL, ybreaks=NULL, tess=NULL) ## S3 method for class 'ppm': quadrat.test(X, nx=5, ny=nx, ..., xbreaks=NULL, ybreaks=NULL, tess=NULL)
- Arguments(引数)
X 適合度検定に従っている点分布(クラス"ppp"のオブジェクト)。あるいは、検定が行われたあてはめ点過程モデル(クラス"ppm"のオブジェクト)。
nx,ny x,y軸方向への区画の値。xbreaksやybreaksとは共用不可。
... Ignored.
xbreaks 任意値。数値で与えられる区画の境界のx座標。nxとは共用不可。
ybreaks 任意値。数値で与えられる区画の境界のy座標。nyとは共用不可。
tess モザイク状の配列(クラス"tess"のオブジェクト)。区画を決定する。nx, ny, xbreaks, ybreaksとは共用不可。
- Details(詳細)
これらの関数は、区画法に基づいた点過程モデルの適合度検定をカイ二乗分布を用いて行う。
区画法の関数は、点分布(クラス"ppp")や点過程モデル(クラス"ppm")の方法にて一般的である。 ・もし、Xが点分布であれば、データ分布がランダム性の検定(不変のポアソン点過程)である帰無仮説の検定を行う。
・もしXがあてはめ点過程モデルであれば、ポアソン点過程モデルを行うのが良い。このモデルのデータはモデルオブジェクトから引き出され、あてはめられたり、検定のデータ点分布として扱われ、あてはめられる。Xによって指定された(不均質な)ポアソン点過程をしめすデータ分布は帰無仮説の検定を行う。
両方の場合において、観察窓はタイルに分けられ、各々のタイルのデータ位置の数は数えられ、quadratcountとして説明される。区画はデフォルトでは長方形、もしくは、独立変数tessによって指定される任意の形の範囲である。各々の区画法で引き出された点の数も計算され、ランダム性の検定(最初のケース)によってもしくは、あてはめモデル(2つ目のケース)によって決定される。そして、区画の適合度をカイ二乗検定にて行う。
返し値はクラス"htest"のオブジェクトである。検定の結果を理解するために表示する。
返し値は特別なクラス"quadrat.test"にも属する。オブジェクトを表示させることは区画を表示し、数とピアソンの残差を観測値と予測値を注釈としてつける。例も参照。
- Value(値)
クラス"htest"のオブジェクトである。chisq.testも参照。 返し値も特別なクラスである"quadrat.test"のオブジェクトであり、このクラスをプロットする方法がある。例も参照。
東郷
SDA4PP該当ページ:
Intensity Estimate of Point Pattern Using Tessellation(平面充填を用いたポイントパターンの強度推定)
- Description (説明)
ポイントパターンの強度関数の適応推定値を計算する。
- Usage (使用法)
adaptive.density(X, f = 0.1, ..., nrep = 1)
- Arguments(引数)
X ポイントパターンデータセット("ppp"クラスのオブジェクト)
f 元データから除去され、かつ強度推定のための平面充填の測定に使用されるであろうデータポイントの少数値(0~1の間)
... 結果の解像度を測定するas.imに渡される引数
nrep 無作為に抽出されたプロシージャーの独立反復数
- Details(詳細)
density.ppp の代用となる関数。ポイントパターンデータセットの強度関数の推定値を算定する。
データセットXはA・B2つのパターンに無作為に分割される。Aは元データの少数値f、Bは1-fで割り切れる。サブパターンAはディリクレ分割(dirichletを参照)の構成に使用。サブパターンBはポイント集計のために保持。ディリクレ分割のすべてのタイルについて、そこに該当するBのポイント数を集計したのち同じタイルの面積で割り、そのタイル内におけるパターンBの強度推定値を得る。この推定値は、タイル内のXの強度推定値を得るために1-fで除される。結果は強度推定値のピクセルイメージ=平面充填タイルの連続面として出力される。
nrepの値を1より大きくすると、無作為抽出のプロシージャーがその回数だけ繰り返され、結果がより平均に近づく。
- Value(値)
データセットXの強度推定値を持つピクセルイメージ("im"クラスのオブジェクト)。
Kriging (Ordinary, Simple, Universal, Block)(クリギング(標準、簡易、ユニバーサル、ブロック))
- Description (説明)
与えられたデータセット上で自動クリギングを実行。autofitVariogramを用いて自動的にヴァリオグラムが描かれる。
- Usage (使用法)
autoKrige(formula, input_data, new_data, data_variogram = input_data, block = 0, model = c("Sph", "Exp", "Gau", "Ste"), kappa = c(0.05, seq(0.2, 2, 0.1), 5, 10), fix.values = c(NA,NA,NA), remove_duplicates = TRUE, verbose = FALSE, GLS.model = NA, start_vals = c(NA,NA,NA), ...)
- Arguments(引数)
formula 独立変数の線形モデルとして従属変数を決める公式。独立変数の名称が'z'の場合、標準・簡易クリギングでは公式'z~1'を用いる(簡易クリギングでは'beta'も定義)。'z'が'x'と'y'に相関する場合、ユニバーサルクリギングでは公式'z~x+y'を用いる。
input_data 内挿されるデータを含むSpatialPointsDataFrameクラスのオブジェクト。
new_data 位置予測を含むspオブジェクト。new_dataはポイント/グリッド/ポリゴンセットが使用可能。n/aを含むものは付加。このオブジェクトが用意されていない場合はデフォルト値が計算される。この計算は、input_dataの凸包を求めその中に約5,000個のセルを配置することで求められる。
data_variogram オプション。空間内挿のためのヴァリオグラム作成に使用する別のデータセットを用意。
block ブロックサイズの指定に用いるパラメータ。 例)c(1000,1000)
model 自動ヴァリオグラム適合中に検証されるモデルの一覧。
kappa 自動ヴァリオグラム適合中に検証されるMaternモデルパラメータ平滑化のための値の一覧。
fix.values ヴァリオグラムのパラメータを特定の値に固定するのに使用。3つの長さをもつリストから成る。これによりnugget(エラー)、range(ヴァリオグラムがsillに達する距離)、sill(分散)の固定値が特定される。n/aに対し値を設定するとその値は固定されていないことになる。その場合autofitVariogramに回される。
remove_duplicates 論理。input_dataから重複するポイントを取り除く。データセットが膨大な時に使用可。
verbose 論理。真ならばautoKrigeが適合プロセス上に追加の情報を出す。
GLS.model ヴァリオグラムモデルがこのパラメータによって判断される場合、一般化最小二乗法のサンプルが計算される。
start_vals ヴァリオグラム適合のための初期値をだすのに使用可。nugget、range、sillの固定値を順番通りにそれぞれ特定。n/aに対し値を設定するとその値は自動的に選択される。
... gstatのkrige関数に渡される引数。
- Details(詳細)
autoKrigeでautofitVariogram関数(ヴァリオグラムモデルを与えられたデータセットに適合させる)を呼び出す。このモデルとデータはnew_dataにおける位置予測に使用される。必須の引数はinput_dataのみ。 最も単純な方法は
autoKrige(meuse)
この場合標準クリギングがinput_dataの第1カラムに実行される。
autoKrige()によりinput_dataとnew_dataの座標系がチェックされる。どちらか一方がn/aの場合、もう一方の投影法に指定される。投影法が互いに異なる場合や一方が投影座標系でない場合(緯度経度座標系など)はエラーが生じる。このエラーはデータが地理座標にあるときgstatが球面状の距離を使用しているために起こるが、ヴァリオグラムモデルはふつう球体上で非負定値行列ではなく、適応モデルも使用不可能(Edzer Pebesma on r-sig-geo)。 ※指数モデル(Pow)を使用する際の注意:最初のrangeは1に設定。
- Value(値)
以下の結果を含むautoKrigeオブジェクトを返す: 内挿(予測、分散、標準偏差)(krige_output) サンプルヴァリオグラム(exp_var) byautofitVariogramに適合したヴァリオグラムモデル(var_model) サンプルヴァリオグラムと適合したヴァリオグラムモデルの平方和(sserr)
議論・今後の課題
- spatstat関係のマニュアルが未翻訳 (http://www.spatstat.org/ 参照) → オンラインマニュアルを翻訳 or 和訳を探す
- 分析対象(≒各自の研究分野)に適した分析方法(ここでは空間補間手法など)を見極める必要あり。
例えばクリギングの場合、限られた点データから目に見えない地下水位や地盤沈下量の状況を連続面として推定するのが目的であるから、内挿するz値は垂直方向のデータである必要がある。 - カイ二乗検定における期待値=全体の件数/セル総数
- Rのコマンドラインから使用すれば、グリッド範囲を任意の値に設定できるが、SDA4PPのGUI経由だと、処理しようとするデータが散布する範囲を最大値として勝手に設定されてしまう。
- 区画法ではポイントパターンのランダム性を検定するためにカイ二乗検定を行うが、求められた結果をどう分析するか?
参考文献
- 奥貫圭一「GISを活用した空間分析(総説)」地学雑誌,VOL.117 No.2,2008,pp.324-340 PDF
今後の方針
次回の予定
日時:1月31日(月)19:00~
場所:京都のどこか