QGISで物理的な障壁/境界を使用してカーネル密度推定を行う方法は?


18

不可能な領域を単にマスクするのではなく、計算で境界を考慮するカーネルリングを許可するプログラムを知っている人はいますか?

これまでのところ、Arc10(Hawthorne Beyer)のGMEアドオン-境界シェープファイルを指定するたびにエラーが発生します。さまざまな種類のシェープファイルタイプや境界の複雑さなどを試しました。境界を指定しなくても正常に機能します。

RのAdehabitatHRパッケージ(Calange 2011)-これはうまく機能しますが、指定する境界は非常に単純でなければなりません-線セグメントの長さはカーネル帯域幅の3倍であり、曲がりすぎません。私のデータでは、これは非常に単純化しすぎています。

だから、GRASSやQGISなど、他のソフトウェアでそれができるのかと思っています。

ありがとう


3
関心のある可能性のあるRコード、ボーダーバイアス、および重み付きカーネルに関する最近の論文。すべてのコードがするだけの方法で重み付け(あなたはそれが重みを除く外になる限り、KDEを推定するどんなプログラムを使用することができます重量を把握することができた場合)ボーダーバイアスを補正するために観測を。
アンディW

1
正確にどのように境界の「アカウント」にしたいですか?マスキングから拡散のブロック、境界効果の修正まで、さまざまな方法があります。
whuber

1
@AndyWとwhuberに感謝します。カーネルが境界全体に広がるのを防ぐことにより、境界を説明したいと思います。データはウミガメの場所であるため、使用率の分布は陸地に広がるべきではないことはわかっていますが、多くの場所は海岸に非常に近いため、カーネル部分を単純にマスクすることでこれらの場所に偏りたくありません土地に広がります。論文へのリンクをありがとう-これは素晴らしいようです。データに同様のコードを使用してみます。
KimS

回答:


2

カーネル密度推定の核となるのは距離の概念です。私が知っている最良の解決策は、境界を考慮したより良い距離測定基準と、さまざまな移動コストを使用することです。解決しようとしている問題に適合する距離メトリックを選択するのが最善です。陸地の摩擦はハイキングには適していますが、エアロゾルの拡散には適していません。風の流れはヨットの追跡に不可欠ですが、道順には関係ありません。
適切な距離メトリックの概念が十分に動機付けられていることを望んでいるので、コスト面を適切な汎用距離メトリックとして推奨できます。それらは、ArcGISからR、JavaScriptまで、あらゆるもので利用でき、構築するのは非常に簡単です。たとえば、qGISでは、ラスター摩擦サーフェスを構築し、それを使用してルートを計算できます。境界を考慮して摩擦面をカスタマイズすると、ポイントの周りのカーネルからの質量が障害物の周りにきちんと広がっているのがわかります。


+1これは潜在的に素晴らしいアプローチです。多くの問題にそれを適用して、私は主な難しさがここで言及されていないことであることがわかりました:正確にどのようにこのメトリックに従ってカーネルを広げることを提案しますか?すぐに使用できるソリューションではこれを実行できません。
whuber

@whuber確かに、標準のシステムには通常、コストサーフェスとカーネル密度の両方を同時に考慮する機能がありません。私の提案は、摩擦面を使用してポイント間距離を計算し、次に重みにカーネル関数を直接適用することです。qGISまたはArcGISでは、Pythonで正規分布関数を使用して記述でき、Rにはdnorm()関数があります。
JasonRDalton 14

場合によってはそれを正確に行いましたが、プロセスについて考え、結果を調べると、いくつかの固有の問題が明らかになります。最も難しいのは、質量の保存方法を保証することです。つまり、固定されたガウス関数に従って値を単純に拡散することはできません。この計算を実行する効率的な方法はありません。
whuber



-2

ESRI ArcGISの拡張であるGeostatistical Analystを使用して、これを正常に実行しました。バリアとしてラインフィーチャデータセットを読み込むことができ、結果はかなりまともです。ツールのキャリブレーション方法の明確なアイデアを得るために、関数のパラメーターを変更しながらテストを実行します。結果を検証するには、十分な大きさのデータセットがある場合、ポイントのサンプルを削除し、それらのポイントのない密度サーフェスを生成し、削除されたポイントの値とサーフェスの値の差を比較することをお勧めします削除されたポイントの場所。


2
補間法を実装するGA がカーネル密度推定値を計算する方法を説明するために、この回答を少し拡大していただけますか?ソリューションの正確性を再確認するために、GAグリッドの積分がすべての入力データの合計にほぼ等しいことを確認しましたか?
whuber

1
10.1では、バリアを使用してカーネル補間を実行できますが、これは密度推定になりません。しかし、元の投稿が参照している方法を考えると、密度推定ではなくガウスカーネル推定に興味がないのではないかと思っています。
ジェフリーエヴァンス
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.