Regresi Linear Sederhana
Memprediksi Masa Depan dengan Garis Lurus
2. Persamaan Matematika
Persamaan garis lurus dalam Regresi Linear ditulis sebagai:
$$ Y = a + bX $$
Dimana:
- $Y$ : Variabel Dependen (yang ingin diprediksi).
- $X$ : Variabel Independen (data input).
- $a$ (Alpha/Intercept) : Nilai $Y$ ketika $X = 0$
(titik potong sumbu Y).
- $b$ (Beta/Slope) : Kemiringan garis (seberapa besar
perubahan $Y$ setiap kenaikan 1 unit $X$).
Cara Mencari Nilai $a$ dan $b$
Kita menggunakan metode Ordinary Least Squares (OLS) untuk meminimalkan error
kuadrat.
Rumus Slope ($b$)
$$ b = \frac{n(\sum XY) - (\sum X)(\sum Y)}{n(\sum X^2) - (\sum X)^2} $$
Rumus Intercept ($a$)
$$ a = \frac{\sum Y - b(\sum X)}{n} $$
atau $a = \bar{Y} - b\bar{X}$ (Rata-rata Y dikurang b dikali rata-rata X)
* $n$ adalah jumlah data.
3. Contoh Perhitungan
Manual Lengkap
Kasus: Prediksi Nilai Ujian berdasarkan Jam Belajar
Kita punya data 5 siswa sebagai berikut:
| Siswa |
Jam Belajar ($X$) |
Nilai Ujian ($Y$) |
| A |
1 |
50 |
| B |
2 |
60 |
| C |
3 |
70 |
| D |
4 |
80 |
| E |
5 |
90 |
Langkah 1: Buat Tabel Bantu Hitung
Kita perlu menghitung $X^2$ dan $XY$ untuk setiap baris, lalu menjumlahkannya ($\sum$).
| No ($n$) |
$X$ |
$Y$ |
$X^2$ ($X \times X$) |
$XY$ ($X \times Y$) |
| 1 |
1 |
50 |
1 |
50 |
| 2 |
2 |
60 |
4 |
120 |
| 3 |
3 |
70 |
9 |
210 |
| 4 |
4 |
80 |
16 |
320 |
| 5 |
5 |
90 |
25 |
450 |
| n = 5 |
ΣX = 15 |
ΣY = 350 |
ΣX² = 55 |
ΣXY = 1150 |
Langkah 2: Hitung Nilai $b$ (Slope)
$$ b = \frac{n(\sum XY) - (\sum X)(\sum Y)}{n(\sum X^2) - (\sum X)^2} $$
Masukkan angka dari tabel:
$$ b = \frac{5(1150) - (15)(350)}{5(55) - (15)^2} $$
$$ b = \frac{5750 - 5250}{275 - 225} $$
$$ b = \frac{500}{50} $$
$$ b = 10 $$
Nilai $b = 10$. Artinya, setiap bertambah 1 jam belajar, nilai ujian naik 10
poin.
Langkah 3: Hitung Nilai $a$ (Intercept)
$$ a = \frac{\sum Y - b(\sum X)}{n} $$
Masukkan angka:
$$ a = \frac{350 - 10(15)}{5} $$
$$ a = \frac{350 - 150}{5} $$
$$ a = \frac{200}{5} $$
$$ a = 40 $$
Nilai $a = 40$. Artinya, jika tidak belajar sama sekali ($X=0$), nilai dasar
siswa adalah 40.
Langkah 4: Susun Persamaan Akhir
$$ Y = 40 + 10X $$
Langkah 5: Prediksi (Implementasi Nyata)
Jika ada siswa baru (Siswa F) yang belajar selama 3.5 jam, berapakah prediksi
nilainya?
Masukan $X = 3.5$ ke dalam rumus:
$$ Y = 40 + 10(3.5) $$
$$ Y = 40 + 35 $$
$$ Y = 75 $$
Kesimpulan: Siswa yang belajar 3.5 jam diprediksi mendapat nilai
75.
4. Contoh Implementasi
Python
Dalam dunia kerja, kita tidak menghitung manual. Kita menggunakan library seperti
Scikit-Learn.
import numpy as np
from sklearn.linear_model import LinearRegression
# 1. Siapkan Data (X harus bentuk 2D array)
X = np.array([[1], [2], [3], [4], [5]])
y = np.array([50, 60, 70, 80, 90])
# 2. Buat Model
model = LinearRegression()
# 3. Training
model.fit(X, y)
# 4. Ambil Koefisien (a dan b)
a = model.intercept_ # Output: 40.0
b = model.coef_[0] # Output: 10.0
print(f"Persamaan: Y = {a:.0f} + {b:.0f}X")
# 5. Prediksi X = 3.5
prediksi = model.predict([[3.5]])
print(f"Prediksi untuk 3.5 jam: {prediksi[0]:.0f}")