RMSEに基づいて精度測定を計算する方法は?大規模なデータセットは通常に配布されますか?


9

何千ものポイントのデータセットがいくつかあります。各データセットの値は、空間の座標を参照するX、Y、Zです。Z値は、座標ペア(x、y)での標高差を表します。

通常、私のGISの分野では、標高誤差は、RMSEでグラウンドトゥルースポイントを測定ポイント(LiDARデータポイント)に差し引くことで参照されます。通常、最低20のグラウンドトゥルーシングチェックポイントが使用されます。このRMSE値を使用して、NDEP(National Digital Elevation Guidelines)およびFEMAガイドラインに従って、精度の尺度を計算できます:精度= 1.96 * RMSE。

この基本精度は、「基本垂直精度とは、データセット間で垂直精度を公平に評価および比較できる値です。基本精度は、垂直RMSEの関数として95%の信頼水準で計算されます。」

正規分布曲線の下の面積の95%が1.96 * std.deviation内にあることを理解していますが、それはRMSEとは関係ありません。

一般的に私はこの質問をしています:2つのデータセットから計算されたRMSEを使用して、RMSEをある種の精度(つまり、データポイントの95%が+/- X cm以内にある)に関連付けるにはどうすればよいですか?また、このような大きなデータセットでうまく機能するテストを使用して、データセットが通常は分散されているかどうかをどのように判断できますか?正規分布にとって「十分」とは何ですか?すべての検定でp <0.05にする必要がありますか、それとも正規分布の形状と一致させる必要がありますか?


次の論文で、このトピックに関する非常に優れた情報を見つけました。

http://paulzandbergen.com/PUBLICATIONS_files/Zandbergen_TGIS_2008.pdf


4
気を付けて!ks.testの使用が正しくありません。ヘルプページによると、「dnorm」の代わりに「pnorm」を使用する必要があります。さらに、比較分布のパラメーターをサンプル自体の平均とSDに設定すると、p値が大幅に増加します。「単一サンプルのテストを使用する場合、...で指定されたパラメーターは事前に指定し、データ。"
whuber

3
まあ、実際には、その式は信頼区間を与えません。それはそのためには大きすぎます。それは実際に許容差を推定するための大雑把な(しかし標準的な)方法ありこれは差異の母集団全体の真ん中の95%です。差が正規分布ではないと仮定するのには十分な理由があります。絶対差が大きいほど、地形勾配が大きくなる傾向があります。4000ポイントがそれらの違いのランダムなサンプルであると想定して、2.5パーセンタイルと97.5パーセンタイルを報告してみませんか?
whuber

4
データは、測定可能な標高の統計サンプルを形成します。「正確さ」について話すときは、DEM が標高の母集団全体をどれだけ厳密に表しているかについて主張しています。あなたのケースでは、データセットを比較して正確さを評価することは不可能です:あなたはあなたのデータを「真実」にする必要があります。したがって、ガイドラインは実際には2つのデータセットの相対的な合意について話している。最後に、先に説明したように、「信頼レベル」の使用は誤っています。私はあなたがこのようなひどいガイダンスの枠組みの中で働かなければならないことを受け入れますが、あなたは何が正しいかを知る価値があります。
whuber

3
それはあなたにとって便利な質問のように聞こえ始めています。まだ回答を受け取っていないので、現在の質問を完全に編集して、これらのコメントで開示した情報を組み込んでみませんか?ガイドラインを引用した後(フィールドで通常どのような方法が採用されているかを示すため)、標高差順序付けられたペアの分布を使用して精度を評価する方法を非常に一般的に尋ねるかもしれません(1つと仮定して)データセットの参照です)。
whuber

2
すべて:コメントからの変更を反映するように私のメインの投稿と質問を更新しました。
マシュービルスキー

回答:


1

2つのデータセットから計算されたRMSEを使用して、RMSEをある種の精度(つまり、データポイントの95%が+/- X cm以内にある)に関連付けるにはどうすればよいですか?

ほぼ重複する質問を見てみましょう:RMSEの信頼区間

大規模なデータセットは通常に配布されますか?

良い出発点は、経験的なz値の分布を観察することです。これは再現可能な例です。

set.seed(1)
z <- rnorm(2000,2,3)
z.difference <- data.frame(z=z)

library(ggplot2)

ggplot(z.difference,aes(x=z)) + 
  geom_histogram(binwidth=1,aes(y=..density..), fill="white", color="black") +
  ylab("Density") + xlab("Elevation differences (meters)") +
  theme_bw() + 
  coord_flip()

ここに画像の説明を入力してください

一見普通に見えますよね?(実際には、rnorm使用したコマンドが正常であることはわかっています)。

データセットで小さなサンプルを分析したい場合は、Shapiro-Wilk正規性テストがあります。

z_sample <- sample(z.difference$z,40,replace=T)
shapiro.test(z_sample) #high p-value indicates the data is normal (null hypothesis)

    Shapiro-Wilk normality test

data:  z_sample
W = 0.98618, p-value = 0.8984 #normal

異なる小さなサンプルに対してSWテストを何度も繰り返し、次にの分布を確認することもできp-valuesます。

大規模なデータセットに対する正規性テストは、Greg Snowが提供するこの回答で説明されているように、それほど有用ではないことに注意してください。

一方、非常に大きなデータセットでは、中心極限定理が機能し、一般的な分析(回帰、t検定など)の場合、母集団が正規分布であるかどうかは本当に気にしません。

経験則としては、qq-plotを実行して質問します。これで十分でしょうか。

それでは、QQプロットを作成しましょう。

#qq-plot (quantiles from empirical distribution - quantiles from theoretical distribution)
mean_z <- mean(z.difference$z)
sd_z <- sd(z.difference$z)
set.seed(77)
normal <- rnorm(length(z.difference$z), mean = mean_z, sd = sd_z)

qqplot(normal, z.difference$z, xlab="Theoretical", ylab="Empirical")

ここに画像の説明を入力してください

点がy=x線上に配置されている場合、これは経験的分布が理論的分布(この場合は正規分布)と一致することを意味します。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.