Interval kepercayaan dari data raster

8

Saya memiliki data raster yang mewakili distribusi probabilitas, yaitu setiap sel memiliki nilai probabilitas (dalam kasus saya probabilitas bahwa seekor hewan dapat ditemukan dalam sel), dan semua sel menambahkan hingga 100% (saya tahu pasti hewan itu dalam batas raster saya). Saya ingin dapat menghasilkan data vektor untuk nilai kepercayaan. Misalnya, garis / poligon 95% menunjukkan batas di mana saya 95% yakin bahwa saya akan menemukan binatang itu.

Demikian pula, jika saya memiliki estimasi kepadatan kernel, Bagaimana cara menghasilkan garis / poligon XX% yang berbatasan dengan bagian terpadat dari raster yang mengandung XX% dari total populasi?

Saya bersedia menggunakan ArcGIS, atau perangkat lunak sumber terbuka. Jika tidak ada alat untuk melakukan ini untuk saya, algoritma apa yang dapat saya terapkan?

Regan Sarwas
sumber
Solusi Mathematica baru-baru ini muncul di Mathematica.stackexchange.com/questions/20464 .
whuber

Jawaban:

3

Keyakinan bukan konsep yang berlaku, meskipun secara dangkal serupa. Pertanyaannya terdengar seperti Anda ingin mengidentifikasi wilayah terkecil yang memiliki probabilitas total setidaknya 95%. Wilayah ini dapat diperoleh (setidaknya secara konseptual) dengan menyortir semua probabilitas dan mengumpulkannya dari tertinggi ke terendah hingga jumlah parsial pertama sama dengan atau melebihi 95%, kemudian memilih sel yang sesuai dengan nilai yang telah diakumulasikan. Ini mengarah ke solusi langsung, seperti yang dicontohkan oleh contoh R (open source) ini:

library(raster)
set.seed(17)                   # Seed a reproducible random sequence
nr <- 30                       # Number of rows                    
nc <- 50                       # Number of columns
#
# Create a zone raster for normalizing the probabilities.
#
zone <- raster(ncol=nc, nrow=nr)
zone[] <- 0
#
# Create a probability raster (for illustrating the algorithm later).
#
p <- raster(ncol=nc, nrow=nr)
p[] <- (1:(nc*nr) - 1/2) / (nc*nr) + rnorm(nc*nr, sd=0.5)
p <- abs(focal(p, ngb=5, run=mean))
z <- zonal(p, zone, stat='sum')
p <- p / z[[2]] # This normalizes p to sum to unity as required
#------------------------------------------------------------------------------#
#
# The algorithm begins here.
#
pvec <- sort(getValues(p), decreasing=TRUE) # The probabilities, sorted
d <- cumsum(pvec)                           # Cumulative probabilities
dpos <- d[d <= 0.95]                        # Position to stop
region <- p                                 # Initialize the output
region[p < pvec[length(dpos)]] <- NA        # Exclude the last 5% of the probability
plot(region)                                # Display the result

Berikut adalah gambar yang dihasilkan dari daerah probabilitas 95% dengan probabilitas asli yang ditunjukkan dalam warna: jumlah mereka menjadi lebih dari 95%, dengan konstruksi, dan menghilangkan bahkan nilai terkecil akan mengurangi jumlah menjadi kurang dari 95%. Area putih di atas termasuk 5% sisanya dari probabilitas di luar wilayah ini. Kontur yang diinginkan adalah batas antara sel putih dan sel berwarna.

Hasil

Metode yang sama akan bekerja pada kisi KDE.

Tidak ada solusi ArcGIS langsung untuk masalah ini.

whuber
sumber
Ha ha, dangkal benar menggambarkan pemahaman saya tentang probabilitas. Terima kasih banyak untuk a) menafsirkan dengan benar pertanyaan saya yang kurang baik, dan b) memberikan jawaban yang jelas.
Regan Sarwas
0

Di ArcGIS ...

  • Alat Statistik Spasial> Reklasifikasi> Alat Reklasifikasi
    • Buat 2 metode klasifikasi ulang:
    • OldValues ​​= 0-94.99 | NewValues ​​= 0
      OldValues ​​= 95-100 | Nilai Baru = 1

Ini akan membuat raster baru dengan 2 nilai, 0 = interval kepercayaan luar, 1 = di dalam interval kepercayaan 95%.

  • Alat Konversi> Dari Raster> Alat raster ke Polygon
    • Input =
      Bidang Raster yang Direklasifikasi Ulang = Nilai

Ini akan membuat poligon vektor dengan 2 FID, satu dengan bentuk interval kepercayaan 95% Anda dan yang lainnya area raster yang tersisa. Saya sarankan mengeksplorasi opsi yang disederhanakan untuk melihat hasil apa yang sesuai dengan kebutuhan Anda dengan lebih baik.

FYI, terapkan metode yang sama untuk mendapatkan poligon untuk perkiraan Kepadatan Kernal Anda.

Michael Markieta
sumber
Mungkin saya tidak jelas (saya tidak terlalu baik dengan probabilitas). Untuk menyatakan kembali, total nilai dalam semua sel saya adalah 1,0, jadi dengan distribusi yang seragam dalam kisi 100x100, setiap sel akan memiliki nilai 1/10000. Sekarang bayangkan nilai sel bervariasi dari beberapa angka yang sedikit lebih besar di dekat pusat ke nilai nol di dekat tepi (masih berjumlah 1,0). Jika saya mulai menghapus sel dengan nilai terkecil, pada akhirnya saya akan dibiarkan dengan total 0,95. Bagaimana saya melakukan ini sehingga saya dapat mengklasifikasikan ulang seperti yang Anda sarankan.
Regan Sarwas
Aneh, dari pemahaman menggunakan raster untuk menampilkan representasi statistik data, nilai probabilitas Anda (nilai sel) akan berkisar dari 0 hingga 100 (atau dalam kasus Anda 0 hingga 1), dan distribusi nilai-nilai ini (nilai sel) akan mewakili distribusi normal.
Michael Markieta
Jika benar, maka kita dapat mereklasifikasi data menggunakan metode yang disarankan di atas, meskipun nilai-nilai substitusi 0,9499 dan .95 untuk 94,99 dan 95
Michael Markieta
1
Solusi ini tidak mencerminkan kisi yang dijelaskan dalam pertanyaan. Pikirkan kisi input sebagai mewakili distribusi probabilitas dua dimensi diskrit daripada menjadi "representasi statistik data." Dalam kasus-kasus praktis (kisi-kisi sedang hingga besar, kisaran hewan terdistribusi dengan baik) sebagian besar probabilitas akan sangat kecil, jauh lebih sedikit dari 95%, sehingga klasifikasi ulang hanya akan menghapus semua informasi: semuanya berubah menjadi nol.
Whuber