Anda di halaman 1dari 14

LAPORAN PRAKTIKUM

GEOSTATISTIKA TG 3202

MODUL KE – 2
STATISTIKA DASAR 2
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 TEKNOLOGI PRODUKSI DAN INDUSTRI
INSTITUT TEKNOLOGI SUMATERA
2019/2020
I. Tujuan

Tujuan praktikum pada Modul 2. Statistika Dasar 2 antara lain, yaitu:


Mahasiswa dapat menjelaskan auto-korelasi, cross-korelasi dan regresi serta dapat
menggunakannya untuk menyelesaikan permasalahan kebumian.

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 dating.
Ruang lin
induktif atau statistic inferensial. Ststistikdeskriptif terdiri menghimpun data, menyusun
data, mengolah, menyajikan dan menganalisa data angka. Sedangkan statistik
inferensial atau statistik induktif adalah meliputi teori probability, distribusi teoritis,
distribusi sampling, penaksiran, pengujian hipotesa korelasi, komparasi, dan regresi.
Sumber d
bersangkutan dan biasanya disebut data primer. Dan data juga dapat diperoleh dari
pihak lain atau data yang sudah ada disebut dengan data sekunder.

Berikut beberapa pengertian statistik univarian dan bivarian:

a. Auto-Korelasi
Peristiwa atau observasi pada suatu interval tertentu, kadang terulang pada interval
yang sama di tempat lain. Pengulangan ini bisa memberikan taksiran bahwa pola
observasi mengikuti suatu siklus atau periodik tertentu. Pengulangan dalam suatu
sekuen data dapat dihitung dari pengukuran kesamaan dengan dirinya sendiri pada
sekuen tersebut (autocorrelation).

b. Cross-Korelasi
Untuk melihat keterkaitan antara 2 kelompok data pada level waktu yang sama kita
bisa membandingkan antara 2 data ini, dimana letak titik yang memiliki ekivalensi
maksimum, kemudian kita juga bisa menghitung strength of relationship-nya
menggunakan cross-correlation

c. Regressi
Analisa regresi dapat dilakukan untuk mengetahui kecenderungan tendency data.
Kecenderungan ini kemudian dapat digunakan untuk melakukan interpolasi antara
data, ekstrapolasi nilai di luar sekuen data atau karakteristik kecenderungan urutan
data yang bisa saja memiliki arti secara geologi.

III. Pengolahan Data

3.1. Langkah Kerja


• Script Soal 1 (Regresi Polinomial)

# Muhammad Ichsan 12117143
import numpy as np
import matplotlib.pyplot as plt

data = np.loadtxt("koreksiharian.txt", skiprows=1)
x = data[:, 0]
y = data[:, 1]

or1 = np.polyfit(x, y, 1)
or2 = np.polyfit(x, y, 2)
or3 = np.polyfit(x, y, 3)
or4 = np.polyfit(x, y, 4)
or5 = np.polyfit(x, y, 5)
or6 = np.polyfit(x, y, 6)
or7 = np.polyfit(x, y, 7)
or8 = np.polyfit(x, y, 8)

yorde1 = or1[0] * x + or1[1]
yorde2 = or2[0] * (x ** 2) + or2[1] * x + or2[2]
yorde3 = or3[0] * (x * 3) + or3[1] * (x * 2) + or3[2] * x + or3[3]
yorde4 = or4[0] * (x * 4) + or4[1] * (x * 3) + or4[2] * (x ** 2) + or4[3] 
* x + or4[4]
yorde5 = or5[0] * (x * 5) + or5[1] * (x * 4) + or5[2] * (x * 3) + or5[3] 
* (x * 2) + or5[4] * x + or5[5]
yorde6 = or6[0] * (x * 6) + or6[1] * (x * 5) + or6[2] * (x * 4) + or6[3] 
* (x * 3) + or6[4] * (x ** 2) + or6[
    5] * x + or6[6]
yorde7 = or7[0] * (x * 7) + or7[1] * (x * 6) + or7[2] * (x * 5) + or7[3] 
* (x * 4) + or7[
    4] * (x * 3) + or7[5] * (x * 2) + or7[6] * x + or7[7]
yorde8 = or8[0] * (x * 8) + or8[1] * (x * 7) + or8[2] * (x * 6) + or8[3] 
* (x * 5) + or8[
    4] * (x * 4) + or8[5] * (x * 3) + or8[6] * (x ** 2) + or8[7] * x + or
8[8]

