Muhammad Ichsan - RTGC - LAGeostat4 [PDF]

  • 0 0 0
  • Suka dengan makalah ini dan mengunduhnya? Anda bisa menerbitkan file PDF Anda sendiri secara online secara gratis dalam beberapa menit saja! Sign Up
File loading please wait...
Citation preview

LAPORAN PRAKTIKUM GEOSTATISTIKA TG 3202



MODUL KE – 4 Estimasi Spasial dengan Simple dan Ordinary Kriging



Oleh: Muhammad Ichsan



12117143



Asisten : Oktaria Futri Ilham



12116089



Muhammad Fadhilah Harahap



12116084



Gita Rusmala



12116090



Helen Zetri



12116014



Adelia Gita Parera



12116123



Fira Pratiwi Darsono



12117151



Dita Aprilia Hutabalian



12116033



Safna Ramadhani



12116096



Mikha Parasian GT



12116042



PROGRAM STUDI TEKNIK GEOFISIKA JURUSAN TEKNIK MANUFAKTUR DAN KEBUMIAN INSTITUT TEKNOLOGI SUMATERA 2019/2020



I.



Tujuan Tujuan praktikum pada Modul 4. Estimasi Spasial dengan Simple dan Ordinary Kriging antara lain, yaitu: Memahami prosedur perhitungan gridding dengan Kriging.



II.



Teori Dasar Statistika merupakan cara-cara tertentu yang digunakan dalam mengumpulkan, menyusun, atau mengatur, menyajikan, menganalisa dan memberi interpretasi terhadap sekumpulan data, sehingga kumpulan bahan keterangan dapat memberi pengertian dan makna tertentu. Seperti pengambilan kesimpulan, membuat estimasi dan juga prediksi yang akan datang. Pada modul kali ini, pembahasannya untuk melakukan Estimasi Spasial dengan Simple dan Ordinary Kriging. Metode kriging adalah teknik untuk mengoptimalisasi estimasi suatu titik dengan menggunakan semivariogram dan sekumpulan data yang aktual. Ordinary Kriging merupakan metode Geostatistika yang digunakan untuk memprediksi data dari Lokasi tertentu. Pada metode tersebut mengira bahwa suatu variabel dari suatu titik tertentu dapat dilakukan dengan cara mengamati data yang sejenis dari suatu daerah. Tujuan dari metode Kriging yaitu menentan nilai faktor bobot untuk meminimalkan



variansi



dari



estimator.



Selain



itu,



dalam



Kriging



dapat



memperhitungkan efek anisotropi, yaitu sesuatu yang tidak dapat dilakukan oleh operator interpolasi lainnya. Maka dari itu, hasil dari Interpolasi kriging lebih unggul dan lebih realistis dibandingkan dengan yang lainnya. III.



Pengolahan Data 3.1. Langkah Kerja •



Script Soal 1A



#Muhammad Ichsan 12117143 import numpy as np from numpy.linalg import inv #00_inisiasi data, menyimpan koordinat dalam array data_obs = np.array([[0,0,20],[0,0,50],[0,0,30],[0,0,100]]) distance = [10,10,20,20]



#01 persamaan variogram teoritis var =lambda L:50 * (1-np.exp(-3 * L/100)) #02 membentuk covariansi data_obs N=4 C_left = np.zeros((N,N)) C_right = np.zeros((N,1)) C_0 = 50 for i in range (N):     for j in range (N):         if i == j:             C_left[i,j] = C_0         elif i == 0 :             L_left = [0,20,10,np.sqrt(500)]             gamma = var(L_left[j])             C_left[i,j] = C_0 - gamma         elif i == 1 :             L_left = [20,0,np.sqrt(500),10]             gamma = var(L_left[j])             C_left[i,j] = C_0 - gamma         elif i == 2 :             L_left = [10,np.sqrt(500),10,40]             gamma = var(L_left[j])             C_left[i,j] = C_0 - gamma         elif i == 3 :             L_left = [np.sqrt(500),10,40,0]             gamma = var(L_left[j])             C_left[i,j] = C_0 - gamma     L_right = distance[i]     C_right [i,0] = C_0 - var(L_right) #03 hitung Z_0 dengan ordinary kriging lmda = inv(C_left@C_left.T)@C_left.T@C_right lmda_0 = (1-np.sum(lmda)) z_0 = lmda_0 + np.sum(lmda*data_obs[:,2].reshape(N,1)) variansi = C_0 - np.sum(lmda*C_right) print ('z_0 simple kriging:', z_0) print('Variansi simple kriging:', variansi) #04 C_left = np.hstack ((C_left, np.ones((N,1)))) C_left = np.vstack ((C_left, np.ones((1, N+1)))) C_left [-1,-1]=0 C_right = np.vstack((C_right,1)) lmda = inv (C_left@C_left.T)@C_left.T@C_right



