Bagaimana cara menghitung ukuran akurasi berdasarkan RMSE? Apakah dataset besar saya terdistribusi secara normal?

9

Saya punya beberapa dataset dengan urutan ribuan poin. Nilai dalam setiap dataset adalah X, Y, Z yang mengacu pada koordinat dalam ruang. Nilai Z mewakili perbedaan ketinggian pada pasangan koordinat (x, y).

Biasanya di bidang SIG saya, kesalahan ketinggian dirujuk dalam RMSE dengan mengurangi titik ground-truth ke titik pengukuran (titik data LiDAR). Biasanya minimum 20 titik pemeriksaan ground-truthing digunakan. Dengan menggunakan nilai RMSE ini, menurut NDEP (National Digital Elevation Guidelines) dan pedoman FEMA, ukuran akurasi dapat dihitung: Akurasi = 1,96 * RMSE.

Akurasi ini dinyatakan sebagai: "Akurasi vertikal mendasar adalah nilai dimana akurasi vertikal dapat dinilai secara adil dan dibandingkan di antara set data. Akurasi mendasar dihitung pada tingkat kepercayaan 95 persen sebagai fungsi dari RMSE vertikal."

Saya mengerti bahwa 95% dari area di bawah kurva distribusi normal terletak pada 1,96 * std.deviation, namun itu tidak berhubungan dengan RMSE.

Secara umum saya mengajukan pertanyaan ini: Menggunakan RMSE dihitung dari 2-dataset, bagaimana saya bisa menghubungkan RMSE dengan semacam akurasi (yaitu 95 persen dari titik data saya berada dalam +/- X cm)? Juga, bagaimana saya bisa menentukan apakah dataset saya terdistribusi secara normal menggunakan tes yang berfungsi baik dengan dataset yang begitu besar? Apa "cukup baik" untuk distribusi normal? Haruskah p <0,05 untuk semua tes, atau haruskah itu cocok dengan bentuk distribusi normal?


Saya menemukan beberapa informasi yang sangat baik tentang topik ini di makalah berikut:

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

Matthew Bilskie
sumber
4
Awas! Penggunaan ks.test Anda salah. Menurut halaman bantuan , Anda perlu menggunakan 'pnorm' alih-alih 'dnorm'. Selain itu, pengaturan parameter distribusi perbandingan dengan rata-rata dan SD sampel itu sendiri akan secara substansial meningkatkan nilai p: "Jika uji sampel tunggal digunakan, parameter yang ditentukan dalam ... harus ditentukan sebelumnya dan tidak diperkirakan dari data."
Whuber
3
Sebenarnya, formula itu tidak akan memberi Anda interval kepercayaan: itu akan terlalu besar untuk itu. Ini benar-benar cara kasar (tapi standar) untuk memperkirakan interval toleransi, yang merupakan 95% tengah dari seluruh populasi perbedaan. Ada alasan bagus untuk menganggap perbedaan tidak akan memiliki distribusi normal: perbedaan absolut yang lebih besar cenderung dikaitkan dengan lereng topografi yang lebih besar. Dengan asumsi 4000 poin Anda adalah sampel acak dari perbedaan-perbedaan itu, mengapa Anda tidak melaporkan 2,5 persen dan 97,5 persen saja?
Whuber
4
Data Anda membentuk sampel statistik dari ketinggian yang dapat diukur. Ketika Anda berbicara tentang "akurasi" Anda membuat klaim tentang seberapa dekat DEM Anda mewakili seluruh populasi yang terangkat. Dalam kasus Anda, tidak mungkin untuk menilai akurasi dengan membandingkan dataset: Anda harus "kebenaran lapangan" data Anda. Dengan demikian, pedoman tersebut benar-benar berbicara tentang kesepakatan relatif dari dua set data. Akhirnya, penggunaan "tingkat kepercayaan" mereka salah, seperti yang saya jelaskan sebelumnya. Saya menerima Anda harus bekerja dalam kerangka bimbingan yang mengerikan seperti ini, tetapi Anda layak tahu apa yang benar.
whuber
3
Itu mulai terdengar seperti pertanyaan yang berguna untuk Anda. Karena Anda belum menerima jawaban, mengapa Anda tidak mengedit pertanyaan saat ini sepenuhnya untuk memasukkan informasi yang telah Anda ungkapkan dalam komentar ini? Saya akan menyarankan meluaskannya agak: setelah mengutip pedoman (untuk menunjukkan metode apa yang biasanya digunakan di bidang Anda), Anda mungkin bertanya secara umum bagaimana menggunakan distribusi pasangan perbedaan urutan ketinggian untuk menilai akurasi (dengan asumsi satu set data adalah referensi).
Whuber
2
Semua: Memperbarui posting dan pertanyaan utama saya untuk mencerminkan perubahan dari komentar.
Matthew Bilskie

Jawaban:

1

Menggunakan RMSE dihitung dari 2-dataset, bagaimana saya bisa menghubungkan RMSE dengan semacam akurasi (yaitu 95 persen dari titik data saya berada dalam +/- X cm)?

Lihatlah pertanyaan hampir duplikat: Interval kepercayaan RMSE ?

Apakah dataset besar saya terdistribusi secara normal?

Awal yang baik adalah mengamati distribusi znilai - nilai empiris . Ini adalah contoh yang bisa direproduksi.

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()

masukkan deskripsi gambar di sini

Pada pandangan pertama, itu terlihat normal, bukan? (sebenarnya, kita tahu itu normal karena rnormperintah yang kita gunakan).

Jika seseorang ingin menganalisis sampel kecil pada dataset ada Uji Normalitas 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

Satu juga dapat mengulangi tes SW berkali-kali pada sampel kecil yang berbeda, dan kemudian, lihat distribusi p-values.

Sadarilah bahwa uji normalitas pada dataset besar tidak begitu berguna seperti yang dijelaskan dalam jawaban yang diberikan oleh Greg Snow ini.

Di sisi lain, dengan kumpulan data yang sangat besar, teorema batas pusat berperan dan untuk analisis umum (regresi, uji-t, ...) Anda benar-benar tidak peduli apakah populasi terdistribusi secara normal atau tidak.

Aturan praktis yang baik adalah melakukan plot-qq dan bertanya, apakah ini cukup normal?

Jadi, mari kita buat 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")

masukkan deskripsi gambar di sini

Jika titik-titik sejajar dalam y=xgaris itu berarti distribusi empiris cocok dengan distribusi teoritis, yang dalam hal ini adalah distribusi normal.

Andre Silva
sumber