Mohon tunggu...
Erika Gading Putri
Erika Gading Putri Mohon Tunggu... Mahasiswa - Mahasiswa

Mahasiswa aktif semester 8 di Universitas Brawijaya yang memiliki kemampuan yang baik dalam komunikasi, problem solving, dan time management. Selain itu erika mampu bekerja dalam tim, pekerja keras dan bertanggung jawab

Selanjutnya

Tutup

Ruang Kelas

Support Vector Regression (SVR) untuk Forecasting: Teori dan Implementasi dalam Python

16 Mei 2024   11:12 Diperbarui: 16 Mei 2024   11:18 164
+
Laporkan Konten
Laporkan Akun
Kompasiana adalah platform blog. Konten ini menjadi tanggung jawab bloger dan tidak mewakili pandangan redaksi Kompas.
Lihat foto
Bagikan ide kreativitasmu dalam bentuk konten di Kompasiana | Sumber gambar: Freepik

Dalam analisis prediktif, Support Vector Regression (SVR) adalah teknik yang kuat untuk melakukan forecasting atau prediksi berdasarkan data historis. Metode ini berdasarkan pada Support Vector Machine (SVM) yang diperluas untuk menangani kasus regresi. Dalam artikel ini, kita akan menjelaskan konsep SVR serta parameter-parameter yang digunakan dalam proses forecasting, seperti C, gamma, epsilon, fungsi kernel, cross validation, dan time steps.

Konsep Dasar SVR

SVR bertujuan untuk menemukan fungsi regresi \( f(x) \) yang mendekati sebanyak mungkin data training, sambil mempertahankan margin sejauh mungkin dari data itu sendiri. Margin di sini adalah batas jarak dari data yang diizinkan untuk berada di sekitar garis regresi.

Parameter SVR

1. Parameter C : C adalah parameter regulasi yang mengontrol penalti untuk kesalahan model. Semakin besar nilai C, semakin besar penalti untuk kesalahan yang terjadi. Nilai yang lebih kecil untuk C akan menghasilkan margin yang lebih besar.

2. Parameter Gamma: Gamma (γ) mengontrol pengaruh sebuah titik data. Nilai gamma yang tinggi menunjukkan bahwa hanya titik data yang sangat dekat dengan garis pemisah yang diperhatikan, sementara nilai gamma yang rendah menunjukkan bahwa titik data yang lebih jauh juga diperhitungkan.

3. Parameter Epsilon: Epsilon (ε) menentukan toleransi kesalahan yang diizinkan dalam model. Ini adalah batas yang menunjukkan seberapa jauh kesalahan dapat diizinkan sebelum model mulai menganggapnya signifikan dan mulai menyesuaikan diri.

4. Fungsi Kernel: Fungsi kernel adalah fungsi matematika yang digunakan untuk mengubah ruang fitur menjadi ruang dimensi yang lebih tinggi. Fungsi kernel yang umum digunakan adalah linear, polinomial, dan radial basis function (RBF).

5. Cross Validation: Cross validation adalah teknik yang digunakan untuk mengevaluasi kinerja model dengan membagi dataset menjadi subset yang lebih kecil. Ini membantu menghindari overfitting dan memberikan perkiraan yang lebih baik tentang kinerja model pada data yang tidak terlihat.

6. Time Steps: Time steps adalah parameter yang relevan terutama dalam kasus forecasting time series data. Ini mengacu pada jumlah langkah waktu atau interval waktu yang digunakan dalam pemodelan.

Implementasi dalam Python

Di bawah ini adalah contoh implementasi SVR menggunakan library Scikit-Learn di Python:

# Impor library yang diperlukan
import numpy as np
import matplotlib.pyplot as plt
from sklearn.svm import SVR
from sklearn.model_selection import train_test_split
from sklearn.metrics import mean_squared_error

# Buat data dummy untuk demonstrasi
np.random.seed(0)
X = np.sort(5 * np.random.rand(200, 1), axis=0)
y = np.sin(X).ravel() + np.random.normal(0, 0.1, X.shape[0])

# Bagi data menjadi training dan testing set
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=0)

# Buat model SVR
svr = SVR(kernel='rbf', C=100, gamma=0.1, epsilon=0.1)

# Latih model
svr.fit(X_train, y_train)

# Lakukan prediksi
y_pred = svr.predict(X_test)

# Hitung mean squared error
mse = mean_squared_error(y_test, y_pred)
print("Mean Squared Error:", mse)

# Visualisasikan hasil
plt.scatter(X_test, y_test, color='black', label='Data')
plt.plot(X_test, y_pred, color='red', label='SVR')
plt.xlabel('X')
plt.ylabel('y')
plt.title('Support Vector Regression')
plt.legend()
plt.show()

Dalam contoh di atas, kita membuat data dummy yang mengikuti fungsi sinusoidal, lalu membaginya menjadi training dan testing set. Kemudian, kita membuat dan melatih model SVR dengan parameter yang telah ditentukan, dan mengukur kinerjanya dengan mean squared error. Akhirnya, kita visualisasikan hasil prediksi model SVR tersebut.

Dengan menggunakan teknik seperti SVR, kita dapat melakukan forecasting atau prediksi dengan akurasi yang tinggi tergantung pada pemilihan parameter yang tepat dan kualitas data yang digunakan. Dengan memahami konsep dan parameter-parameter yang terlibat dalam SVR, kita dapat mengoptimalkan model untuk kasus penggunaan tertentu.

HALAMAN :
  1. 1
  2. 2
Mohon tunggu...

Lihat Konten Ruang Kelas Selengkapnya
Lihat Ruang Kelas Selengkapnya
Beri Komentar
Berkomentarlah secara bijaksana dan bertanggung jawab. Komentar sepenuhnya menjadi tanggung jawab komentator seperti diatur dalam UU ITE

Belum ada komentar. Jadilah yang pertama untuk memberikan komentar!
LAPORKAN KONTEN
Alasan
Laporkan Konten
Laporkan Akun