lmda_0 = (1-np.sum(lmda[:-1,0])) z_0 = lmda_0 +np.sum(lmda[:-1,0]*data_obs[:,2]) miu = lmda [-1,0] variansi = C_0 - np.sum(lmda[:-1,0]*C_right[:-1,0]) - miu print ('z_0 ordinary kriging:', z_0) print('variansi ordinary kriging:', variansi)







Script Soal 1B



#Muhammad Ichsan 12117143 import numpy as np from numpy.linalg import inv #00_inisiasi data, menyimpan koordinat dalam array data_obs = np.array([[0,0,20],[0,0,50],[0,0,30],[0,0,100]]) distance = [10,10,20,20] #01 persamaan variogram teoritis var =lambda L:50 * (1-np.exp(-3 * L/100)) #02 membentuk covariansi data_obs N=4 C_left = np.zeros((N,N)) C_right = np.zeros((N,1)) C_0 = 50 for i in range (N):     for j in range (N):         if i == j:             C_left[i,j] = C_0         elif i == 0 :             L_left = [0,20,10,30]             gamma = var(L_left[j])             C_left[i,j] = C_0 - gamma         elif i == 1 :             L_left = [20,0,30,10]             gamma = var(L_left[j])             C_left[i,j] = C_0 - gamma         elif i == 2 :             L_left = [10,30,10,40]             gamma = var(L_left[j])             C_left[i,j] = C_0 - gamma         elif i == 3 :             L_left = [30,10,40,0]             gamma = var(L_left[j])             C_left[i,j] = C_0 - gamma     L_right = distance[i]



    C_right [i,0] = C_0 - var(L_right) #03 hitung Z_0 dengan ordinary kriging lmda = inv(C_left@C_left.T)@C_left.T@C_right lmda_0 = (1-np.sum(lmda)) z_0 = lmda_0 + np.sum(lmda*data_obs[:,2].reshape(N,1)) variansi = C_0 - np.sum(lmda*C_right) print ('z_0 simple kriging:', z_0) print('Variansi simple kriging:', variansi) #04 C_left = np.hstack ((C_left, np.ones((N,1)))) C_left = np.vstack ((C_left, np.ones((1, N+1)))) C_left [-1,-1]=0 C_right = np.vstack((C_right,1)) lmda = inv (C_left@C_left.T)@C_left.T@C_right lmda_0 = (1-np.sum(lmda[:-1,0])) z_0 = lmda_0 +np.sum(lmda[:-1,0]*data_obs[:,2]) miu = lmda [-1,0] variansi = C_0 - np.sum(lmda[:-1,0]*C_right[:-1,0]) - miu print ('z_0 ordinary kriging:', z_0) print('variansi ordinary kriging:', variansi)







Script Soal 2A



#Muhammad Ichsan 12117143 import numpy as np import matplotlib.pyplot as plt import pykrige.kriging_tools as kt from pykrige.ok import OrdinaryKriging from pykrige.uk import UniversalKriging #00_Import data data = np.loadtxt('data_magnetik.txt', skiprows = 1) X = data [:, 0 ] Y = data [:, 1 ] T = data [:, 2 ] #01_definisi grid UTM X dan UTM Y, yang ingin diinterpolasi dx,dy = 20, 20 gridx = np.arange(X.min(), X.max(),dx) gridy = np.arange(Y.min(), Y.max(),dy)



#02_melakukan interpolasi dengan menggunakan Ordinary Kriging ## variogram_model='linear', merupakan model variogram dapat diubah 



