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

BAB 7: Seberapa Percaya Peta Ini? Validasi dan Koreksi Luas

#Studi kasus: "Angka ini boleh masuk laporan?"

Peta sudah jadi. Kepala Seksi menatap angka 2,64 ha bekas terbakar di peta pertama Anda. "Kalau saya tulis di laporan ke provinsi, apakah ada yang akan menyanggah?" Pertanyaan itu tidak bisa dijawab dengan "kelihatannya bagus". Anda perlu mengukur kebenaran peta, dan menyebut seberapa ragu angkanya.

#Konsep: validasi dalam tiga kalimat

Validasi itu seperti ujian dengan soal yang belum pernah dilihat murid: nilai ujian latihan yang soalnya sama dengan bahan belajar tidak membuktikan apa-apa. Kita menarik sampel acak titik di peta, memeriksa kebenarannya dengan data acuan yang lebih tepercaya (citra resolusi tinggi atau survei lapangan), lalu membuat matriks kebingungan. Dari matriks itu keluar akurasi, dan juga koreksi luas: luas yang sudah memperhitungkan kesalahan peta.

Istilah baru bab ini:

  • Matriks kebingungan: tabel yang menyilangkan kelas peta dengan kelas acuan.
  • Akurasi pengguna (UA): dari semua piksel yang peta sebut kelas X, berapa persen yang benar kelas X.
  • Akurasi produsen (PA): dari semua piksel yang sebenarnya kelas X, berapa persen yang peta temukan.
  • Sampel acak berstrata: sampel acak dengan jumlah tetap di tiap kelas peta, supaya kelas langka ikut terwakili.
  • Luas terkoreksi: perkiraan luas yang sudah menyesuaikan kesalahan peta, disertai rentang ketidakpastian.
Ilustrasi 7.1: Matriks kebingungan
Skema: peta B menyebut piksel terbakar padahal acuannya hutan alam

#Dua jenis kesalahan, dua sisi

  • Kesalahan komisi: peta bilang "terbakar", kenyataannya hutan. Diukur oleh akurasi pengguna.
  • Kesalahan omisi: kenyataannya terbakar, peta tidak menandainya. Diukur oleh akurasi produsen.

Dua peta bisa sama akuratnya secara keseluruhan namun berbeda pada dua sisi ini. Untuk melaporkan luas, kedua sisi penting.

#Bagian A: QGIS

#Bagian A: Validasi di QGIS (Skrip 7.1)

Skrip 7.1 menguji dua peta: Peta A (hutan acak dengan 12 fitur, Bab 6) dan Peta B (hutan acak yang hanya melihat NDVI, tanpa SWIR). Acuannya Acuan_Dinamika.tif. Dalam praktik, acuan berasal dari tafsir citra resolusi tinggi atau survei lapangan, bukan dari kunci jawaban seperti ini.

A.1 Menyusun sampel

Aturan sampel dalam skrip: 20 titik acak per kelas peta, tidak boleh jatuh di titik latih. Kelas kecil dengan piksel bebas kurang dari 20 diambil sebanyak yang ada (kelas Terbuka: 18).

PYTHON
# SKRIP 7.1 (cuplikan; berkas lengkap: skrip/7_1_validasi.py)
def sampel_berstrata(peta, seed):
    rng = np.random.default_rng(seed)
    for k in np.unique(peta):
        kand = np.argwhere((peta == k) & ~pakai_latih)           # piksel kelas k di luar titik latih
        pilih = rng.choice(len(kand), size=min(N_STRATUM, len(kand)), replace=False)
        hasil[int(k)] = [((int(kand[p][0]), int(kand[p][1])), int(acuan[kand[p][0], kand[p][1]])) for p in pilih]

Padanan di antarmuka QGIS: Polygonize peta, Dissolve per kelas, lalu Random points in polygons dengan jumlah titik per fitur, dan Sample raster values pada acuan. Alat ini berjalan di uji, tetapi hasil titiknya tidak identik antar-jalan walau SEED diisi. Karena itu angka di buku memakai pengundi dalam skrip yang bisa diulang persis.

A.2 Matriks, akurasi, dan luas terkoreksi

Rumus (Olofsson dan kawan-kawan, 2014), dengan W_i = bagian luas kelas peta ke-i, n_i = jumlah sampel kelas i, n_ij = jumlah sampel kelas peta i dengan acuan j:

