1

csv ファイルには、3 月 1 日午後 12 時の大気中の PM10 濃度データが含まれています。ダウンロードしてください。Rでgstatパッケージを使用してセミバリオグラムを描画したい.Rでこれらのコードを記述しようとしましたが、これらのデータではモデルに適合しません。

    library(sp)
    library(gstat)

    seoul3112<-read.csv("seoul3112.csv")
    seoul3112<-na.omit(seoul3112)

    g<-gstat(id="PM10",formula=PM10~LON+LAT,location=~LON+LAT,
             data=seoul3112)
    seoul3112.var<-variogram(g,width=0.04,cutoff=0.6)
    seoul3112.var
    plot(seoul3112.var, col="black", pch=16,cex=1.3,
         xlab="Distance",ylab="Semivariance",
         main="Omnidirectional Variogram for seoul 3112")

model.3112<- fit.variogram(seoul3112.var,vgm(700,"Gau",0.5,200), fit.method = 2)
    plot(seoul3112.var,model=model.3112, col="black", pch=16,cex=1.3,
         xlab="Distance",ylab="Semivariance",
         main="Omnidirectional Variogram for seoul 3112")

実は私はRと統計の初心者です。だから、私はバリオグラムについてさえ無知です。私はいくつかのクエリを持っています:

a) データをセミバリオグラムとしてプロットすると、通常のセミバリオグラムとは異なるように見えます! なぜこれが起こっているのですか?変換など、データに対して他に何かする必要がありますか?

b) このデータでモデルをどのように適合させることができますか? 「Sph」や「Exp」など色々試してみましたが、どう見ても直線的ですね!なぜ?

c)関数で使用するシル、レンジ、ナゲットの初期値をどのように理解できvgm()ますか?

d) モデルがデータに適切に適合することをどのように理解できますか?

e) クリギングを使用するには、どのようなセミバリオグラムをプロットすればよいですか? 無指向性セミバリオグラムのみ?または、方向セミバリオグラムをプロットする必要がありますか?

f) セミバリオグラムをどのように解釈できますか? セミバリオグラムのデータについて実際に理解できることは何ですか?

前もって感謝します。

4

2 に答える 2

2

座標は緯度と経度ですが、gstat にそのことを通知しません。したがって、gstat はこれらの数値からユークリッド距離を計算できると仮定しますが、これは意味がありません。

SpatialPointsDataFrameアドバイスは、パッケージを使用するようにポイントを変換した後に gstat の使用方法をsp学び、ユークリッド距離が意味を持つようにデータを投影する方法を学ぶことです。

于 2015-07-22T19:48:50.313 に答える
0

コード関連の質問にお答えします。残りの質問 (d、e、および f) は、より理論に関連しています。

まず、コメントで、 を変更するproj4stringと、距離単位がプロット上で変更されているはずです。彼らはしたか?あなたのコメントに基づいて、それは起こらなかったようです。

a)cutoff距離をいじるのに加えて、セミバリオグラムでnpそれぞれをサポートしている (ポイント ペア)にも注意してください。binたとえば、更新されたproj4string情報を使用してcutoff=80width=80/10(15 ではなく 10 ビン) セミバリオグラムの形状がどのように変化したかを確認しました。ビンを 15 から 10 に減らしても、ポイント ペアが存在する場所は変わりません。それぞれがbin表す距離が増えるだけです。また、このアプローチは必ずしも使用すべきものではありませんが、サンプル セミバリオグラムをより滑らかにするためにビンを変更する方法の例です (ただし、より滑らかであることが良いというわけではありません)。

10 ビンと 15 ビンの比較

b) コードを使用すると、"Sph"および"Exp"モデルが を返しWarning: singular model in variogram fitます。この警告は、球状および指数経験的モデルの一部のパラメーターに適合する十分なデータがないことを示しています。各経験式とそのパラメータのガイダンスについては、gstatユーザー マニュアルを参照してください。

c) このvgm()関数は、たとえば、サンプル セミバリオグラムをアイ フィットするために使用できます。vgm()サンプル データを使用してモデルをプロットする方法について混乱している場合は、次のようなものを試してください。

eye_vgm = vgm(psill=1200,model="Gau",range=60,nugget=350)
plot(seoul3112.var,model=eye_vgm, col="black", pch=16,cex=1.3)

vgm()の呼び出しで を使用しているfit.variogram()ため、 に与えるパラメーターvgm()が妥当で (たとえば、サンプル データに基づいて)、経験的モデルにパラメーターを適合させることができる限り、fit.variogram()に従って適合を見つけますfit.method

于 2015-07-27T00:24:29.153 に答える