OK = OrdinaryKriging(X,Y,T, variogram_model = 'hole-effect', verbose = Tr ue,                      enable_plotting = True) z, ss  = OK.execute('grid', gridx, gridy) #03_Simpan titik interpolasi ke dalam ASCII data  kt.write_asc_grid(gridx, gridy, z, filename = "OKinterpolasi.asc") #03_Ploting hasil interpolasi plt.figure(1) plt.imshow(z,cmap = 'jet', aspect = 'auto', origin = 'lower', extent = [X .min(),X.max(), Y.min(), Y.max()]) plt.xlabel ('UTM X') plt.ylabel ('UTM Y') plt.colorbar (label = 'Tobs [mT]') plt.show()







Script Soal 2B



#Muhammad Ichsan 12117143 import numpy as np import matplotlib.pyplot as plt import pykrige.kriging_tools as kt from pykrige.ok import OrdinaryKriging from pykrige.uk import UniversalKriging #00_Import data data = np.loadtxt('data_magnetik.txt', skiprows=1) X = data[:, 0]  Y = data[:, 1]  T = data[:, 2]  #01_definisi grid UTM X dan UTM Y, yang ingin di interpolasi dx, dy = 20,20 #dx, dy merupakan lebar grid gridx = np.arange(X.min(), X.max(), dx) gridy = np.arange(Y.min(), Y.max(), dy) #02_melakukan interpolasi dengan menggunakan Ordinary Kriging ## variogram_model = 'linear', merupakan model variogram dapat diubah UK = UniversalKriging(X, Y, T, variogram_model='hole-effect',                         drift_terms=['regional_hole-effect'],) z, ss = UK.execute('grid', gridx, gridy) #03_Simpan titik interpolasi kedalam ASCII data kt.write_asc_grid(gridx, gridy, z, filename="OKInterpolasi.asc") #03_Plotting hasil interpolasi plt.figure(1) plt.imshow(z,cmap='jet', aspect='auto', origin ='lower', extent=[X.min(),



                X.max(), Y.min(), Y.max()]) plt.xlabel('UTM X') plt.ylabel('UTM Y') plt.colorbar(label='Tobs [mT]') plt.show()







Script Soal 3A



#Muhammad Ichsan 12117143 import numpy as np import matplotlib.pyplot as plt import pykrige.kriging_tools as kt from pykrige.ok import OrdinaryKriging from pykrige.uk import UniversalKriging #00_Import data data = np.loadtxt('data_magnetik2.txt', skiprows = 1) X = data [:, 0 ] Y = data [:, 1 ] T = data [:, 2 ] #01_definisi grid UTM X dan UTM Y, yang ingin diinterpolasi dx,dy = 20, 20 gridx = np.arange(X.min(), X.max(),dx) gridy = np.arange(Y.min(), Y.max(),dy)



#02_melakukan interpolasi dengan menggunakan Ordinary Kriging ## variogram_model='linear', merupakan model variogram dapat diubah  OK = OrdinaryKriging(X,Y,T, variogram_model = 'hole-effect', verbose = Tr ue,                      enable_plotting = True) z, ss  = OK.execute('grid', gridx, gridy) #03_Simpan titik interpolasi ke dalam ASCII data  kt.write_asc_grid(gridx, gridy, z, filename = "OKinterpolasi.asc") #03_Ploting hasil interpolasi plt.figure(1) plt.imshow(z,cmap = 'jet', aspect = 'auto', origin = 'lower', extent = [X .min(),X.max(), Y.min(), Y.max()]) plt.xlabel ('UTM X') plt.ylabel ('UTM Y') plt.colorbar (label = 'Tobs [mT]') plt.show()







Script Soal 3B



#Muhammad Ichsan import numpy as np



