Lewati ke isi
Profil penulisSeri Buku GIS Kehutanan dan Pertanian/ I2
Tampilkan bagian untuk:

BAB 6: Seberapa Benar Peta Ini? Uji Akurasi

#Studi kasus: "Bisa dipercaya, tidak?"

Anda punya empat peta: dua hasil tak terbimbing dan dua hasil terbimbing. Kepala Seksi bertanya, "Pakai yang mana, dan seberapa yakin?" Jawaban "kelihatannya bagus" tidak cukup. Anda butuh angka yang bisa dipertanggungjawabkan. Caranya: bandingkan peta dengan kenyataan di 100 titik uji yang sengaja tidak dipakai untuk melatih.

#Konsep: uji akurasi dalam tiga kalimat

Uji akurasi membandingkan kelas pada peta dengan kelas sebenarnya di sejumlah titik uji, lalu merangkumnya dalam matriks kesalahan. Bayangkan ujian: soal (titik uji) harus berbeda dari soal latihan (area latih), dan kunci jawaban (acuan lapangan) harus dipercaya. Dari matriks itu keluar tiga angka utama: akurasi keseluruhan, akurasi pembuat dan pengguna, serta kappa.

Istilah baru bab ini:

  • Titik uji: titik dengan kelas sebenarnya (acuan) yang tidak ikut melatih.
  • Matriks kesalahan (confusion matrix): tabel kelas acuan lawan kelas peta.
  • Akurasi keseluruhan (overall accuracy): titik benar dibagi semua titik.
  • Akurasi pembuat dan pengguna: ketepatan dilihat dari sisi lapangan dan dari sisi peta.
  • Kappa: kecocokan setelah dikurangi kecocokan karena kebetulan.
Ilustrasi 6.1: Matriks kesalahan
Matriks kesalahan peta terbimbing kemiripan maksimum; diagonal adalah titik yang benar

Cara membaca: baris adalah kelas sebenarnya, kolom adalah kelas pada peta. Angka di diagonal (kiri atas ke kanan bawah) adalah titik yang benar. Angka di luar diagonal adalah salah. Misalnya baris Kebun: dari 25 titik yang sebenarnya Kebun, 21 dipetakan Kebun, 2 dipetakan Hutan, dan 2 dipetakan Sawah.

Ilustrasi 6.2: Tiga akurasi
Akurasi pembuat dibaca per baris, akurasi pengguna per kolom, akurasi keseluruhan dari diagonal

Rumus yang dipakai, dengan contoh angka dari matriks di atas:

  • Akurasi keseluruhan = jumlah diagonal ÷ jumlah semua titik = (25 + 21 + 22 + 23) ÷ 100 = 91%.
  • Akurasi pembuat kelas X = diagonal ÷ jumlah baris X. Untuk Hutan: 25 ÷ 25 = 100%. Artinya, dari yang benar-benar Hutan, semua tertangkap. Kebalikannya disebut galat penghilangan (omission).
  • Akurasi pengguna kelas X = diagonal ÷ jumlah kolom X. Untuk Hutan: 25 ÷ 27 = 93%. Artinya, dari yang ditandai Hutan di peta, 93% benar. Kebalikannya disebut galat penambahan (commission).
  • Kappa = (akurasi keseluruhan − p) ÷ (1 − p), dengan p kecocokan yang diharapkan secara kebetulan. Di sini p = 0,25, jadi kappa = (0,91 − 0,25) ÷ 0,75 = 0,88.

#Bagian A: QGIS

#Bagian A: Uji akurasi di QGIS

#A1. Mengambil kelas peta pada titik uji

  1. Tambahkan Titik_Uji.gpkg (100 titik; field Kode_Acuan adalah kelas sebenarnya) dan peta yang ingin dinilai, misalnya terbimbing_maks_lik.tif.
  2. Buka Processing Toolbox ► Raster analysis ► Sample raster values. Isi Input layer = Titik_Uji, Raster layer = peta kelas, Output column prefix = Peta_. Jalankan.
  3. Layer hasil punya field baru Peta_1: kelas pada peta di titik itu.

#A2. Akurasi keseluruhan dengan satu seleksi

  1. Pada layer hasil, buka Select by Expression (Ctrl+F3). Ketik:
EKSPRESI
"Kode_Acuan" = "Peta_1"
  1. Klik Select Features. Baca di bilah status: 91 terpilih dari 100. Itulah akurasi keseluruhan 91%.

