問題タブ [gstat]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
gstat - Automap パッケージ: 負の値とバリオグラム フィッティング
自動化されたバリオグラム モデリングに automap パッケージを 2 日前に使い始めて、いじってみました (手動で行うのは面倒で、あまり多くの利点はありません... ただし、automap が Matérn 関数を本当に気に入っているように見えるのは奇妙だと思います)バリオグラムのモデリング用)。私の頭に浮かんだのは、データセットに負の値が存在することでしたが、それらはこのパッケージによって生成されたマップには表示されませんでした。
これは私が貼り合わせたばかりの図です。1 は、autoFitVariogram と autoKrige を使用した後の出力です。負の値はないようです。グラフィック出力が気に入らなかったので、autoFitVariogram (automap から) (Nr. 2) からのバリオグラムを使用する gstat で通常のクリギングを実行し、負の降水量の領域を明確に示します。autoKrige から生成されたマップを QGIS にエクスポートして再確認したところ、多くの負の値 (Nr. 3; 黒く塗りつぶされた領域) がありました。
だから私の質問:
1.) autoKrige によって生成されるクリギング予測マップは、「if var.pred < 0 then 0」などのスキームに従うマップを生成するようです。これはそのようなマップを作成するのに役立つことがわかりますが、これは実際のデータでどのように意味があるのでしょうか? データセットをさらに分析するために使用したいのですが、負の降雨値が少し表示されます... 非現実的です。この「if var.pred < 0 then 0」スキームをデータにも適用することは、物理的に妥当である場合、数学的に適切でしょうか?
2.) automap パッケージの独自の引数として一般化最小二乗法 (GLS) を使用して、さらにバリオグラム パラメーターを決定できます。ただし、gstat ( fit.variogram.reml )からの REML フィットを使用したいと考えています。自分の REML 推定 (修正したバリオグラムも生成) に置き換えてみvariogram$var_model
ましたが、autoKrige でクリギングを実行すると、元のバリオグラム モデルが再び使用されます。パッケージで提供されている以外の方法でモデルを適合させる方法はありますか? (autoKrige マニュアルには引数 'data_variogram' がありますが、これは別のことをしているようです)。
ありがとう!
r - R で gstat または automap パッケージを使用するとデータが重複する
R の gstat または automap パッケージを使用して、予測変数に基づいて動物が発生するデータを空間的に予測するために、通常のクリギングを使用しようとしています。多くの (100 以上の) 重複する座標点があり、それらのステーションがサンプリングされているため、それらを捨てることはできません。何年にもわたって何度も。通常のクリギングで以下のコードを実行するたびに、ポイントが重複しているために LDL エラーが発生します。データを捨てずにこの問題を解決する方法を知っている人はいますか? 重複を修正するはずのautomapパッケージのコードを試しましたが、うまくいきません。お手伝いありがとう!
r - R: automap パッケージの Autokrige.cv 関数は NaN を生成します
私はRにかなり慣れていないので、オランダのさまざまなステーションから収集された温度測定値を補間しようとしています。私は、約 2 週間の期間をカバーする 10 分ごとに測定を行う約 35 の観測所のデータを持っています。したがって、これを処理するループを作成するのが最善であると考えました。補間手法がどの程度うまく機能するかを確認するために、すべてのタイムスタンプに対して相互検証を行いたいと思います。
これを行うために、automap パッケージの Autokrige 関数を使用し、次に automap パッケージの compare.cv 関数を使用して、すべてのタイム スタンプの最も重要な統計の概要を取得しました。それに加えて、少なくとも 25 のステーションが測定値を登録した場合にのみ相互検証が行われるようにしました。
ただし、問題は、以下に説明する私のコードはほとんどの場合機能しますが、4 つのケースで次の警告が表示されることです。
すべての相互検証を含む合計リストに対して compare.cv コマンドを使用しようとすると、次のエラーが表示されます。
Autokrige 関数が相互検証で NaN を生成する原因と、さらに重要なことに、compare.cv 関数を使用できるように results.cv からそれらを削除する方法を知りたいですか?
ありがとう!
r - sp および gstat - R でグリッド化されたデータセットを作成する
R で sp および gstat パッケージを使用してグリッドを作成するためにデータを取得するのに問題があります。GPS 座標を含む比較的小さなデータ セットがあり、データを補間してグリッド マップを作成したいと考えています。私のデータは csv ファイルにあり、現在シェープファイルまたはラスターではありません。
これまでのところ、「バブル」関数を使用してデータ ポイントをプロットすることができましたが、今はグリッドを作成しようとしています。しかし、私は常にこのエラーを受け取ります:
gridded(test_2) = T 推奨公差の最小値: 0.75 points2grid(点、公差、丸め) のエラー: 次元 1: 座標間隔は一定ではありません
間隔が一定でない理由や、間隔を「操作」できる方法がわかりません。海岸からの距離を 0 ~ 1000 m で測定し、0 ~ 1 に正規化しました。
間隔を一定にする方法について何か提案はありますか?
ありがとう !!
カレン
コード例:
r - 数学関数への引数の追加
補間された地球化学マップを作成するプロセスを自動化しようとしています。基本的に列 #13 から始まり、#67 までループするループを作成しました。
ただし、IDW コードの一部では、それぞれの地球化学パラメーターをマップするために、現在の列のヘッダーが必要です。
例えば; 列 #13 のヘッダーは「Ag_ppm」であるため、元のコードは次のようになります。
次を使用して、各ループ内で対象の列のヘッダーを取得できました (ここで、i はループごとに 1 ずつ増加します。13、14、15 など)。
ただし、単に "Ag_ppm" を coln に置き換えると、行は特定のエラーで失敗します。貼り付けを含むさまざまなアプローチを試しましたが、すべて同じエラーが発生します。
log10(coln) のエラー: 数学関数への数値以外の引数
現在の方法を使用した合理的に単純なアプローチはありますか?
r - R gstat 時空間バリオグラム クリギング
R パッケージ gstat の関数 variogramST を使用して、時空間バリオグラムを計算しようとしています。
空間と時間の不規則なポイントに 20,000 のデータ ポイントを持つ 12 年間のデータがあります (完全なグリッドまたは部分的なグリッドはありません)。不規則なデータセットには、時空パッケージの STIDF を使用する必要があります。0、90、180、270 日、最大数年などの基準点を持つ時間セミバリオグラムが欲しいのですが、残念ながら、計算とメモリの問題の両方が発生します。コマンドが
追加の引数なしで実行すると、セミオバリオグラムは、セミバリオグラムの基準点に関して非常に短い期間のみを考慮しているため、固有のデータ構造を適切にキャプチャしていないようです。
ユーザーが自由に使用できるこの関数の引数は他にもありますが、それらを正しくパラメーター化する方法がわかりません: tlag、tunit、twindow。具体的には、それらがどのように相互作用し、上記の目標をどのように達成するのか疑問に思っています. だから私は次のコードを試しました
次のコードの結果は、32G バイトの RAM コンピューターのメモリの問題により機能しません。
それ以外の場合は、おそらく欠陥がある可能性があります。さらに、コードの最後の行も、計算時間の点で実行不可能に見えます。
希望の時間間隔を目指して、gstat パッケージから variogramST 関数を正しく指定する方法を誰かが知っていますか?
ありがとう
r - R の IDW パラメーター
パッケージのidw
コマンドを使用して、R を使用して IDW 補間を実行したいと考えています。gstat
私はこのデータを持っています:
ここで、特定の値 (1 から 3 までの idp を 0.5 ずつ、nmax を 3 から 6 まで 1 ずつ) 内のさまざまなパラメータidp
とパラメーターを使用して各実行を実行し、idp 値と nmax 値の各組み合わせの列を含むデータ フレームを取得したいと考えています。nmax
2 つの for ループを試してみましたが、うまくいきません。
動作しないコードを次のように編集します。
kriging - クリギングの RMSE がトレーニング データの増加に対して厳密に減少しないのはなぜですか?
通常のクリギングには gstat パッケージを使用し、walker lake データ (データ サイズ = 470) を使用しています。各試行でそのデータからランダムに 20 個を取得し、50 ~ 450 個のデータセットからランダムに選択されたトレーニング データセットの rmse を計算しました。次に、各データセットの平均を計算しました。結果は以下の通り――
私の質問は次のとおりです。
1) RMSE が波打っている理由。トレーニング データを増やしても常に減少しないのはなぜですか?
2) つまり、トレーニング データセットが 200 の場合、RMSE が最も低くなるため、クリギングに大きなデータセットは必要ありません。
返信を待っています。