import matplotlib.pyplot as plt import pykrige.kriging_tools as kt from pykrige.ok import OrdinaryKriging from pykrige.uk import UniversalKriging #00_Import data data = np.loadtxt('data_magnetik2.txt', skiprows=1) X = data[:, 0] #load UTM X, ke variabel X Y = data[:, 1] #load UTM Y, ke variabel Y T = data[:, 2] #load UTM T, ke variabel T #01_definisi grid UTM X dan UTM Y, yang ingin di interpolasi dx, dy = 20,20 #dx, dy merupakan lebar grid gridx = np.arange(X.min(), X.max(), dx) gridy = np.arange(Y.min(), Y.max(), dy) #02_melakukan interpolasi dengan menggunakan Ordinary Kriging ## variogram_model = 'linear', merupakan model variogram dapat diubah UK = UniversalKriging(X, Y, T, variogram_model='hole-effect',                         drift_terms=['regional_hole-effect'],) z, ss = UK.execute('grid', gridx, gridy) #03_Simpan titik interpolasi kedalam ASCII data kt.write_asc_grid(gridx, gridy, z, filename="OKInterpolasi.asc") #03_Plotting hasil interpolasi plt.figure(1) plt.imshow(z,cmap='jet', aspect='auto', origin ='lower', extent=[X.min(),                 X.max(), Y.min(), Y.max()]) plt.xlabel('UTM X') plt.ylabel('UTM Y') plt.colorbar(label='Tobs [mT]') plt.show()



3.2. Langkah Kerja Adapun langkah pengerjaan sebagai berikut: 1.



Siapkan IDE Visual Studio Code, Pycharm atau yang lainnya.



2.



Pastikan modul yang akan digunakan sudah terinstal semuanya, yaitu pada kali ini menggunakan modul numpy, matplotlib.pyplot, dan pykrige.



3.



Setelah itu pastikan kembali data data_magnetik; data_magnetik2; yang telah diberikan asisten praktikum tersimpan dengan satu file script .py yang akan digunakan.



4.



Konfigurasi A dan B 



Import modul yang digunakan



5.







Masukkan data dan menyimpan koordinat







Masukkan persamaan variogram







Membentuk covarians data observasi







Menghitung z_0 dengan ordinary kriging







Print hasil



Ordinary Kriging dan Universal Kriging “data_magnetik” 



Import modul yang digunakan







Import data







Mendefinisikan grid UTM X dan UTM Y







Melakukan interpolasi dengan menggunakan Ordinary Kriging dan disini akan diubah variogram model menjadi yang akan digunakan



6.







Menyimpan titik interpolasi dalam data ASCII







Plot hasil interpolasi



Ordinary Kriging dan Universal Kriging “data_magnetik2” 



Import modul yang digunakan







Masukkan data yang akan digunakan







Menetukan nilai grid UTM X dan UTM Y







Melakukan interpolasi dengan menggunakan Ordinary Kriging dan disini akan diubah variogram model menjadi yang akan digunakan



IV.







Menyimpan titik interpolasi dalam data ASCII







Plot hasil interpolasi



Hasil dan Analisis •



Output Soal 1A







Output Soal 1B







Output Soal 2A (Ordinary Kriging) -



Linear



Gambar 1. Variogram Model



Gambar 2. Plot Interpolasi -



Power



Gambar 3. Variogram Model



Gambar 4. Plot Interpolasi -



Gaussian



Gambar 5. Variogram Model



Gambar 6. Plot Interpolasi -



Spherical



Gambar 7. Variogram Model



Gambar 8. Plot Interpolasi



-



Eksponential



Gambar 9. Variogram Model



Gambar 10. Plot Interpolasi -



Hole-Effect



Gambar 11. Variogram Model



Gambar 12. Plot Interpolasi •



Output Soal 2B (Universal Kriging) -



Linear



Gambar 13. Plot Interpolasi



-



Power



-



Gaussian



Gambar 14. Plot Interpolasi



Gambar 15. Plot Interpolasi -



Spherical



Gambar 16. Plot Interpolasi



-



Exponential



-



Hole-Effect



Gambar 17. Plot Interpolasi



Gambar 18. Plot Interpolasi •



Output Soal 3A (Ordinary Kriging) -



Linear



Gambar 19. Variogram Model



Gambar 20. Plot Interpolasi -



Power



Gambar 21. Variogram Model



Gambar 22. Plot Interpolasi -



Gaussian



Gambar 23. Variogram Model



Gambar 24. Plot Interpolasi



-



Spherical



Gambar 25. Variogram Model



Gambar 26. Plot Interpolasi -



Exponential



Gambar 27. Variogram Model



Gambar 28. Plot Interpolasi -



Hole-Effect



Gambar 29. Variogram Model



Gambar 30. Plot Interpolasi •



Output Soal 3B (Universal Kriging) -



Linear



-



Power



