はじめに
クリギング①では、理論バリオグラムと共分散関数の設定までを行いました。
そして、クリギング②では求めた共分散関数を用いて、単純クリギングでの推定を行いました。
単純クリギングでは、全体の期待値がわかる時しか使えませんでした。今回は、期待値は未知でわからないけど、全体の期待値が一定とわかる場合に使うことができる通常クリギングについて書いていきたいと思います。
使用するデータ
使用するデータは前回同様、ChatGPTに作成させた標高データを用います。
そしてこのデータから500点をサンプリングしたものを入力データとします。
クリギング①では、このサンプリングデータから理論バリオグラムと共分散関数を求めました。
\gamma(h)=11.6+325.2\left[1-\exp\left\{-\left(\frac{h}{12.6}\right)^2\right\}\right]
C(h)=325.2\bigg[\exp\bigg\{-\bigg(\frac{h}{12.6}\bigg)^2\bigg\}\bigg]
今回は理論バリオグラムを用いて通常クリギングをしていきたいと思います。
通常クリギング
通常クリギングは、全体の期待値が未知かつ、全体の期待値が空間座標によらず一定の時に用いることができる手法です。推定箇所の目的変数を求める式は以下の線形和になります。
z_0=\sum^{n}_{i=1}\omega_kz_k
ここで、$z_0$は求めたい箇所の目的関数、$z_1,z_2,\dots,z_n$はサンプルデータの目的変数、$\omega$はパラメータです。この時のパラメータは以下の式で決定します。
\left[\begin{array}{ccccc}\omega_1\\
\omega_2\\
\vdots\\
\omega_n\\
\mu
\end{array}
\right]=\left[\begin{array}{ccccc}
\gamma(0)&\gamma(h_{1,2})&\ldots&\gamma(h_{1,n})&1\\
\gamma(h_{2,1})&\gamma(0)&\ldots&\gamma(h_{2,n})&1\\
\vdots&\vdots&\ddots&\vdots&\vdots\\
\gamma(h_{n,1})&\gamma(h_{n,2})&\ldots&\gamma(0)&1\\
1&1&\dots&1&0
\end{array}
\right]^{-1}
\left[\begin{array}{ccccc}\gamma(h_{0,1})\\
\gamma(h_{0,2})\\
\vdots\\
\gamma(h_{0,n})\\
1
\end{array}
\right]
$h_{i,j}$は、目的変数$z_i$、$z_j$のユークリッド距離です。また、パラメータベクトルの要素に、推定値を求める際に関係のない$\mu$が出てきますが、こちらは推定誤差分散を求める際に使用するパラメータです。そして、推定誤差分散は以下の式で求めることができます。
{\sigma_0}^2=\sum_{k=1}^n\omega_k\gamma(h_{0,k})+\mu
今回、入力行列の欠損箇所を逐次$z_0$として通常クリギングを行いました。
まず、標高の推定結果です。
そして、95%信頼区間で起こりうる誤差分布です。
この結果から、単純クリギング同様、角に高い分散が集中していることがわかります。そして、単純クリギングと違い、期待値を事前に入力していないので、データが密集する区間でもそれなりの誤差が起こりうる、ということがわかります。
次に、正解値と普通クリギング結果の残差分布を確認してみます。
分散傾向はあっていそうですが、やっぱり小さい分散を出力しています。
さいごに
今回は通常クリギングのやり方と推定結果の考察まで書きました。次回は普遍クリギングについて書いていきたいと思います。
参考文献
コロナ社:飯田義隆「クリギング入門」