#A3. Matriks kesalahan

  1. Buka Processing Toolbox ► Vector analysis ► Statistics by categories. Pada Field(s) with categories, pilih Kode_Acuan dan Peta_1. Pada Field to calculate statistics on, pilih ID_Uji.
  2. Hasilnya tabel panjang. Tiap baris adalah satu kombinasi kelas acuan dan kelas peta, dengan kolom count (jumlah titik). Pada uji, hasilnya 9 baris (hanya kombinasi yang ada). Susun menjadi matriks seperti gambar di atas.

#A4. Dengan skrip, dan cara kedua dengan GRASS

  1. Buka i2_06_uji_akurasi.py, ubah jalur, dan jalankan. Skrip menilai keempat peta dan mencetak matriks.
  2. Skrip juga menjalankan alat GRASS r.kappa sebagai pembanding (Processing Toolbox, kelompok Raster (r.*)). Alat ini membandingkan dua raster: peta hasil dan raster acuan yang dibuat dari titik uji (Rasterize, nilai Kode_Acuan; piksel tanpa titik bernilai 0 dan diabaikan).

Hasil r.kappa untuk peta kemiripan maksimum: kappa 0,88 dan 91 dari 100 benar. Sama persis dengan hitungan skrip NumPy, jadi dua cara saling membenarkan. Hati-hati membacanya: laporan r.kappa menaruh kelas acuan di kolom dan kelas peta di baris, kebalikan dari gambar di buku ini.

#A5. Hasil uji keempat peta

PetaAkurasi keseluruhanKappa
Tak terbimbing, 6 kluster75% (75 dari 100)0,67
Tak terbimbing, 10 kluster98% (98 dari 100)0,97
Terbimbing, jarak minimum88% (88 dari 100)0,84
Terbimbing, kemiripan maksimum91% (91 dari 100)0,88

Untuk peta kemiripan maksimum, akurasi per kelas:

KelasAkurasi pembuatAkurasi pengguna
Hutan100%93%
Kebun84%84%
Sawah88%88%
Lahan Terbuka92%100%

#A6. Membaca hasilnya dengan jujur

  • Peta 6 kluster: kelas Kebun tidak ada di peta (kolomnya kosong), jadi akurasi pembuat Kebun = 0%. Dari 25 titik Kebun, 18 menjadi Sawah dan 7 menjadi Hutan. Akurasi keseluruhan 75% terlihat lumayan, tetapi satu kelas hilang. Jangan hanya menatap angka keseluruhan.
  • Peta 10 kluster paling tinggi (98%). Namun ada tiga catatan. (1) Hanya 100 titik: satu titik berarti 1 poin persen. Perkiraan selang 95% (simpangan baku sederhana, memakai rumus p ± 1,96 x akar(p(1−p)/n)) untuk 91% adalah kira-kira 85% sampai 97%, dan untuk 98% kira-kira 95% sampai 100%. Dua selang itu bertumpang tindih, jadi selisihnya belum tentu nyata. (2) Pemberian nama 10 kluster memakai area latih, jadi caranya sudah setengah terbimbing. (3) Data ini sintetis dan bersih. Pada data sungguhan, hasil terbimbing dan tak terbimbing jarang sedekat ini.
  • Jarak minimum dan kemiripan maksimum: 88% lawan 91%. Kemiripan maksimum sedikit lebih baik, tetapi selisih tiga titik juga masih dalam wilayah ketidakpastian.
  • Kebun dan Sawah paling sering tertukar, sesuai dugaan dari ruang spektral di bab 4.

#A7. Latihan terpadu: lahan terbuka di lereng curam

Dua analisis kini bisa digabung. Berapa lahan terbuka yang berada di lereng curam (di atas 25 persen)? Peta kelas berpiksel 1 m (area 300 m x 300 m) dan kemiringan berpiksel 2 m (area 400 m x 400 m). Raster Calculator sanggup menggabungkannya bila ukuran dan luas keluaran ditentukan (bab 1). Ekspresinya:

EKSPRESI
("peta_kelas@1" = 4) AND ("slope_persen@1" > 25)

Pilih ukuran piksel dan luas mengikuti peta_kelas. Skrip i2_07_terpadu.py melakukannya. Hasil uji pada peta kemiripan maksimum: 7.709 piksel = 0,771 ha, atau 70,4% dari seluruh lahan terbuka pada peta (1,094 ha). Hitungan mandiri dengan NumPy memberi jumlah piksel yang sama.

Jawaban untuk Kepala Seksi: sekitar tujuh dari sepuluh bagian lahan terbuka di area citra berada di lereng curam. Itu kandidat pertama untuk kegiatan rehabilitasi atau pengendalian erosi. Ingat, ini data sintetis, jadi angkanya hanya untuk belajar.

#Bagian B: ArcGIS Pro

