dengan menggunakan perangkat lunak ENVI disimpan dalam file .txt (Lampiran 1). File ini berisi informasi mengenai panjang gelombang dan nilai pantulan (reflectance) objek di permukaan bumi. Objek yang diperlukan dalam penelitian ini yaitu berupa tanaman padi, sedangkan nilai reflectance yang diperoleh merupakan pantulan dari semua objek yang ada di permukaan bumi, seperti tanah, air serta zat-zat yang menghalangi sensor di udara. Oleh karena itu, diperlukan proses eliminasi terhadap band yang memiliki derau (noise). Bootstrapping (8-fold) Tahap ini menghasilkan data pelatihan dan data pengujian berdasarkan metode bootstrapping (8-fold). Model yang digunakan diperoleh berdasarkan model yang memiliki nilai error terkecil. Semua data dibagi menjadi 8 subset yang terdiri dari data pelatihan dan data pengujian. Data pelatihan digunakan untuk pembuatan model pada SVR yang akan akan digunakan pada data pengujian. Support Vector Regression (SVR) Proses SVR menggunakan library SVM (LIBSVM) dapat dilihat pada Lampiran 2. Secara garis besar, koneksi yang dibuat seperti berikut : 1 LibSVM terdiri dari beberapa file berikut : a svm.h sebagai header file. b svm.cpp sebagai kode program bahasa C++. c svm-train.c dan svm-predict.c sebagai kode program bahasa C. 2 Membuat library file svm_train.exe dan svm_predict.exe menggunakan compiler Code::Blocks. 3 Memanggil fungsi library .exe dari IDL. Data pengujian yang dihasilkan pada proses sebelumnya akan digunakan sebagai input dari proses regresi menggunakan epsilon SVR dan menghasilkan suatu model beserta koefisien α untuk setiap support vector. Data dengan koefisien α bernilai 0, berarti data tersebut bukan merupakan support vector, sedangkan data dengan koefisien α tidak sama dengan 0, maka data tersebut merupakan support vector. Evaluasi Error Regresi akan menghasilkan nilai error yang dihitung menggunakan RMSE. RMSE tersebut digunakan sebagai evaluasi untuk hasil akhir. Terdapat aturan mengenai evaluasi error, yaitu jika RMSE yang dihasilkan lebih kecil dibandingkan RMSE sebelumnya, maka proses
feature selection menggunakan Recursive Feature Elimination masih dilakukan. Akan tetapi, jika RMSE yang dihasilkan lebih besar dibandingkan dengan RMSE sebelumnya, maka proses RFE-SVM selesai dan menghasilkan band yang terbaik pada data ini. Recursive Feature Elimination Seleksi fitur dilakukan dengan menghitung nilai weight yang menggunakan koefisien alpha (𝛼) hasil SVR. Band atau fitur yang memiliki nilai weight yang minimum akan dihapus. Oleh karena itu, proses SVR selanjutnya tidak mengikut sertakan band tersebut. Hasil akhir berupa peringkat band terbaik. Evaluasi Hasil Hasil prediksi padi akan dievaluasi dengan koefisien determinasi (R2), sedangkan keakuaratan hasil regresi akan dievaluasi dengan Root Mean Square Error (RMSE). Lingkungan Pengembangan Perangkat keras yang digunakan untuk penelitian yaitu: 1 2 3 4
Processor Intel Core2Duo 2.16 GHz. RAM 2 GB DDR 2. HDD kapasitas 200 GB. Monitor LCD 14.1” dengan resolusi 1280 x 800 piksel. 5 Mouse dan keyboard. Perangkat lunak yang digunakan untuk penelitian yaitu : 1 Sistem Operasi Microsoft Windows 7 Professional. 2 Interactive Data Language (IDL) versi 6.4.1 terdapat dalam ENVI 4.4 sebagai pengolahan data. 3 Code::Blocks 10 sebagai compiler C++ library SVM. 4 Notepad++ 4.2 dan Microsoft Excel sebagai editor data. HASIL DAN PEMBAHASAN Pra-proses Jumlah semua band sebanyak 126 band. Setelah dilakukan tahap pra-proses yang dilakukan oleh Piantari (2011), yaitu dengan menghilangkan band berupa derau serta adanya water absorption, menghasilkan band yang efektif digunakan sebanyak 109 band. Water absorption merupakan salah satu faktor yang mempengaruhi data hasil dari teknik penginderaan jauh, khususnya hyperspectral imaging. Atmosfer yang mengelilingi bumi terdiri dari gas berupa uap air dan berbagai gas
7
lainnya. Hal ini berpengaruh, ketika sensor hyperspectral mengirimkan transmisi gelombang elektromagnetik ke objek di bumi, maka pada rentang tertentu terdapat gelombang atau band yang terganggu oleh gas tersebut, sehingga gelombang elektromagnetik tersebut tidak sampai ke objek di bumi. Akan tetapi, gelombang tersebut diserap oleh uap air di atmosfer. Keadaan ini disebut dengan water absorption. Berdasarkan Lau (2004), terdapat beberapa gas yang menyerap radiasi dan menyebabkan noise pada data hymap (Tabel 2). Tabel 2 Penyerapan gas di atmosfer Gas H2O O2 CO2 O3
Absportion (μm) 0.94, 1.14, 1.38, 1.88 (Gao et al. 1993) 0.69, 0.72, 0.76 (Aspinall et al. 2002) 0.76, 0.6-1.3 (Gao et al. 1993) 2.01, 2.08 (Gao et al. 1993) 1.6, 2.005, 2.055 (Aspinall et al. 2002)
Tabel 3 Hasil dataset 8-fold train-test Dataset 1 2 3 4 5 6 7 8
RMSE
R2
1.027 1.722 1.161 1.336 0.326 0.966 1.762 1.175
0.168 0.184 0.499 0.861 0.97 0.046 0.167 0.046
Berdasarkan tabel tersebut, dataset ke-5 merupakan dataset yang memiliki nilai RMSE terkecil sebesar 0.326 dengan nilai korelasi R2 sebesar 0.97 mendekati nilai 1, berarti terdapat korelasi yang hampir sempurna. Oleh karena itu, dataset tersebut yang akan digunakan untuk proses selanjutnya. Gambar 8 menampilkan sebaran nilai yield aktual dan yield prediksi untuk data testing.
0.6 (Gao et al. 1993) 0.35, 9.6 (Aspinall et al. 2002)
N2O
2.0-2.5
CO
2.0-2.5
CH4
2.35 (Gao et al. 1993)
Band derau dan water absorption berada pada panjang gelombang antara 1359-1460 nm, 1774-1970 nm dan 2420-2500 nm. Jumlah data hymap disesuaikan dengan jumlah data yield aktual, sehingga dihasilkan sebanyak 34 data. Bootstrapping (8-fold) Keakuratan model suatu prediksi dilihat dari seberapa besar error yang dihasilkan antara nilai prediksi dan nilai aktual. Semakin kecil atau error mendekati nilai 0, maka keakuratan suatu model prediksi dapat dikatakan baik. Contoh pembagian dataset dapat dilihat pada Lampiran 3. Teknik ini menghasilkan dataset model yang terbaik dengan memilih nilai error terkecil, berdasarkan root mean square error (RMSE). Jumlah resampling data yang digunakan sebanyak 8 dataset. Setiap dataset terdiri dari data training dan data testing. Contoh bootstrapping (8-fold) pada data dengan 109 band pada Tabel 3.
RMSE = 0.336 R2 = 0.97
Gambar 8 Grafik sebaran yield terbaik. Implementasi RFE-SVR Penggunaan Recursive Feature Elimination -Support Vector Machine (RFE-SVR) pada data hyperspectral melibatkan beberapa parameter, seperti γ (Gamma), toleransi epsilon, serta koefisien penalti C. Selain ketiga parameter tersebut, terdapat beberapa kernel yang dipakai, yaitu kernel linear, kernel polinomial, kernel radial basis function (RBF) dan kernel sigmoid. Parameter 𝜸 (Gamma), epsilon, C Penentuan parameter epsilon digunakan sebagai toleransi akurasi terhadap data training. Konstanta C menentukan trade off antara ketipisan fungsi f pada SVR. Pemilihan nilai parameter tersebut berpengaruh terhadap model dari SVR yang akan dipakai. Model SVR yang baik adalah model dengan nilai error terkecil dan nilai determinasi R2 yang mendekati satu.
8
0.8 0.7 0.6 0.5 0.4 0.3 0.2 0.1 0.0 Ԑ=
0.8
(a)
0.7 0.6 0.5 0.4 0.3
0.2 0.1 0.0
0.01 0.03 0.13 0.50 2.00 8.00 16.00 Gamma ɣ 2 8 128 512 1024
C=
(b) 0.8 0.7 0.6 RMSE
RMSE
Nilai epsilon yang semakin kecil, maka toleransi error yang dibatasi kecil juga. Sebaliknya, nilai epsilon yang besar, maka toleransi error yang dibatasi besar pula. Pemilihan epsilon dilakukan dengan metode trial and error. Nilai epsilon tidak terlalu berpengaruh terhadap model yang dihasilkan. Hasil percobaan penggunaan beberapa parameter epsilon dapat dilihat pada Gambar 9.
yang terlalu kecil terlalu memperhatikan nilai penalti dalam SVR.
RMSE
Penelitian ini mencoba beberapa penggunaan parameter tersebut sampai dihasilkan model terbaik. Suatu model dikatakan baik apabila data pelatihan yang di training serta testing menggunakan data yang sama dengan training memiliki nilai error mendekati nilai 0 dan koefisien determinasi R2 mendekati nilai satu.
0.5 0.4 0.3 0.2 0.1 0.0
C=8 0.001
C=128 0.01
C=1024 0.07 1
Gambar 9 Perbandingan epsilon. Grafik tersebut memperlihatkan penggunaan beberapa epsilon yang dilihat berdasarkan nilai RMSE. Pemilihan epsilon mempertimbangkan koefisien determinasi R2 juga. Nilai epsilon yang baik yaitu epsilon (Ԑ) < 1. Epsilon yang digunakan yaitu 0.07. Hasil selengkapnya dapat dilihat pada Lampiran 4. Percobaan yang sama dilakukan terhadap koefisien C dan parameter gamma (𝛾). Hasil untuk koefisien C pada Gambar 10a. Hasil dengan error minimum terdapat pada koefisien C sebesar 27- 210 (128-1024). Kemudian dilakukan pencarian ulang antara rentang tersebut dan didapatkan hasil pada Gambar 10b. Berdasarkan grafik tersebut dapat dilihat nilai C yang besar menghasilkan error yang kecil. Akan tetapi, tidak terlalu banyak perubahan nilai error-nya. Koefisien C yang ditetapkan yaitu sebesar 210.5 (1448.2).
C=
0.01 0.03 0.13 0.50 2.00 8.00 16.00 Gamma ɣ 181.02 256 362.04 512 724.08 1448.2
Gambar 10 Perbandingan koefisien C. Parameter gamma ɣ digunakan dalam pembentukan kernel radial basis function (RBF) dan kernel sigmoid pada pemetaan data dari dimensi yang rendah ke dimensi yang lebih tinggi. Hasil pemilihan gamma pada rentang 2-724 dapat dilihat pada Gambar 11a. Grafik 11a memperlihatkan gamma dengan error kecil pada rentang 23 – 24 (8-16), sehingga dilakukan pemilihan rentang yang lebih kecil lagi. Kurva pada Gambar 11b berhimpit antara perhitungan menggunakan beberapa gamma. Akan tetapi, nilai gamma lebih dari 12.34 dengan nilai C mulai dari 128 menghasilkan nilai yang sama. Oleh karena itu, gamma yang dipilih sebesar 11.31. Perhitungan hasil selengkapanya dapat dilihat pada Lampiran 5.
Hal penting dalam Support Vector Regression yaitu memaksimumkan margin pada prediksi data. Nilai C yang terlalu besar tidak memperhatikan perubahan maksimum margin, sehingga C yang terlalu besar menghasilkan nilai error yang konstan. Sedangkan, nilai C
9
(a)
0.8 0.7
RMSE
0.6 0.5 0.4 0.3 0.2 0.1
0.0
ɣ=
Koefisien C 0.5 2
0.125
8
16
(b)
0.8 0.7
RMSE
0.6 0.5 0.4 0.3 0.2 0.1
Gambar 12 Perbandingan jumlah band terhadap error dan weight kernel linear.
0.0 0.125 0.5
ɣ=
2
8.72 11.31
8 32 128 512 1024 Koefisien C 9.51 10.37 12.34 13.45
Gambar 11 Perbandingan parameter gamma. Penggunaan Kernel Kernel yang digunakan dalam RFE-SVR menentukan keakuratan pembuatan model suatu prediksi sehingga memperoleh error yang seminimum mungkin. Penggunaan kernel bertujuan untuk memetakan data ke dimensi yang lebih tinggi supaya dapat dipisahkan secara linear. Oleh karena itu, perhitungan dengan beberapa kernel digunakan untuk memperoleh kernel yang cocok terhadap data hyperspectral ini. a Kernel Linear Kernel linear merupakan kernel yang paling sederhana. Perhitungan kernel tidak melibatkan parameter gamma. Oleh karena itu, hanya digunakan koefisien epsilon 𝜀 dan penalti C dalam proses SVR. Hasil pengurangan band terhadap error menggunakan kernel ini dapat dilihat pada Gambar 12.
Penggunaan kernel linear tidak cocok dengan seleksi fitur RFE. Hal ini terbukti pada saat pengurangan fitur dari 109 band sampai satu band, error yang dihasilkan tidak menurun, tetapi berlaku sebaliknya. Akan tetapi, pengurangan band terhadap weight berlaku sesuai teori, ketika jumlah band berkurang, maka nilai weight meningkat. Hal ini dikarenakan, fitur yang dibuang adalah fitur yang memiliki w minimum. Nilai RMSE semua band yaitu sebesar 0.5666 dengan R2 sebesar 0.5022, sedangkan pada akhir iterasi satu band menghasilkan RMSE yang lebih besar yaitu 0.7901 dengan R2 yang jauh lebih kecil yaitu 0.0551. Nilai error ini secara kenyataan di lapangan berpengaruh sebesar 0.5666 ton yield per hektar. Gambar 13 menunjukkan sebaran nilai yield prediksi terhadap nilai yield aktual pada kernel linear. Sesuai dengan nilai R2 yang diperoleh, sebaran tidak berkumpul ke garis linear, masih terdapat data pencilan yang tidak dapat diprediksi dengan baik.
10
sebaran prediksi yield terhadap nilai yield aktual dengan R2 yang sangat kecil. Hasil prediksi menggunakan kernel sigmoid tidak menunjukkan adanya keterkaitan antara yield prediksi dan yield aktual, sehingga error yang dihasilkan cukup besar.
RMSE = 0.5666 R2 = 0.5022
Gambar 13 Sebaran prediksi yield kernel linear. b Kernel Sigmoid Pengujian menggunakan kernel sigmoid memerlukan koefisien C dan parameter 𝛾 pada pemetaan input space ke feature space. Penggunaan kernel sigmoid sama dengan kernel linear, tidak menghasilkan pengurangan band. Nilai RMSE tidak berkurang seiring dengan naiknya weight pada perhitungan RFE (Gambar 14).
RMSE = 0.7958 R2 = 0.0239
Gambar 15 Sebaran prediksi yield kernel sigmoid. c Kernel Radial Basis Function Pemetaan pada kernel Radial Basis Function (RBF) membutuhkan parameter gamma 𝛾. Parameter 𝛾 ini menentukan tebal atau tipisnya jarak antara support vector dengan hyperplane. Parameter 𝛾 yang telah dipilih, yaitu sebesar 11.31 dan C = 1448.2. Hasil menggunakan kernel RBF terdapat pengurangan band sebanyak 39 band (Gambar 16). Metode RFE-SVR dengan kernel ini mendapatkan band optimal sebanyak 70 band dengan RMSE sebesar 0.0901 dan R2 sebesar 0.9874. Perubahan nilai RMSE berkurang seiring dengan berkurangnya jumlah band. Akan tetapi, pada saat pengurangan jumlah band tertentu, nilai RMSE kembali meningkat. Hal ini mengindikasikan bahwa pada jumlah band tersebut, band sudah tidak dapat dikurangi lagi. Penggunaan kernel RBF ini menghasilkan RMSE = 0.0901 yang berarti prediksi yield setiap hektar di lapangan, terdapat kesalahan seberat 0.0901 ton.
Gambar 14 Perbandingan jumlah band terhadap error dan weight kernel sigmoid. Nilai RMSE saat 109 band yaitu sebesar 0.7958 yang berarti secara riil di lapangan terdapat perbedaan sebanyak 0.7958 ton/ha, dengan R2 yang kecil sebesar 0.0239. Nilai RMSE yang seharusnya turun, saat iterasi terakhir diperoleh hasil yang sebaliknya dengan nilai RMSE = 79.7637 atau setara 79.7637 ton/ha dan R2 = 0.038. Gambar 15 merupakan
11
Gambar 16 Perbandingan jumlah band terhadap error dan weight kernel RBF. Sebaran nilai yield prediksi terhadap nilai yield aktual pada kernel RBF dapat dilihat di Gambar 17. Berdasarkan nilai R2 yang mendekati angka 1, sebaran data berkumpul ke satu garis, meskipun ada beberapa data yang masih diluar garis, sehingga masih ada error sebesar RMSE = 0.0901. Akan tetapi, sebaran prediksi yang diperoleh sudah cukup baik dari pemilihan kernel lainnya. Gambar 18 Perbandingan jumlah band terhadap error dan weight kernel Polinomial. Gambar 19 menunjukkan sebaran nilai prediksi yield terhadap nilai yield aktual. Data sebaran cukup baik karena data berkumpul di satu garis, meskipun ada beberapa data jauh dari kumpulan data lainnya karena data tersebut tidak dapat diprediksi dengan baik. RMSE 0.0901 R2 = 0.9874
Gambar 17 Sebaran prediksi yield kernel RBF. d Kernel Polinomial Kernel polinomial yang digunakan yaitu berderajat tiga. Hasil training dengan 109 band memperoleh nilai RMSE sebesar 0.3857 dan R2 sebesar 0.8014 (Gambar 18). Pengujian kernel polinomial dengan RFE-SVR hanya berkurang 17 band sehinga hasil akhir yang tersisa sebanyak 92 band optimal dengan RMSE = 0.3055 dan R2 = 0.8754. RMSE sebesar 0.3055 setara dengan kesalahan seberat 0.3055 ton/ha di lapangan.
RMSE = 0.3857 R2 = 0.8754
Gambar 19 Sebaran prediksi yield kernel polinomial. Simpang Error Selain menggunakan error RMSE, pengujian RFE-SVR pada data hyperspectral ini mencoba beberapa penerapan kaidah error dalam tiga bentuk norm. Berdasarkan pengujian sebelumnya, kernel terbaik yang digunakan yaitu kernel RBF. Oleh karena itu, pengujian terhadap bentuk norm dilakukan pada kernel RBF saja.
12