Model linear adalah model regresi yang paling banyak digunakan sebagai titik awal karena bentuknya sederhana dan koefisiennya langsung dapat dibaca. Topik ini membahas bentuk umum model linear, cara menafsirkan intercept dan koefisien, metode kuadrat terkecil sebagai cara model memperoleh angkanya, serta empat asumsi yang menyertainya. Pembahasan ditutup dengan praktik pelatihan LinearRegression dari scikit-learn pada dataset diabetes dan pembacaan hasilnya. Setelah topik ini dipahami, koefisien regresi dapat dibaca dengan benar dan pelanggaran asumsinya dapat dikenali dari residual.
Bentuk model dan makna koefisien#
Model linear memprediksi target sebagai jumlah berbobot dari semua fitur, ditambah satu bilangan tetap:
Notasinya sebagai berikut: sampai adalah nilai fitur untuk satu sampel, sampai adalah koefisien, dan adalah intercept. Setiap koefisien menyatakan besar perubahan prediksi apabila fitur yang bersangkutan naik satu satuan, dengan asumsi fitur lain tetap. Koefisien berarti kenaikan satu satuan pada fitur menggeser prediksi sebesar 120 satuan. Intercept adalah prediksi ketika semua fitur bernilai nol. Nilai intercept ini kadang tidak bermakna secara praktis karena fitur bernilai nol tidak wajar, tetapi intercept tetap diperlukan agar garis prediksi menempel pada data.
Cara membaca tersebut memiliki dua batasan. Pertama, interpretasi hanya sah pada rentang nilai fitur yang pernah dilihat model saat pelatihan, dan ekstrapolasi jauh keluar dari rentang itu tidak dapat diandalkan. Kedua, apabila dua fitur atau lebih saling berkorelasi kuat, koefisien pada fitur-fitur tersebut menjadi tidak stabil dan tandanya dapat berbalik dari arah yang diperkirakan. Kondisi ini disebut multicollinearity dan terlihat jelas pada hasil praktik di bagian akhir topik.
Kuadrat terkecil sebagai cara model belajar#
Pelatihan regresi linear berarti memilih nilai dan yang membuat prediksi sedekat mungkin dengan target. Ukuran kedekatannya adalah mean squared error (MSE), yaitu rata-rata kuadrat selisih antara prediksi dan target.
Selisih dikuadratkan agar kesalahan ke arah atas dan ke arah bawah dihitung sama. Satu kesalahan besar memberi hukuman yang jauh lebih berat daripada banyak kesalahan kecil. Fungsi biaya ini cembung (convex) untuk model linear, sehingga titik terendahnya tunggal dan pencarian tidak terjebak minimum lokal.
Untuk regresi linear, masalah minimisasi ini memiliki solusi bentuk tertutup (closed form), yaitu rumus aljabar yang menghitung koefisien optimal secara langsung tanpa perulangan. Pendekatan ini dikenal sebagai metode ordinary least squares (OLS). Keunggulannya adalah kepastian, karena hasilnya selalu sama dan tidak bergantung pada pilihan langkah awal. Keterbatasannya muncul ketika jumlah fitur sangat besar atau ketika fungsi biaya diberi tambahan penalti regularisasi, karena solusi langsungnya tidak selalu tersedia atau menjadi mahal secara komputasi. Pada kondisi seperti itu, koefisien dicari dengan optimasi iteratif seperti gradient descent, yang mekanismenya dijelaskan pada topik tersendiri dalam modul ini.
Empat asumsi dan pemeriksaan residual#
Model linear menghasilkan koefisien pada kondisi apa pun, tetapi koefisien itu layak dipercaya sejauh asumsinya terpenuhi. Asumsi utamanya ada empat. Pertama, linearitas, yaitu hubungan antara fitur dan target benar-benar berbentuk garis dalam parameter model. Kedua, independensi error, yaitu kesalahan pada satu sampel tidak bergantung pada kesalahan sampel lain, dan asumsi ini penting ketika data berupa deret berurutan. Ketiga, varians error yang konstan, yaitu sebaran kesalahan sama untuk semua tingkat nilai prediksi. Keempat, error tidak berkorelasi kuat dengan fitur, sehingga sisa kesalahan tidak bisa dijelaskan lagi oleh fitur yang tersedia.
Keempat asumsi tersebut tidak pernah terbukti sempurna pada data nyata, dan pemeriksaannya dilakukan melalui residual, yaitu selisih nilai target dengan prediksi. Pola lengkung pada grafik residual terhadap prediksi menandakan linearitas yang dilanggar, sedangkan residual yang menyebar makin lebar pada prediksi besar menandakan varians error yang tidak konstan. Pelanggaran asumsi tidak selalu menghentikan pemakaian model karena model linear tetap berguna sebagai baseline. Meskipun demikian, makna koefisiennya menjadi kurang dapat diandalkan, sehingga laporan hasilnya perlu menyebutkan keterbatasan itu.
Melatih dan membaca koefisien pada dataset diabetes#
Praktik berikut melatih LinearRegression pada dataset diabetes bawaan scikit-learn, mencetak intercept, daftar koefisien per fitur, dan skor R-squared pada data latih serta data uji. Data dipisah dengan test_size=0.2 dan random_state=42 mengikuti kesepakatan jalur ini.
from sklearn.datasets import load_diabetes
from sklearn.linear_model import LinearRegression
from sklearn.model_selection import train_test_split
import pandas as pd
pd.set_option("display.width", 80)
X, y = load_diabetes(return_X_y=True)
nama_fitur = load_diabetes().feature_names
X_latih, X_uji, y_latih, y_uji = train_test_split(
X, y, test_size=0.2, random_state=42
)
model = LinearRegression()
model.fit(X_latih, y_latih)
print(f"intercept (b) = {model.intercept_:.4f}")
koefisien = pd.Series(model.coef_, index=nama_fitur, name="koefisien")
print(koefisien.round(4))
print()
print(f"R-squared data latih = {model.score(X_latih, y_latih):.4f}")
print(f"R-squared data uji = {model.score(X_uji, y_uji):.4f}")intercept (b) = 151.3456
age 37.9040
sex -241.9644
bmi 542.4288
bp 347.7038
s1 -931.4888
s2 518.0623
s3 163.4200
s4 275.3179
s5 736.1989
s6 48.6707
Name: koefisien, dtype: float64
R-squared data latih = 0.5279
R-squared data uji = 0.4526Ada tiga hal yang layak dibaca dari keluaran tersebut. Intercept 151.3456 merupakan prediksi pada titik semua fitur bernilai nol, dan karena fiturnya terpusat, angka itu berada dekat rata-rata target. Koefisien bmi sebesar 542.4288 berarti kenaikan satu satuan indeks massa tubuh menaikkan prediksi sebesar 542.4288 satuan bila fitur lain tetap, sedangkan s5 sebesar 736.1989 memberi kontribusi positif terbesar. Sebaliknya, koefisien s1 sebesar -931.4888 bernilai negatif besar, padahal pengukuran serum tersebut berkorelasi positif dengan target ketika dibaca sendirian. Pertentangan ini adalah tanda multicollinearity antar pengukuran serum, sehingga koefisien s1 tidak dapat ditafsirkan secara terpisah dari fitur serum lain seperti s2.
Skor R-squared data latih 0.5279 dan data uji 0.4526 menunjukkan model menjelaskan sekitar 45 persen variasi target pada data yang belum pernah dilihat. Jarak antara kedua skor masih wajar untuk dataset sekecil ini, sehingga tidak ada sinyal overfitting yang serius. Analisis residual tetap diperlukan sebelum koefisien digunakan untuk penafsiran pada ranah nyata.
Kesalahan umum#
- Menafsirkan koefisien pada fitur yang saling berkorelasi kuat seolah fitur-fitur tersebut berdiri sendiri-sendiri. Tanda negatif pada
s1di atas bukan bukti hubungan yang sebenarnya, melainkan artefak pembagian peran antar fitur yang serupa. Penyebabnya adalah data latih yang memuat banyak fitur serupa tanpa pernah diperiksa korelasinya. Perbaikannya, hitung korelasi antar fitur sebelum menafsirkan, lalu bacalah koefisien pada fitur yang serupa sebagai satu kelompok. - Menilai kualitas model hanya dari R-squared data latih. Skor data latih selalu lebih tinggi karena model meminimalkan kesalahan pada data yang sama, sehingga skor data uji yang menjadi penentu. Kesalahan ini mudah terjadi karena skor data latih memang angka pertama yang tercetak setelah pelatihan. Perbaikannya, laporkan kedua skor berdampingan dan jadikan skor data uji dasar pengambilan keputusan.
- Menyimpulkan sebab-akibat dari koefisien. Koefisien menyatakan hubungan asosiatif pada data pelatihan, dan perubahan fitur yang disengaja tidak otomatis mengubah target sebesar nilai koefisiennya. Kesalahan ini muncul karena bentuk persamaannya memang menyerupai hubungan sebab dan akibat. Perbaikannya, batasi klaim pada asosiasi, dan jangan memberi rekomendasi intervensi hanya berdasarkan koefisien.
Ringkasan#
- Model linear menjumlahkan kontribusi fitur secara berbobot, , dan setiap koefisien dibaca sebagai perubahan prediksi per satu satuan fitur bila fitur lain tetap.
- Pelatihan meminimalkan MSE, dan pada regresi linear minimisasi tersebut memiliki solusi bentuk tertutup melalui metode OLS.
- Empat asumsi yang menyertai model adalah linearitas, independensi error, varians error konstan, dan error yang tidak berkorelasi kuat dengan fitur, dengan pelanggarannya diperiksa dari residual.
- Koefisien pada fitur yang berkorelasi kuat (multicollinearity) tidak stabil, sehingga tanda dan besarannya harus dibaca dengan hati-hati.
Referensi#
- Linear models — scikit-learn — Panduan resmi keluarga model linear, termasuk regresi kuadrat terkecil biasa.
- sklearn.linear_model.LinearRegression — scikit-learn — Dokumentasi kelas yang digunakan pada contoh kode topik ini.
- sklearn.datasets.load_diabetes — scikit-learn — Dokumentasi dataset diabetes beserta keterangan fitur yang sudah diskalakan.
- sklearn.model_selection.train_test_split — scikit-learn — Dokumentasi fungsi pemisahan data latih dan data uji.