N = len(y)
for i in range(len(y)):
    Y1 = np.sum(((y[i] - yorde1[i]) ** 2) / N)
    Y2 = np.sum(((y[i] - yorde2[i]) ** 2) / N)
    Y3 = np.sum(((y[i] - yorde3[i]) ** 2) / N)
    Y4 = np.sum(((y[i] - yorde4[i]) ** 2) / N)
    Y5 = np.sum(((y[i] - yorde5[i]) ** 2) / N)
    Y6 = np.sum(((y[i] - yorde6[i]) ** 2) / N)
    Y7 = np.sum(((y[i] - yorde7[i]) ** 2) / N)
    Y8 = np.sum(((y[i] - yorde8[i]) ** 2) / N)
    eror1 = np.sqrt(Y1)
    eror2 = np.sqrt(Y2)
    eror3 = np.sqrt(Y3)
    eror4 = np.sqrt(Y4)
    eror5 = np.sqrt(Y5)
    eror6 = np.sqrt(Y6)
    eror7 = np.sqrt(Y7)
    eror8 = np.sqrt(Y8)

print('Nilai Eror Regresi Orde 1 = ', eror1)
print('Nilai Eror Regresi Orde 2 = ', eror2)
print('Nilai Eror Regresi Orde 3 = ', eror3)
print('Nilai Eror Regresi Orde 4 = ', eror4)
print('Nilai Eror Regresi Orde 5 = ', eror5)
print('Nilai Eror Regresi Orde 6 = ', eror6)
print('Nilai Eror Regresi Orde 7 = ', eror7)
print('Nilai Eror Regresi Orde 8 = ', eror8)

plt.plot(1, eror1, '*k', label='Orde 1')
plt.plot(2, eror2, '*g', label='Orde 2')
plt.plot(3, eror3, '*b', label='Orde 3')
plt.plot(4, eror4, '*r', label='Orde 4')
plt.plot(5, eror5, '*y', label='Orde 5')
plt.plot(6, eror6, '*c', label='Orde 6')
plt.plot(7, eror7, '*', color='magenta', label='Orde 7')
plt.plot(8, eror8, '*m', label='Orde 8')
plt.title('Cross-Plot Eror vs Orde Polynomial')
plt.xlabel('Orde (n)')
plt.ylabel('Nilai Eror(n)')
plt.legend()
plt.figure()
plt.plot(x, y, '--p', color='green', label='Data Observasi', markersize
=8)
plt.plot(x, yorde1, '-b', label='Orde 1', linewidth=3)
plt.plot(x, yorde2, '-k', label='Orde 2', linewidth=3)
plt.plot(x, yorde3, '-r', label='Orde 3', linewidth=3)
plt.plot(x, yorde4, '-y', label='Orde 4', linewidth=3)
plt.plot(x, yorde5, '-c', label='Orde 5', linewidth=3)
plt.plot(x, yorde6, '-m', label='Orde 6', linewidth=3)
plt.plot(x, yorde7, '-', color='grey', label='Orde 7', linewidth=3)
plt.plot(x, yorde8, '-', color='purple', label='Orde 8', linewidth=3)
plt.title('Polynomial Regression')
plt.xlabel('Waktu (sekon)')
plt.ylabel('T (nT)')
plt.legend()
plt.show()

• Script Soal 2A (Auto-Korelasi)

#Muhammad Ichsan 12117143

import numpy as np
import matplotlib.pyplot as plt
from matplotlib import pyplot
from statsmodels.graphics.tsaplots import plot_acf

data = np.loadtxt("poroperm.txt", skiprows=1)
y = data[:,1]
x = data[:,2]
z = data[:,3]
plot_acf(y)
plt.figure(1)
plot_acf(x)
plt.figure(2)
plot_acf(z)
plt.figure(3)
plt.show()

• Script Soal 2B (Cross-Korelasi)

#Muhammad Ichsan 12117143

import numpy as np
import statistics as st
import matplotlib.pyplot as plt

data = np.loadtxt('poroperm.txt', skiprows = 1)
x = data[:,0]
y = data[:,1]
coefint1 = np.polyfit(x,y,1)
ypred1 = coefint1[0]*x + coefint1[1]
koef_kor = st.corr_coeff(x,y)
plt.scatter(x,y)
plt.plot(x, ypred1)
plt.title('korelasi positif (+1)')
plt.xlabel('X')
plt.ylabel('Y')
plt.show()
print('Koefisien Korelasi XY :', koef_kor)

• Script Soal 3

import numpy as np
import statistics as st
import matplotlib.pyplot as plt