#Bagian B: ArcGIS Pro

Menurut dokumentasi Esri, alur uji akurasi memakai tiga alat berurutan: Create Accuracy Assessment Points, Update Accuracy Assessment Points, lalu Compute Confusion Matrix. Keluarannya matriks kesalahan, akurasi pengguna dan pembuat, serta kappa. [CEK]

  1. Buat titik uji dari peta kelas dengan Create Accuracy Assessment Points. Alat ini membuat titik acak dengan field Classified dan GrndTruth. [CEK]
  2. Isi kelas sebenarnya di tiap titik dengan Update Accuracy Assessment Points. [CEK]
  3. Jalankan Compute Confusion Matrix pada titik itu. [CEK]
  4. Bila Anda sudah punya titik uji berkelas sendiri (seperti Titik_Uji), pakai nilai peta pada titik itu dengan Extract Values to Points, lalu rangkum. [CEK]

#Bagian C: ArcMap 10.8

#Bagian C: ArcMap 10.8

Alat yang sama tersedia di Spatial Analyst (nama alat diperiksa pada dokumentasi Esri). Cocokkan dengan versi Anda. [CEK]

  1. Create Accuracy Assessment Points: membuat titik acak. [CEK]
  2. Update Accuracy Assessment Points: mengisi kelas sebenarnya. [CEK]
  3. Compute Confusion Matrix: menghitung matriks, akurasi pengguna dan pembuat, serta kappa. [CEK]

#Cek paham

  1. Pada matriks kesalahan, di mana titik yang benar berada?
  2. Apa beda akurasi pembuat dan akurasi pengguna?
  3. Mengapa titik uji tidak boleh sama dengan area latih?

Jawaban:

  1. Di diagonal, yaitu kelas acuan sama dengan kelas peta.
  2. Pembuat: dari yang benar di lapangan, berapa yang terpetakan benar (per baris). Pengguna: dari yang dipetakan kelas itu, berapa yang benar di lapangan (per kolom).
  3. Menguji dengan soal latihan membuat akurasi terlalu optimistis. Titik uji harus bebas dari proses pelatihan.

#Kesalahan umum

  • Hanya melihat akurasi keseluruhan. Satu kelas bisa hilang (seperti Kebun pada peta 6 kluster) dan angka keseluruhan tetap tampak baik. Lihat akurasi per kelas.
  • Terlalu sedikit titik uji. Angkanya goyah. Sertakan selang ketidakpastian.
  • Salah membaca baris dan kolom. Pastikan alat mana yang menaruh acuan di baris dan mana di kolom (QGIS di buku ini dan r.kappa berbeda).
  • Titik uji dekat batas kelas atau di area latih. Hasil bias. Pilih titik di tengah bercak dan di luar area latih.

#Ringkasan dan latihan

Ringkasan: matriks kesalahan membandingkan peta dengan kenyataan di titik uji. Dari situ didapat akurasi keseluruhan, akurasi pembuat dan pengguna, dan kappa. Pada data ini peta terbimbing kemiripan maksimum mencapai 91% (kappa 0,88), peta 10 kluster 98%, dan peta 6 kluster hanya 75% karena Kebun hilang. Selang ketidakpastian dengan 100 titik cukup lebar.

Latihan:

  1. Hitung sendiri akurasi pembuat dan pengguna Sawah pada peta jarak minimum dari matriks: baris Sawah [0, 4, 21, 0], kolom Sawah berisi 0, 0, 21, 1. (Jawaban: 84% dan 95%.)
  2. Hitung kappa peta jarak minimum. Gunakan p = 0,25 (jumlah baris tiap kelas 25 dan jumlah kolom 28, 26, 22, 24 sehingga p = 25 x 100 ÷ 10.000). Apakah hasilnya mendekati 0,84?
  3. Jalankan ulang skrip uji akurasi dengan peta tak_terbimbing_k6.tif saja. Kelas mana yang kolomnya kosong?

#Tabel perbandingan: uji akurasi

HalQGISArcGIS ProArcMap 10.8
Titik ujiTitik_Uji (sudah ada) atau buat titik acakCreate Accuracy Assessment Points [CEK]Create Accuracy Assessment Points [CEK]
Kelas peta di titikSample raster valuesotomatis pada alat di atas [CEK]otomatis pada alat di atas [CEK]
Matriks dan kappaStatistics by categories, skrip NumPy, atau GRASS r.kappaCompute Confusion Matrix [CEK]Compute Confusion Matrix [CEK]
Syarattanpa ekstensiSpatial Analyst / Image Analyst [CEK]Spatial Analyst [CEK]