Gambar 31. Plot Interpolasi



Gambar 32. Plot Interpolasi



-



Gaussian



Gambar 33. Plot Interpolasi -



Spherical



Gambar 34. Plot Interpolasi -



Exponential



Gambar 35. Plot Interpolasi



-



Hole-Effect



Gambar 36. Plot Interpolasi Analisis Pada Soal nomor 1 dilakukan perbandingkan ketidakpastian antara konfigurasi (a) dan (b) antara Simple dan Ordinary Kriging. Dengan menggunakan model eksponensial sehingga terjadi peningkatan dalam semivariogram yang sangat curam dan mencapai nilai sill secara asimtotik. Simple Kriging (SK) memiliki asumsi bahwa rata-rata (mean) diketahui dan bernilai konstan sedangkan Ordinary Kriging (OK) memiliki asumsi bahwa rata-rata (mean) tidak diketahui dan bernilai konstan. Hal inilah yang menyebabkan error variance dari Ordinary Kriging lebih besar dibandingkan Simple Kriging. Pada soal 2 dilakukan analisa model variogram yang dihasilkan. Model variogram tersebut berupa variogram Linear, Power, Gaussian, Spherical, Exponential, dan HoleEffect. Dari model variogram tersebut dipilih model linear sebagai model terbaik. Dari penggunaan kriging baik Ordinary Kriging maupun Universal Kriging tidak menjadi kendala dan menghasilkan interpolasi yang mirip. Hal ini dikarenakan data memiliki kecenderungan trend yang cukup baik. Pada soal 3 dilakukan analisa model variogram yang dihasilkan. Model variogram tersebut berupa variogram Linear, Power, Gaussian, Spherical, Exponential, dan HoleEffect. Dari model variogram tersebut dipilih model hole-effect sebagai model terbaik. Dari penggunaan kriging baik Ordinary Kriging maupun Universal Kriging tidak menjadi kendala dan menghasilkan interpolasi yang mirip. Hal ini dikarenakan data memiliki kecenderungan trend yang cukup baik. Data mempunyai kecenderungan



tertentu yaitu terdapat pola perubahan rata-rata seiring dengan berbedanya lokasi, sehingga sifat second-order stationarity (stasioner orde dua) tidak berlaku. Kriging digunakan untuk mengestimasi besarnya nilai karakteristik Z pada titik tersampel berdasarkan informasi dan karakteristik titik-titik tersampel yang berada di sekitarnya dengan mempertimbangkan korelasi spasisal yang ada dalam data tersebut. Kriging menghasilkan estimator tidak bias terbaik efisien linear unbiased estimation (BLUE)



dari variabel yang ingin diketahui nilainya. Regresi hanya mampu



memperlihatkan hubungan antara satu atau lebih peubah/variabel bebas (X) dengan satu peubah tak bebas (Y). Hasil prediksi kriging lebih akurat daripada metode regresi. Sebab metode ini mampu membaca error yang berkorelasi, sehingga dapat diketahui nilai kedekatannya. V.



Kesimpulan Pada praktikum kali ini dapat diambil kesimpulan, yaitu: 1.



Error variance dari Ordinary Kriging lebih besar dibandingkan Simple Kriging.



2.



Simple Kriging (SK) memiliki asumsi bahwa rata-rata (mean) diketahui dan bernilai konstan



3.



Ordinary Kriging (OK) memiliki asumsi bahwa rata-rata (mean) tidak diketahui dan bernilai konstan



4.



Universal Kriging dapat diterapkan pada data yang mempunyai kecenderungan trend tertentu atau data yang non-stasioner.



5.



Hasil prediksi kriging lebih akurat daripada metode regresi. DAFTAR PUSTAKA



Dajan, Anto. (1995). Pengantar Metode Statistik Jilid I. Jakarta: LP3S. Bailey, Kenneth D. (1994). Methods of Social Research. 4th ed. New York: The Free Press Modul Praktikum Geostatistika Geofisika: Institut Teknologi Sumatera



LAMPIRAN



SS SCRIPT SOAL 1A



SS SCRIPT SOAL 1B



SS SCRIPT SOAL 2A



SS SCRIPT SOAL 2B



SS SCRIPT SOAL 3A



SS SCRIPT SOAL 3B