data = np.loadtxt('independent.txt', skiprows = 1)
x = data[:,0]
y = data[:,1]
coefint1 = np.polyfit(x,y,1)
ypred1 = coefint1[0]*x + coefint1[1]
koef_kor = st.corr_coeff(x,y)
plt.scatter(x,y)
plt.plot(x, ypred1)
plt.title('korelasi positif (0)')
plt.xlabel('X')
plt.ylabel('Y')
plt.show()
print('Koefisien Korelasi XY :', koef_kor)

3.2. Langkah Kerja


Adapun langkah pengerjaan sebagai berikut:

1. Siapkan data poroperm.txt koreksiharian.txt independent.txt dan statistics.py.


2. Buka pycharm lalu download modul (numpy, matplotlib, statistics, dan
statsmodels).
3. Masukan data yang ingin digunakan.
4. Buat script untuk mengkorelasikan/membuat regresi kelompok data yang
diinginkan.
5. Cari nilai error pada setiap regresi masing masing orde.
6. Plot hasil korelasi/regresi yang sudah didapatkan.
7. Print hasil
IV. Hasil dan Analisis

• Output Soal 1 (Regresi Polinomial)


• Output Soal 2A (Auto-Korelasi)

Autokorelasi Permeabilitas

Autokorelasi Porositas

Autokorelasi Log Permeabilitas


• Output Soal 2B (Cross-Korelasi)

• Output Soal 3

Analisis
Pada Soal nomor 1 dilakukan analisa regresi polinomial untuk mengetahui
kecenderungan suatu data. Sehingga dari kecenderungan tersebut kita dapat mengetahui
hubungan atau trend antara data waktu (s) dengan T (nT), mengetahui nilai error
masing-masing orde, dan memperlihatkan over-fitting pada masing-masing regresi. Dari
hasil regresi yang dilakukan nilai error minimum ada pada orde 1 yaitu sebesar
61.17441722877276 sedangkan nilai error maksimum ada pada orde 8 yaitu sebesar
1869.2500757805396. Hal ini menunjukkan bahwa data observasi setelah dilakukan
regresi polinomal memiliki kecenderungan yang tidak fit jika orde semakin diperbesar.
Dari data observasi koreksi harian tersebut menunjukkan keadaan over-fitting. Pada
orde 7 model yang ditampilkan akan berfungsi sangat baik dalam memisahkan data
waktu (s) dari T (nT) namun pada kenyataannya saat data baru ditambah kepada model
tersebut, model akan tidak sesuai dengan data baru yang ditambah. Model yang over-
fitting memiliki error yang mulai mengecil (954.7515897967035) diantara orde 6 dan 8
tetapi berfungsi dengan buruk saat memprediksi data baru. Over-fitting disebabkan oleh
pembuatan model yang lebih kompleks dari yang diperlukan. Cara mengatasinya
gunakan teknik sampel ulang untuk memperkirakan akurasi model. Dimana nantinya
akan melakukan validasi beberapa kali dengan perbandingan data yang berbeda sampai
menemukan akurasi yang cukup optimal. Dan cek Kembali validitas dari set data.
Pada Soal nomor 2 dilakukan analisa Auto-Korelasi dan Cross-Korelasi pada data
porositas, permeabilitas dan log permeabilitas dengan panjang lag ditentukan secara
random. Dari hasil Auto-Korelasi antara data nilai (+) menunjukkan bahwa korelasi
antar data berbanding lurus dan nilai (-) menunjukkan bahwa korelasi antar data
berbanding terbalik.
Pada Soal nomor 3 dilakukan analisa dua set data sekuens. Dari dua set data sekuens
tersebut memperlihatkan nilai korelasi sebesar -0.0013780520333363572. Hal ini
mengindikasikan lemahnya hubungan antara dua set data sekuens tersebut. Kemudian
tanda (-) menunjukkan korelasi antara dua set data sekuens bersifat berlawanan.
Peningkatan nilai variabel X akan dibarengi dengan penurunan variabel Y.

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

1. Semakin besar orde yang digunakan maka nilai error regresi semakin besar.
2. Over-fitting terjadi pada orde 7 yang disebabkan oleh pembuatan model yang
lebih kompleks dari yang diperlukan.
3. Nilai (+) menunjukkan bahwa korelasi antar data berbanding lurus dan nilai (-)
menunjukkan bahwa korelasi antar data berbanding terbalik.
4. Nilai korelasi 0 mengindikasikan lemahnya hubungan antara dua set data sekuens.

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 1
SS SCRIPT SOAL 2
SS SCRIPT SOAL 3

Anda mungkin juga menyukai