Anda di halaman 1dari 19

LAPORAN PRAKTIKUM

GEOSTATISTIKA TG 3202

MODUL KE – 2
KONSEP STATISTIKA DASAR 2
Oleh:
Elisabet Ade Saputri Simamora 118120068
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
2020
A. Tujuan Praktikum
Adapun tujuan yang diharapkan dalamm praktikum konsep dasar statistika-2 ini
adalah :
1. Mahasiswa dapat menjelaskan auto-korelasi, cross-korelasi dan regresi serta dapat
menggunakannya untuk menyelesaikan permasalahan kebumian.

B. Teori Dasar
Statistika merupakan cara-cara tertentu yang digunakan dalam mengumpulkan,
menyusun atau mengatur, menyajikan, menganalisadan member interpretasi terhadap
sekumpulan data, sehingga kumpulan bahan keterangan dapat member pengertian dan
makna tertentu. Seperti pengambilan kesimpulan, membuat estimasi dan juga prediksi
yang akan datang.
1. Autokorelasi
Autokorelasi adalah kondisi dimana terdapat korelasi atau hubungan antar
pengamatan (observasi), baik itu dalam bentuk observasi deret waktu (time series) atau
observasi cross-section. Autokorelasi dikenal sebagai korelasi serial, maksudnya adalah
korelasi antara serial data atau antara data sebelum dengan data sesudahnya dalam data
yang disusun berdasarkan urutan waktu (time series). Dalam data yang disusun secara
cross section (bukan berdasarkan waktu), maka autokorelasi sebetulnya tidak relevan.
Pada data yang disusun secara cross section, autokorelasi hanya indikasi dari keterkatitan
antara satu subjek penelitian dengan penelitian lainnya. Atau dapat juga dikatakan
sebagai kemiripian antara satu obsevasi dengan observasi lainnya. Secara matematika,
autokorelasi dapat membaca pola yang berulang dari data. Hal tersebut menunjukkan
adanya pengaruh waktu terhadap variabel respon.
2. Cross-Corelasi
Korelasi silang (Cross Correlation) merupakan salah satu metode yang banyak
digunakan dalam analisis data secara time series. Metode ini dapat digunakan sebagai
alat untuk memprediksikan suatu hubungan suatu series data x (input)dengan data y
(output) pada suatu sistem.Untuk me -lakukan analisis korelasi silang, kedua seri tersebut
harus sampel dalam interval waktu yang sama dan diasumsikan stasioner dalam mean dan
varians (Cowpertwait dan Metcalfe, 2009, Shu way dan Stoffer, 2006, dalam Thomas,
2010).
3. Regresi
Secara umum, analisis regresi pada dasarnya adalah studi mengenai ketergantungan
satu variabel dependen (terikat) dengan satu atau lebih variabel independent (variabel
penjelas/bebas), dengan tujuan untuk mengestimasi dan/ atau memprediksi rata-rata
populasi atau niiai rata-rata variabel dependen.
Berdasarkan nilai variabel independen yang diketahui. Pusat perhatian adalah pada upaya
menjelaskan dan mengevalusi hubungan antara suatu variabel dengan satu atau lebih
variabel independen.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. Jika 𝑋𝑖
merupakan variabel bebas dan 𝑌𝑖 merupakan variabel terikatnya dan 𝑌𝑖 merupakan
variabel regresi.
C. Pengolahan Data
1. Script
a. Regresi multivariate
#118120068_Elisabet Ade Saputri Simamora_RTGC