RUMUS
p_ij       = W_i * n_ij / n_i
Akurasi keseluruhan   = jumlah p_ii
Akurasi pengguna(i)   = p_ii / jumlah_j p_ij
Akurasi produsen(j)   = p_jj / jumlah_i p_ij
Luas terkoreksi(j)    = Luas_total * jumlah_i p_ij
Galat baku(j)         = Luas_total * akar( jumlah_i  W_i^2 * (n_ij/n_i) * (1 - n_ij/n_i) / (n_i - 1) )
Rentang 95%           = luas terkoreksi +/- 1,96 * galat baku

Hasil Peta A (12 fitur):

UkuranNilai
Sampel158 titik
Akurasi keseluruhan0,995
Kesalahan1 titik "terbakar" yang acuannya hutan alam
Luas terbakar: peta, terkoreksi, acuan1,52 ha; 1,46 ha (plus minus 0,12); 1,51 ha
Luas deforestasi: peta, terkoreksi, acuan1,30 ha; 1,30 ha (plus minus 0,00); 1,30 ha

Hasil Peta B (NDVI saja): matriks pada 158 sampel, baris = kelas peta, kolom = kelas acuan.

Kelas petaHutan alamTerbakarKelas lainJumlah
Hutan alam200020
Terbakar1010020
Enam kelas lainsemuanya tepat118
UkuranNilai
Akurasi keseluruhan0,915
Akurasi pengguna kelas Terbakar0,50
Akurasi produsen kelas Terbakar1,00
Luas terbakar: peta, terkoreksi, acuan2,64 ha; 1,44 ha (plus minus 0,54); 1,51 ha
Luas hutan alam: peta, terkoreksi, acuan6,87 ha; 8,07 ha (plus minus 0,54); 8,00 ha

[terbukti: dihitung dari data sintetis dengan sampel berbenih tetap]

Cara membaca hasil Peta B. Peta menandai 2,64 ha terbakar. Tetapi setengah titik "terbakar" yang diperiksa ternyata hutan biasa (akurasi pengguna 0,50), jadi luas sebenarnya hanya sekitar 1,44 ha, dengan rentang kira-kira 0,90 sampai 1,98 ha. Angka mentah peta hampir dua kali terlalu besar. Kunci jawaban (1,51 ha) memang berada di dalam rentang itu. Itulah gunanya koreksi luas: peta yang salah pun bisa memberi angka luas yang jujur, asalkan sampelnya baik. Menghitung piksel peta mentah tidak pernah jujur.

A.3 Kestabilan terhadap undian sampel

Sampel bisa diundi berkali-kali. Pada lima undian lain, akurasi keseluruhan Peta B berkisar 0,874 sampai 0,940, sedangkan Peta A 0,995 sampai 1,000. Rentang itu menjadi pengingat: satu angka akurasi hanyalah satu undian. Laporkan akurasi bersama ketidakpastiannya.

A.4 Dari uji acak ke uji yang jujur

Ingat Bab 6: uji silang acak memberi 0,995, sedangkan uji blok memberi 0,617. Sampel validasi yang baik tidak diambil dari tempat yang sama dengan titik latih, dan lebih baik lagi bila diambil secara independen oleh orang lain, dari sumber acuan yang berbeda.

Hasilnya: Anda bisa menjawab Kepala Seksi. "Peta pertama melebih-lebihkan bekas bakar. Pakai angka terkoreksi sekitar 1,4 ha dengan rentang 0,9 sampai 2,0 ha. Dengan fitur SWIR (Peta A), angkanya hampir tidak perlu dikoreksi."

#Bagian B: ArcGIS Pro

#Bagian B: ArcGIS Pro

Pro memiliki rantai alat khusus di ekstensi Spatial Analyst atau Image Analyst.

  1. Create Accuracy Assessment Points membuat titik sampel dari peta klasifikasi.
  2. Isi nilai kelas acuan pada field GrndTruth (lewat penafsiran citra atau survei). Update Accuracy Assessment Points menyalin kelas peta ke field Classified.
  3. Compute Confusion Matrix menghitung akurasi pengguna, akurasi produsen, dan indeks Kappa, dan keluarannya tabel. Menurut dokumentasi Esri, titik masukan harus punya field Classified dan GrndTruth. Dokumentasi Pro juga menyebut Intersection over Union dan akurasi keseluruhan.
  4. Koreksi luas (rumus Olofsson) tidak ada alatnya. Hitung sendiri di Python atau lembar kerja memakai rumus di atas. [CEK]

#Bagian C: ArcMap 10.8