import numpy as np
import matplotlib.pyplot as plt
data = np.loadtxt("koreksiharian.txt", skiprows=1)
x = data[:, 0 ]
y = data[:, 1 ]
coefint1 = np.polyfit(x, y, 1)
coefint2 = np.polyfit(x, y, 2)
coefint3 = np.polyfit(x, y, 3)
coefint4 = np.polyfit(x, y, 4)
coefint5 = np.polyfit(x, y, 5)
coefint6 = np.polyfit(x, y, 6)
coefint7 = np.polyfit(x, y, 7)
coefint8 = np.polyfit(x, y, 8)
ypred1 = coefint1[0] * x + coefint1[1]
ypred2 = coefint2[0] * (x ** 2) + coefint2[1] * x + coefint2[2]
ypred3 = coefint3[0] * (x * 3) + coefint3[1] * (x * 2) + coefint3[2] * x + coefint
3[3]
ypred4 = coefint4[0] * (x * 4) + coefint4[1] * (x * 3) + coefint4[2] * (x ** 2) +
coefint4[3] * x + coefint4[4]
ypred5 = coefint5[0] * (x * 5) + coefint5[1] * (x * 4) + coefint5[2] * (x * 3) + c
oefint5[3] * (x * 2) + coefint5[4] * x + coefint5[5]
ypred6 = coefint6[0] * (x * 6) + coefint6[1] * (x * 5) + coefint6[2] * (x * 4) + c
oefint6[3] * (x * 3) + coefint6[4] * (x ** 2) + coefint6[5] * x + coefint6[6]
ypred7 = coefint7[0] * (x * 7) + coefint7[1] * (x * 6) + coefint7[2] * (x * 5) + c
oefint7[3] * (x * 4) + coefint7[4] * (x * 3) + coefint7[5] * (x * 2) + coefint7[6]
* x +coefint7[7]
ypred8 = coefint8[0] * (x * 8) + coefint8[1] * (x * 7) + coefint8[2] * (x * 6) + c
oefint8[3] * (x * 5) + coefint8[4] * (x * 4) + coefint8[5] * (x * 3) + coefint8[6]
* (x** 2) + coefint8[7] * x + coefint8[8]
N = len(y)
for i in range(len(y)):
Y1 = np.sum(((y[i] - ypred1[i]) ** 2) / N)
Y2 = np.sum(((y[i] - ypred2[i]) ** 2) / N)
Y3 = np.sum(((y[i] - ypred3[i]) ** 2) / N)
Y4 = np.sum(((y[i] - ypred4[i]) ** 2) / N)
Y5 = np.sum(((y[i] - ypred5[i]) ** 2) / N)
Y6 = np.sum(((y[i] - ypred6[i]) ** 2) / N)
Y7 = np.sum(((y[i] - ypred7[i]) ** 2) / N)
Y8 = np.sum(((y[i] - ypred8[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('eror nilai regresi orde 1 = ', eror1)
print('eror nilai regresi orde 2 = ', eror2)
print('eror nilai regresi orde 3 = ', eror3)
print('eror nilai regresi orde 4 = ', eror4)
print('eror nilai regresi orde 5 = ', eror5)
print('eror nilai regresi orde 6 = ', eror6)
print('eror nilai regresi orde 7 = ', eror7)
print('eror nilai regresi orde 8 = ', eror8)
plt.plot(1, eror1, '*b', label='orde 1')
plt.plot(2, eror2, '*k', label='orde 2')
plt.plot(3, eror3, '*g', label='orde 3')
plt.plot(4, eror4, '*y', label='orde 4')
plt.plot(5, eror5, '*r', label='orde 5')
plt.plot(6, eror6, '*m', label='orde 6')
plt.plot(7, eror7, '*', label='orde 7')
plt.plot(8, eror8, '*c', 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='brown', label='Data Observasi',
markersize=8)
plt.plot(x, ypred1, '-b', label='Orde 1', linewidth=1)
plt.plot(x, ypred2, '-k', label='Orde 2', linewidth=1)
plt.plot(x, ypred3, '-g', label='Orde 3', linewidth=1)
plt.plot(x, ypred4, '-y', label='Orde 4', linewidth=1)
plt.plot(x, ypred5, '-r', label='Orde 5', linewidth=1)
plt.plot(x, ypred6, '-m', label='Orde 6', linewidth=1)
plt.plot(x, ypred7, '-', label='Orde 7', linewidth=1)
plt.plot(x, ypred8, '-c', label='Orde 8', linewidth=1)
plt.title('Polynomial Regression')
plt.xlabel('Waktu')
plt.ylabel('T (nT)')
plt.legend()
plt.show()

b. Autokorelasi

#118120068_Elisabet Ade Saputri Simamora_RTGC


#autokorelasi
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.show()

c. Crosskorelasi
#118120068_Elisabet Ade Saputri Simamora_RTGC
#cross korelasi

import numpy as np
import Statistika 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)
d. Korelasi data independent
#118120068_Elisabet Ade Saputri Simamora_RTGC

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

data = np.loadtxt('Data3.txt', skiprows = 2)


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)
D. Langkah Kerja
Pada Praktikum kali ini megenai pengolahan data geostatistika dengan menampilkan
secara histogram, log, dan data statistika dapat dilakuka dengan cara sebagi berikut :
1. Siapkan data yang akan digunakan pada program yang dibuat dengan format .txt
2. Buka aplikasi(saya pakai visual code), lalu masukan modul yang dibutuhkan
untuk menghasilkan output yang diinginkan. Adapun modul yang digunakan
yaitu : numpy, matplotlib, pandas.
3. Masukan data yang ingin digunakan pada program.
4. Masukan jumlah data ataupun orde.
5. Definiskan bentuk output yang ingin ditampilkan.
6. Definisikan x dan y sebagai variabel tertentu sesuai data kita.
7. Plot hasil yang dibutuhkan.
8. Jika ingin menampilkan data perhitugan statistik dapat dilakukan dengan
menambahkan definisi data yag ingin dicari beserta rumus yang digunakan
setelah langkah 4, pada kali ini data yang ingin dicari adalah koefisien korelasi
serta nilai error regresi.

E. Hasil Dan Analisis


1. Hasil
1. Regresi multivariate (polynomial)
2. Nilai error regresi multivariate (polynomial)

3. Autokorelasi lag 1
4. Crosskorelasi lag 3
5. Korelasi independent lag 3
F. Analisis
Pada praktikum kali ini dipelajari tentang regresi, crosscorelasi, dan Autocorelasi.
Autokorelasi adalah proses korelasi diri sendiri sehingga pada proses ini hanya
menggunakan satu data saja yang dikorelasikan. Terlihat pada script data yang digunakan
adalah data poroperm dalam format txt. Berbeda dengan crosskorelasi dimana beberapa
data dikorelasikan. Regresi linier adalah suatu cara menarik garis dari sebuah sebaran data,
data yang digunakan pada praktikum kali ini adalah data koreksi harian.

Pada data regresi polynomial tidak ditemukan over fitting dapat dilihat bahwa regresi
yang terbentuk sagat teratur tidak ada over fitting. Adapun juga terjadi over fitting hal yang
harus dilakukan adalah mengambil sampel ulang untuk memperkirakan akurasi model.

Untuk bagian korelasi hasil yang didapat berbeda antara autokorelasi dan crosskorelasi.
Hal ini terjadi akibat data yang digunakan berbeda, autokorelasi akan mengahasilkan lebih
banyak data karena menggunakan dua data yang berbeda untuk dikorelasikan. Panjang lag
akan mempengaruhi nilai korelasinya saya melakukan percobaan dengan panjang lag 1 dan
3 hasilnya sangat berbeda, nilai korelasi yang dihasilkan berbanding terbalik denga panjang
lag, semakin besar panjang lag, maka semakin kecil nilai korelasinya, begitupun
sebaliknya. Hal ini di sebabkan karena semakin sedikit data yang digunakan.
.

G. Kesimpulan
Dari praktikum yang berjudul konsep statistika dasar-2 dapat diambil beberapa
kesimpulan diantarnya :
1. Crosskorelasi digunakan untuk mengkorelasikan dua data yang berbeda.
2. Autokorelasi digunakan untuk mengkorelasikan data yang sama.
3. Semakin besar nilai panjang lag maka semakin kecil nilai korelasi yang
dihasilkan
4. Over fitting akan terjadi jika beberapa batasan berdasarkan sifat khusus yang
tidak membuat perbedaan pada data.
5. Data kali ini tidak terdapat over fitting.
H. DAFTAR PUSTAKA

https://www.mobilestatistik.com/asumsi-non-autokorelasi-dalam-regresi/

https://elitedatascience.com/overfitting-in-machine-learning

Modul 2 Praktikum Geostatistika Institut Teknologi Sumatera 209/2020


I. LAMPIRAN
Regresi
Autokorelasi
Crosskorelasi

Korelasi independent

Anda mungkin juga menyukai