#Bagian C: ArcMap 10.8

  1. Create Accuracy Assessment Points (Spatial Analyst Toolbox). Dokumentasi ArcMap menyebut tiga strategi sampel: Stratified Random (jumlah titik proporsional dengan luas kelas, bawaan), Equalized Stratified Random (jumlah titik sama di tiap kelas), dan Random. Untuk kelas langka, pilih Equalized Stratified Random.
  2. Compute Confusion Matrix: menghitung akurasi pengguna, akurasi produsen, dan Kappa. Titik harus punya field CLASSIFIED dan GROUND_TRUTH, dan lisensinya Spatial Analyst.
  3. Koreksi luas: hitung sendiri, seperti di Pro. [CEK]

#Cek paham

  1. Peta menandai 2,64 ha terbakar dan akurasi penggunanya 0,50. Mengapa luas sebenarnya sekitar separuhnya?
  2. Mengapa sampel validasi tidak boleh sama dengan titik latih?
  3. Apa beda akurasi pengguna dan akurasi produsen?

Jawaban:

  1. Separuh dari area yang ditandai terbakar ternyata bukan terbakar. Luas terkoreksi memperhitungkan itu.
  2. Model sudah "hafal" titik latih, sehingga nilai ujinya menjadi terlalu bagus dan tidak berarti.
  3. Akurasi pengguna: dari yang peta sebut kelas X, berapa yang benar. Akurasi produsen: dari yang sebenarnya kelas X, berapa yang peta temukan.

#Kesalahan umum

  • Melaporkan luas dari hitungan piksel peta mentah. Gunakan luas terkoreksi.
  • Hanya melaporkan akurasi keseluruhan. Kelas langka bisa buruk sementara angka keseluruhan tinggi.
  • Sampel terlalu sedikit di kelas langka. Rentang kepercayaan menjadi lebar.
  • Memakai acuan yang lebih lemah daripada peta. Acuan harus lebih tepercaya.
  • Mengulang uji sampai hasilnya bagus. Tetapkan rancangan sampel sebelum melihat hasil.

#Ringkasan dan latihan

Ringkasan: validasi memakai sampel acak berstrata dan acuan independen. Matriks kebingungan memberi akurasi pengguna dan produsen. Luas terkoreksi memperbaiki angka peta dan menyebut ketidakpastiannya.

Latihan:

  1. Jalankan Skrip 7.1. Ubah N_STRATUM menjadi 10, lalu 30. Bagaimana lebar rentang luas terbakar Peta B?
  2. Ubah benih acak di Skrip 7.1 dan jalankan beberapa kali. Berapa rentang akurasi keseluruhan?
  3. Hitung sendiri luas terkoreksi kelas Terbakar Peta B dari tabel matriks di atas, dengan rumus. Cocokkah?

#Tabel perbandingan: validasi

LangkahQGISArcGIS ProArcMap 10.8Status
Sampel acak berstrataRandom points in polygons atau skripCreate Accuracy Assessment PointsCreate Accuracy Assessment PointsQGIS: terbukti; Esri: dokumentasi ArcMap dibaca
Matriks kebingunganSkrip NumPyCompute Confusion MatrixCompute Confusion MatrixDokumentasi dibaca
Akurasi pengguna dan produsenSkrip NumPyCompute Confusion MatrixCompute Confusion MatrixDokumentasi dibaca
Luas terkoreksi dan rentangSkrip NumPyHitung sendiriHitung sendiriQGIS: terbukti

#Penutup seri: ceklis kesiapan menuju M4

Anda sudah menempuh satu alur lengkap pemantauan: susun, bersihkan, pahami musim, deteksi perubahan, klasifikasi, validasi. Sebelum membuka M4 (pengembangan dan publikasi), periksa diri:

  • Saya bisa menyusun deret waktu bertanggal dan menjelaskan mengapa waktu dihitung dalam hari.
  • Saya bisa membuang awan dan memeriksa jumlah pengamatan valid.
  • Saya bisa membedakan irama musiman dari perubahan sungguhan.
  • Saya bisa mendeteksi deforestasi dan kebakaran, dan menyebut tanggalnya sebagai rentang.
  • Saya bisa melatih model dan tahu mengapa uji acak terlalu optimis.
  • Saya bisa menyampaikan luas bersama ketidakpastiannya.

Di M4, semua ini dibungkus menjadi alat yang bisa dipakai orang lain: plugin, layanan web, dan dasbor pemantauan.