Regresi Linear
UTS Analysis & Perdictive Modeling
1 Anggota Kelompok 1
Zain Iqbal Saputra (52240024)
Isnaini Nur Hasanah (52240005)
Chello Fhrino Mike M. (52240031)
Siti Azkya Nurhalima (52240032)
2 Load Data
3 Identifikasi Masalah
- Tujuan : Memprediksi Kualitas Wine berdasarkan 11 variabel kimia
- Metode : Regresi Linear
- Dataset: White Wine Quality Dataset (UCI)
- Perbandingan : Membandingkan dengan model lain
- Link : https://archive.ics.uci.edu/dataset/186/wine%2Bquality
3.1 Regresi Linear
Regresi linear adalah metode statistik yang digunakan untuk memodelkan hubungan antara satu variabel dependen (target) dengan satu atau lebih variabel independen (prediktor) melalui persamaan linear. Dalam kasus penelitian ini, variabel dependen adalah kualitas wine, sedangkan variabel independennya terdiri dari 11 variabel kimia seperti fixed acidity, volatile acidity, citric acid, residual sugar, chlorides, free sulfur dioxide, total sulfur dioxide, density, pH, sulphates, dan alcohol. Persamaan regresi linear umum dituliskan sebagai: \[ y = \beta_0 + \beta_1 x_1 + \beta_2 x_2 + .... + \beta_n x_n + ε \] di mana \(y\) adalah kualitas wine, \(x_1,x_2,...,x_n\) adalah variabel prediktor, \(\beta_0\) adalah intercept, \(\beta_1,\beta_2,...,\beta_n\) adalah koefisien regresi, dan ε adalah residual (kesalahan).
Metode regresi linear ini digunakan dengan asumsi dasar sebagai berikut: residual berdistribusi normal, hubungan antara prediktor dan target bersifat linear, varians residual konstan (homoskedastisitas), tidak ada autokorelasi yang signifikan, dan variabel prediktor tidak mengalami multikolinearitas yang tinggi. Dengan memahami konsep ini, analisis selanjutnya akan fokus pada penerapan regresi linear untuk memprediksi kualitas wine berdasarkan 11 variabel kimia yang tersedia pada dataset.
4 EDA (Exploratory Data Analysist)
4.1 Info Data
Output menunjukkan bahwa dataset memiliki 4898 baris dan 12 kolom,
terdiri dari 11 variabel fitur kimia bertipe float64 serta 1 kolom
target “quality” bertipe int64. Semua kolom memiliki jumlah nilai
non-null sebanyak 4898, yang berarti tidak ada data hilang sehingga
dataset sudah bersih dan dapat langsung digunakan tanpa proses imputasi.
Kesebelas fitur seperti fixed acidity, volatile acidity, citric acid,
residual sugar, chlorides, sulfur dioxide, density, pH, sulphates, dan
alcohol merupakan variabel numerik kontinu yang umum digunakan dalam
analisis kualitas wine. Sementara kolom quality berisi skor kualitas
wine (umumnya 0–10) dan sering diperlakukan sebagai variabel kontinu
atau ordinal untuk keperluan pemodelan. Secara keseluruhan, struktur
data yang sepenuhnya numerik dan bebas missing values ini sangat
mendukung penggunaan model regresi linear maupun model prediksi lainnya,
dan ukuran memori yang kecil menunjukkan dataset ringan dan mudah
diolah.
4.2 Statistik Deskriptif
1. Variabel Target: Quality
• Mean (rata-rata): 5.88
→ Mayoritas wine berada di kualitas sedang (skor 5–6).
• Min-Max: 3 sampai 9
→ Tidak ada wine dengan kualitas sangat buruk (1–2) atau sangat premium (10).
• Std (0.88) → Variasi kualitas relatif rendah.
Artinya, model prediksi akan menghadapi tantangan karena skor kualitas tidak jauh berbeda (kelas hampir mirip).
2. Interpretasi Fitur-Fitur Penting
Berikut variabel yang secara umum berpengaruh terhadap kualitas wine berdasarkan literatur dan dapat dikonfirmasi dari statistik ini:
A. Alkohol
• Mean: 10.51
• Min–Max: 8.0 – 14.2
• Std: 1.23 → variasi cukup tinggi.
Wine dengan kadar alkohol lebih tinggi cenderung memiliki kualitas lebih baik.
Karena rentang alkohol cukup lebar, fitur ini sangat berpotensi menjadi predictor kuat dalam model.
B. Residual Sugar (gula tersisa)
• Mean: 6.39
• Std sangat tinggi: 5.07 (lebih tinggi dari mean!)
• Min–Max: 0.6 – 65.8 → rentang sangat luas.
Wine manis bukan berarti lebih berkualitas. Variasi gula yang sangat besar dapat menyebabkan:
• Model sulit menemukan pola jika outlier tidak ditangani.
• Fitur ini kemungkinan hanya berpengaruh kecil terhadap kualitas jika tidak distandardisasi.
C. pH
• Mean: 3.18
• Range: 2.72 – 3.82 → rentang sempit.
Wine cenderung bersifat asam (pH rendah).
Karena variasi kecil, fitur pH kemungkinan bukan prediktor utama kualitas.
D. Acidity (Fixed, Volatile, Citric Acid)
Fixed Acidity
• Mean: 6.85
• Rentang cukup lebar (3.8 – 14.2)
Volatile Acidity
• Mean: 0.27
• Rentang: 0.08 – 1.10
• Volatile acidity tinggi biasanya indikator kualitas buruk.
Citric Acid
• Mean: 0.33
• Rentang: 0.0 – 1.66
• Volatile acidity merupakan sinyal rusaknya fermentasi → prediktor kuat kualitas rendah.
• Citric acid berhubungan dengan kesegaran dan aroma → biasanya berkontribusi positif pada kualitas.
Variasi pada ketiganya cukup baik sehingga potensial menjadi fitur yang informatif.
E. Sulfur Dioxide (Free dan Total)
• Free SO₂ mean: 35.3
• Total SO₂ mean: 138
Sulfur digunakan untuk mencegah oksidasi.
Namun:
• Terlalu sedikit → wine cepat rusak
• Terlalu banyak → mengurangi aroma/rasanya
Karena rentangnya cukup lebar, fitur ini bisa relevan untuk prediksi, tetapi kontribusinya biasanya moderat.
F. Density
• Mean: 0.994
• Rentang: 0.987–1.038 → sangat sempit
Density berkaitan dengan kadar gula dan alkohol.
Karena rentangnya sempit, fitur ini mungkin kurang berpengaruh langsung tetapi tetap bisa membantu model ketika digabung dengan fitur lain.
G. Sulphates
• Mean: 0.49
• Rentang: 0.22 – 1.08
Sulphates meningkatkan aroma dan rasa wine.
Fitur ini sering kali memiliki korelasi positif dengan kualitas.
4.3 Cek Missing Value
| Variabel | Jumlah Missing Value |
|---|---|
| fixed acidity | 0 |
| volatile acidity | 0 |
| citric acid | 0 |
| residual sugar | 0 |
| chlorides | 0 |
| free sulfur dioxide | 0 |
| total sulfur dioxide | 0 |
| density | 0 |
| pH | 0 |
| sulphates | 0 |
| alcohol | 0 |
| quality | 0 |
Hasil pengecekan menggunakan df.isnull().sum() menunjukkan bahwa seluruh kolom memiliki jumlah missing value 0. Ini berarti dataset lengkap dan tidak ada nilai yang hilang pada seluruh fitur. Pemeriksaan missing value dilakukan untuk memastikan kualitas data sebelum analisis lebih lanjut, karena keberadaan nilai hilang dapat menyebabkan kesalahan perhitungan, memengaruhi statistik, mengganggu proses pemodelan, atau menghasilkan prediksi yang tidak akurat. Dengan tidak ditemukannya nilai hilang, tidak diperlukan langkah tambahan seperti imputasi atau penghapusan data. Dataset dapat langsung digunakan untuk tahap eksplorasi, visualisasi, maupun pembangunan model prediksi kualitas wine.
4.4 Distribusi Variabel
1. Fixed Acidity
Distribusi cenderung normal dengan pemusatan di nilai sekitar 6–8. Ini menunjukkan sebagian besar wine memiliki keasaman tetap yang moderat.
2. Volatile Acidity
Distribusinya miring ke kanan. Kebanyakan sampel berada pada nilai rendah (0.2–0.4), yang menunjukkan sebagian besar wine memiliki tingkat volatile acidity yang baik (tinggi VA biasanya menurunkan kualitas).
3. Citric Acid
Mayoritas nilai berada pada rentang 0.2–0.4, dengan sedikit outlier di
atas 1. Hal ini menunjukkan banyak wine memiliki kadar citric acid yang
rendah hingga sedang.
4. Residual Sugar
Distribusinya sangat miring ke kanan. Sebagian besar wine memiliki
residual sugar rendah (0–5), sementara nilai tinggi (di atas 20) jarang,
dan menunjukkan adanya outlier signifikan.
5. Chlorides
Sebagian besar sampel terpusat pada rentang 0.02–0.06. Nilai klorida
tinggi jarang ditemukan, dan outlier tampak jelas di bagian kanan
distribusi.
6. Free Sulfur Dioxide
Distribusi miring ke kanan dengan pemusatan pada 20–50. Nilai tinggi di
atas 100 jarang terjadi.
7. Total Sulfur Dioxide
Sebagian besar data berada pada rentang 100–200. Distribusi miring ke
kanan dengan sedikit nilai ekstrem tinggi.
8. Density
Rentangnya sangat sempit dengan pemusatan kuat di sekitar 0.995–1.000.
Distribusi ini menunjukkan bahwa semua sampel memiliki densitas yang
relatif seragam.
9. pH
Distribusi mendekati normal dengan puncak di sekitar 3.1–3.3. Ini
menunjukkan wine cenderung bersifat asam dengan variasi kecil.
10. Sulphates
Nilai berkonsentrasi pada 0.4–0.6, dengan ekor kanan menunjukkan adanya
beberapa sampel dengan sulphates tinggi.
11. Alcohol
Distribusi cenderung miring ke kanan. Banyak wine berada pada rentang
9–12, dan kadar alkohol tinggi (di atas 13) lebih jarang.
12. Quality
Distribusi terpusat pada nilai 5 dan 6. Hal ini menunjukkan data tidak
seimbang (tidak merata antar kelas), karena kualitas rendah dan tinggi
jarang muncul.
4.5 Scatter Plot terhadap Quality
Scatter plot digunakan untuk melihat pola hubungan awal antara variabel prediktor dengan variabel dependen quality. Visualisasi ini membantu mengidentifikasi apakah terdapat kecenderungan hubungan linier yang dapat mendukung penggunaan metode regresi linear.
4.5.1 Alcohol vs Quality
Scatter plot menunjukkan adanya pola hubungan positif antara kadar alkohol dan kualitas wine. Secara umum, wine dengan kadar alkohol yang lebih tinggi cenderung memiliki kualitas yang lebih baik. Observasi pada rentang alkohol ≥ 11% banyak berada pada kategori kualitas menengah hingga tinggi. Sebaliknya, wine dengan kadar alkohol rendah (8–10%) cenderung memiliki kualitas yang lebih rendah. Kandungan alkohol berperan penting dalam meningkatkan karakteristik sensorik wine, sehingga semakin tinggi alkohol, semakin tinggi kualitas yang dihasilkan.
4.5.2 Volatile Acidity vs Quality
Hubungan antara volatile acidity dan quality menunjukkan pola negatif. Wine dengan nilai volatile acidity rendah (≤ 0.3) memiliki kualitas yang cenderung lebih tinggi, sedangkan nilai yang lebih tinggi (≥ 0.6) umumnya muncul pada wine berkualitas rendah. Keasaman volatil yang tinggi dapat menimbulkan aroma dan rasa yang tidak diinginkan, sehingga berdampak pada penurunan kualitas wine.
4.5.3 Density vs Quality
Scatter plot antara density dan quality juga memperlihatkan hubungan negatif. Wine berkualitas lebih tinggi cenderung memiliki densitas yang lebih rendah, sedangkan nilai density yang tinggi (≥ 0.999) sering ditemukan pada wine berkualitas rendah. Interpretasi: Densitas berkaitan dengan kandungan gula dan alkohol. Density yang tinggi dapat mengindikasikan fermentasi yang kurang optimal, sehingga menurunkan kualitas wine.
5 Heatmap Korelasi
Heatmap korelasi digunakan untuk melihat kekuatan dan arah hubungan antar variabel numerik dalam dataset kualitas wine. Nilai korelasi berkisar dari -1 hingga 1, di mana nilai positif menunjukkan hubungan searah dan nilai negatif menunjukkan hubungan berlawanan arah. Visualisasi ini membantu mengidentifikasi variabel mana yang paling berpotensi menjadi prediktor penting dalam model regresi linear.
5.1 Korelasi antar Variabel Kimia
Beberapa variabel menunjukkan korelasi yang cukup kuat satu sama lain:
Residual sugar – Density (0.84) Hubungan positif yang sangat kuat. Semakin tinggi residual sugar, semakin tinggi densitas wine. Hal ini konsisten dengan sifat fisik larutan: gula meningkatkan massa jenis.
Total sulfur dioxide – Free sulfur dioxide (0.62) Korelasi positif kuat yang menggambarkan bahwa free sulfur dioxide merupakan komponen utama dari total sulfur dioxide.
Density – Alcohol (-0.78) Hubungan negatif kuat. Wine dengan kandungan alkohol lebih tinggi cenderung memiliki densitas lebih rendah. Hal ini logis karena alkohol memiliki densitas lebih rendah dibanding air.
Hubungan-hubungan kuat ini perlu diperhatikan karena dapat menimbulkan multikolinearitas pada model regresi.
5.2 Korelasi antara Variabel Prediktor dengan Quality
Penilaian korelasi terhadap variabel quality menunjukkan beberapa pola penting:
Alcohol (0.44) → korelasi positif moderat Variabel ini merupakan prediktor paling kuat terhadap quality. Wine dengan kadar alkohol lebih tinggi cenderung mendapatkan skor kualitas yang lebih baik.
Density (-0.31) → korelasi negatif lemah hingga moderat Wine dengan densitas lebih rendah cenderung memiliki kualitas lebih tinggi.
Volatile acidity (-0.19) → korelasi negatif lemah Nilai volatile acidity yang lebih tinggi sedikit menurunkan kualitas wine.
Variabel lain seperti chlorides, residual sugar, sulphates, pH, citric acid menunjukkan korelasi sangat lemah terhadap quality (mendekati nol), sehingga kontribusi langsungnya pada kualitas mungkin lebih kecil atau bersifat tidak linier.
Secara keseluruhan, heatmap menunjukkan bahwa kualitas wine dipengaruhi oleh kombinasi variabel yang saling berkaitan, dan regresi linear dapat digunakan dengan memperhatikan aspek multikolinearitas.
6 Model Regresi Linear
Pertanyaan : Apakah variabel kimia bisa memprediksi kualitas wine?
Rumus :
Quality = \[Konstanta + a_1*x_1 + a_2*x_2 + ... + a_{11}*x_{11}\]
Tujuannya:
- Mengetahui variabel mana yang berpengaruh
- Seberapa besar pengaruhnya
- Apakah pengaruh tersebut signifikan
6.1 Split Data
X = df.drop("quality", axis=1)
y = df["quality"]
X_train, X_test, y_train, y_test = train_test_split(
X, y, test_size=0.2, random_state=123
)Split data artinya kita membagi dataset menjadi dua bagian:
- Training (80%) → digunakan untuk melatih model
- Testing (20%) → digunakan untuk mengecek keakuratan model
Kenapa harus dipisah?
Agar model tidak “curang” atau menghafal data. Kita ingin memastikan model bisa memprediksi data baru yang belum pernah dilihat.
Split data adalah langkah wajib dalam machine learning.
6.2 Statistika Models
Setelah split data, kita bangun model regresi menggunakan OLS (Ordinary Least Squares).
OLS mencari garis terbaik dengan cara:
Mengurangi error antara prediksi dan data asli sampai sekecil mungkin.
Informasi Model (Bagian Tabel Atas)
Dep. Variabel : Quality
Artinya model memprediksi kualitas wine (angka 0–10).
Method : OLS (Ordinary Least Squares)
Ini metode standar untuk regresi linear.
No. Observations : 3918
Total data yang digunakan 3918 baris.
R-squared = 0.276
Model hanya bisa menjelaskan 27.6% variasi kualitas wine.
Ini berarti: - kualitas wine tidak sepenuhnya bisa dijelaskan oleh 11 variabel kimia - masih ada faktor lain: rasa, aroma, kualitas anggur, cara fermentasi, dll
R² rendah bukan masalah, karena data wine quality memang kompleks.
Adj. R-squared = 0.274
Ini versi R² yang sudah disesuaikan jumlah variabel. Nilainya hampir sama → tanda bahwa model tidak mengalami overfitting parah.
F - statistic: 135.7 dan p - value F - Statistics : 1.17e - 264
Model Secara keseluruhan Signifkan
Walaupun R² rendah, tetapi model tetap layak dan valid dipakai secara statistik.
- Koefisien Setiap Variabel (Bagian Tengah Tabel) Ini tuh bagian
terpenting. Jadi koefisien disini menjelaskan :
- jika variabel naik 1, maka kualitas wine akan berubah
P-value menunjukkan apakah variabel itu berpengaruh secara signifikan.
Kita fokus variabel yang P-value < 0.05 (artinya signifikan).
6.2.1 Interpretasi Variabel
Volatile acidity (koef = -1.858, p-value = 0.000)
Jadi disini berpengaruh Negatif dan signifikan. Semakin tinggi volatile acidity (keasaman tajam), kualitas wine TURUN
Free sulfur dioxida (koef = 0.0039, p - value = 0.000)
Berpengaruh positif, tapi lebih kecil. Sedikit sulfur bisa membantu menjaga kualitas wine, Tapi efeknya kecil sekali.
Density (koef = -139.4893, p - value = 0.000)
Berpengaruh Negatif dan Sangat kuat. Wine yang lebih padat (lebih tebal) cenderung kualitasnya lebih rendah. menurut model, Ini juga masuk akal. Wine yang terlalu pekat biasanya kurang disukai.
pH (koef = 0.6351, p - value = 0.0000)
Berpengaruh positif. pH yang sedikit lebih tinggi, kualitas wine naik. Wine dengan terlalu rendah pH sangat asam akan membuat kualitas turun.
Sulphates (koef = 0.6848, p - value = 0.0000)
Berpengaruh Positif. Sulphates membantu stabilitas wine. Semakin tinggi sulphates, kualitas wine cenderung naik.
Alcohol (koef = 0.2002, p - value = 0.0000)
Berpengaruh positif dan kuat. Ini salah satu variabel terpenting. Wine dengan kadar alkohol lebih tinggi biasanya punya kualitas lebih baik.
Variabel yang tidak signifikan (Tidak berpengaruh)
Variabel p - value > 0.05 :
- fixed acidity
- citric acid
- residual sugar
- chlories
- total sulfur dioxide
Ke-5 variabel di atas tidak punya pengaruh signifikan secara statistik terhadap kualitas wine.
7 Uji Asumsi Model
7.1 Normalitas Residual (Shapiro-Wilk)
| Uji Normalitas | Statistik | p-value |
|---|---|---|
| Shapiro-Wilk | 0.9897 | 3.04 × 10⁻¹⁶ |
Uji Shapiro-Wilk dilakukan untuk memeriksa normalitas residual dari model regresi linear yang memprediksi kualitas wine berdasarkan 11 variabel kimia. Hasil uji menunjukkan nilai statistik sebesar 0,990 dengan p-value < 0,001, menandakan residual tidak sepenuhnya normal. Namun, untuk dataset besar seperti ini (4.898 sampel), regresi linear tetap dapat menghasilkan prediksi yang andal, karena model regresi linear cukup robust terhadap pelanggaran normalitas pada sampel besar. Dengan demikian, model masih layak digunakan untuk memprediksi kualitas wine berdasarkan karakteristik kimia.
7.2 QQ Plot
Gambar QQ Plot menunjukkan pola hubungan antara kuantil residual dengan kuantil teoritis distribusi normal. Secara umum, titik‐titik residual mengikuti garis referensi 45°, terutama pada bagian tengah distribusi. Hal ini mengindikasikan bahwa sebagian besar residual memiliki pola mendekati distribusi normal.
Namun, terdapat penyimpangan pada kedua ujung (tails), di mana titik residual pada kuantil rendah dan kuantil tinggi terlihat menjauh dari garis referensi. Penyimpangan ini menunjukkan adanya sedikit heavy-tailed behavior, yaitu keberadaan residual ekstrem (outliers) yang menyebabkan distribusi residual tidak sepenuhnya normal.
Dalam konteks regresi linear dengan jumlah sampel besar seperti dataset wine (n = 4.898), penyimpangan ringan pada tails seperti ini tidak selalu menjadi masalah serius. OLS tetap memberikan estimasi koefisien yang konsisten dan unbiased, sehingga model masih dapat digunakan, terutama untuk tujuan prediksi. Namun demikian, deviasi ini dapat berdampak pada akurasi p-value dan interval kepercayaan.
Secara keseluruhan, hasil QQ Plot menunjukkan bahwa asumsi normalitas residual cukup terpenuhi pada bagian tengah distribusi, meskipun terdapat penyimpangan kecil pada tails. Jika diperlukan peningkatan validitas inferensi statistik, dapat dipertimbangkan penggunaan robust standard errors (HC3) untuk mengatasi potensi pelanggaran normalitas pada residual ekstrem.
7.3 Homoskedastisitas (Breusch-Pagan)
| Uji Homoskedastisitas | Statistik | p-value |
|---|---|---|
| Breusch-Pagan | 76.991 | 5.62 × 10⁻¹² |
Uji Breusch-Pagan dilakukan untuk memeriksa asumsi homoskedastisitas, yaitu apakah varians residual dari model regresi linear konstan di seluruh nilai prediktor. Hasil uji menunjukkan nilai statistik sebesar 76,99 dengan p-value < 0,001, yang berarti terdapat indikasi heteroskedastisitas. Hal ini menunjukkan bahwa error prediksi kualitas wine tidak memiliki varians yang sama di seluruh rentang variabel kimia.
Meskipun demikian, regresi linear tetap dapat digunakan untuk memprediksi kualitas wine, tetapi prediksi pada beberapa titik variabel kimia tertentu mungkin memiliki error yang sedikit lebih besar. Untuk meningkatkan akurasi prediksi, model lanjutan atau transformasi variabel dapat dipertimbangkan.
7.4 Autokorelasi (Durbin Watson)
| Uji Autokorelasi | Statistik |
|---|---|
| Durbin-Watson | 2.028 |
Uji Durbin-Watson dilakukan untuk memeriksa apakah residual model regresi linear menunjukkan autokorelasi, yaitu apakah error prediksi kualitas wine saling bergantung antarobservasi. Hasil uji menunjukkan nilai Durbin-Watson sebesar 2,03, yang berada sangat dekat dengan nilai ideal 2. Hal ini mengindikasikan tidak ada autokorelasi yang signifikan pada residual. Dengan demikian, error prediksi kualitas wine dapat dianggap independen, sehingga model regresi linear layak digunakan untuk memprediksi kualitas wine berdasarkan 11 variabel kimia.
7.5 Multikolinearitas (VIF)
| Variabel | VIF |
|---|---|
| fixed acidity | 92.861 |
| volatile acidity | 9.731 |
| citric acid | 10.007 |
| residual sugar | 3.830 |
| chlorides | 6.497 |
| free sulfur dioxide | 9.262 |
| total sulfur dioxide | 24.981 |
| density | 1056.497 |
| pH | 609.862 |
| sulphates | 20.527 |
| alcohol | 118.707 |
Variance Inflation Factor (VIF) digunakan untuk memeriksa apakah terdapat multikolinearitas tinggi antara variabel prediktor dalam model regresi linear, yaitu kondisi di mana beberapa variabel kimia saling berkorelasi kuat sehingga dapat mempengaruhi kestabilan koefisien regresi.
Dari hasil VIF, beberapa variabel menunjukkan nilai sangat tinggi, misalnya density (VIF ≈ 1056), pH (VIF ≈ 610), alcohol (VIF ≈ 119), dan fixed acidity (VIF ≈ 93), sementara nilai VIF > 10 umumnya dianggap mengindikasikan multikolinearitas yang serius. Hal ini menunjukkan adanya multikolinearitas tinggi di antara variabel kimia, yang dapat mempengaruhi interpretasi koefisien regresi untuk memprediksi kualitas wine.
Untuk meningkatkan keandalan model prediksi, dapat dipertimbangkan penghapusan variabel yang sangat berkorelasi, transformasi variabel, atau penggunaan metode regresi regularisasi seperti Ridge atau Lasso. Meski demikian, model saat ini masih dapat digunakan untuk prediksi kualitas wine, tetapi interpretasi pengaruh individu variabel harus dilakukan dengan hati-hati.
8 FIT Model (Sklearn) & Evaluasi
8.0.1 Training Models
# --- Split Data ---
set.seed(123)
index <- sample(1:nrow(df), 0.8 * nrow(df))
X_train <- df[index, !(names(df) == "quality")]
y_train <- df[index, "quality"]
X_test <- df[-index, !(names(df) == "quality")]
y_test <- df[-index, "quality"]
# --- Buat train_data (supaya lm() tidak error) ---
train_data <- cbind(X_train, quality = y_train)
# --- Linear Regression (sama seperti linr.fit) ---
linr <- lm(quality ~ ., data = train_data)
# --- Prediksi (padanan linr.predict(X_test)) ---
y_pred <- predict(linr, newdata = X_test)
# --- Tampilkan hasil prediksi ---
print(head(y_pred))## 1 2 3 4 5 6
## 5.757802 5.563753 5.866480 4.481741 5.851339 5.324599
8.1 Evaluasi
| Metode Evaluasi | Nilai |
|---|---|
| R² | 0.30009870723514986 |
| MSE | 0.5379787934540116 |
| RMSE | 0.733470376671077 |
| MAPE | 0.09802888617415315 |
Model regresi linear yang dibangun untuk memprediksi kualitas wine menggunakan 11 variabel kimia menghasilkan evaluasi sebagai berikut:
R² = 0,30: Sekitar 30% variasi kualitas wine dapat dijelaskan oleh model. Ini menunjukkan bahwa walaupun model mampu menangkap pola hubungan antara variabel kimia dan kualitas, masih ada faktor lain (misalnya aroma, rasa, atau kondisi fermentasi) yang mempengaruhi kualitas namun tidak tercakup dalam data.
MSE = 0,538 dan RMSE = 0,733: Kesalahan prediksi relatif kecil terhadap skala kualitas wine (0–10), sehingga prediksi model cukup mendekati nilai aktual. Misalnya, jika model memprediksi kualitas 6, prediksi tersebut kemungkinan berbeda ±0,73 dari nilai sebenarnya.
MAPE = 9,8%: Rata-rata kesalahan prediksi sekitar 10% dari nilai aktual, yang menunjukkan bahwa model memberikan estimasi kualitas wine yang cukup andal untuk tujuan praktis, seperti pengklasifikasian atau perbandingan kualitas batch wine.
9 Visualisasi Hasil
9.1 Actual vs Predicted
Plot ini memperlihatkan hubungan antara nilai kualitas wine aktual dan nilai yang diprediksi oleh model regresi linear. Garis putus-putus merah berperan sebagai garis prediksi sempurna (diagonal 45°) semakin dekat titik-titik ke garis ini, semakin akurat prediksi model.
Dari grafik tampak bahwa sebagian besar titik terkonsentrasi di sekitar garis diagonal, namun sebarannya belum rapat. Artinya, model mampu menangkap pola umum, tetapi akurasi prediksi masih terbatas, terutama pada kelas kualitas tertentu. Hal ini konsisten dengan nilai R² sekitar 0.30, yang menunjukkan bahwa model hanya mampu menjelaskan ±30% variasi dalam data.
Variabel-variabel yang digunakan dalam model merupakan fitur kimia utama dari wine (misalnya alcohol, volatile acidity, density), yang secara ilmiah memang memengaruhi kualitas wine. Namun karena hubungan antarvariabel sangat kompleks dan banyak variabel memiliki multikolinearitas tinggi, kemampuan model linear untuk menghasilkan prediksi presisi menjadi terbatas.
9.2 Residual Plot
Grafik residual terhadap fitted value digunakan untuk memeriksa apakah asumsi regresi linear dipenuhi, khususnya homoskedastisitas dan linearitas. Pada grafik ini, residual (selisih antara nilai aktual dan prediksi) diplot terhadap fitted values.
Tampak pola residual yang mengembang dan tidak acak, cenderung membentuk pola diagonal yang menunjukkan adanya heteroskedastisitas. Temuan visual ini sejalan dengan hasil Breusch Pagan test (p-value sangat kecil), yang menegaskan bahwa varians residual tidak konstan.
Selain itu, bentuk pola yang miring dan terstruktur menunjukkan bahwa model linear belum berhasil menangkap seluruh hubungan nonlinear dalam data. Beberapa variabel seperti density, alcohol, dan pH memiliki hubungan kurvilinear atau interaksi kuat, namun model linear hanya menangani hubungan aditif sederhana.
10 Perbandingan Model
10.1 Model Polynomial Regression
| Metode Evaluasi | Nilai |
|---|---|
| R² | 0.318045164827106 |
| MSE | 0.5241842574217173 |
| RMSE | 0.724005702616849 |
| MAPE | 0.09710917251636575 |
Model Polynomial Regression derajat 3 menunjukkan peningkatan performa dibandingkan regresi linear standar. Nilai R² naik menjadi 0.318, yang berarti model mampu menjelaskan sekitar 31.8% variasi kualitas wine, sedikit lebih baik dibandingkan model linear (~30%). Penurunan MSE dan RMSE juga menunjukkan bahwa kesalahan prediksi berkurang, meskipun tidak drastis. MAPE yang sedikit lebih rendah mengindikasikan peningkatan stabilitas prediksi.
Peningkatan ini terjadi karena polynomial regression dapat menangkap hubungan nonlinear yang sebelumnya gagal dimodelkan oleh regresi linear. Variabel seperti alcohol, density, pH, dan sulphates diketahui memiliki pola hubungan melengkung (curvilinear) terhadap kualitas, sehingga perlu transformasi polinomial untuk memodelkannya lebih baik.
Namun, meskipun kinerjanya lebih baik, peningkatan tidak besar. Ini menandakan bahwa:
Struktur hubungan antarvariabel masih sangat kompleks,
Data memiliki multikolinearitas tinggi,
Nilai kualitas wine bersifat subjektif dan tidak sepenuhnya dapat dijelaskan oleh fitur kimia saja.
10.2 Model Random Forest Regression
| Metode Evaluasi | Nilai |
|---|---|
| R² | 0.5217812128089244 |
| MSE | 0.367582641723356 |
| RMSE | 0.6062859405621707 |
| MAPE | 0.07433671444768383 |
Random Forest memberikan performa paling unggul karena dapat menangkap pola hubungan yang jauh lebih kompleks dibandingkan regresi linear maupun polynomial. Dengan R² mencapai 0.52 dan RMSE lebih rendah, model ini memperlihatkan akurasi prediksi yang lebih tinggi dan kesalahan yang lebih kecil. Hal ini menunjukkan bahwa kualitas wine dipengaruhi oleh interaksi variabel yang tidak linear, yang dapat ditangkap secara efektif oleh pendekatan ensemble seperti Random Forest.
10.3 Perbandingan Model
| Model | R² | MSE | RMSE | MAPE |
|---|---|---|---|---|
| Linear Regression | 0.30009870723514986 | 0.5379787934540116 | 0.733470376671077 | 0.09802888617415315 |
| Polynomial (deg=3) | 0.318045164827106 | 0.5241842574217173 | 0.724005702616849 | 0.09710917251636575 |
| Random Forest | 0.5217812128089244 | 0.367582641723356 | 0.6062859405621707 | 0.07433671444768383 |
Tabel tersebut menunjukkan bahwa Random Forest Regression memberikan performa prediksi terbaik untuk memodelkan kualitas wine dibandingkan Linear Regression dan Polynomial Regression. Nilai R² tertinggi (0.5218) menandakan bahwa model ini mampu menjelaskan lebih dari separuh variasi kualitas wine, jauh di atas Linear Regression (0.30) dan Polynomial Degree 3 (0.318). Selain itu, Random Forest menghasilkan MSE dan RMSE paling rendah, menunjukkan bahwa kesalahan prediksi rata-rata lebih kecil dan model lebih akurat. Nilai MAPE sebesar 7.43% memperlihatkan bahwa model ini memiliki ketepatan prediksi paling tinggi dan stabil.
Sebaliknya, Linear Regression memiliki performa terlemah karena hubungan antara variabel kimia wine dan kualitas tidak sepenuhnya linear. Polynomial Regression memang sedikit meningkatkan akurasi, namun masih belum cukup untuk menangkap kompleksitas interaksi antar variabel. Random Forest unggul karena dapat mempelajari relasi nonlinear dan interaksi variabel tanpa asumsi distribusi tertentu serta lebih robust terhadap multikolinearitas dan outlier.
Secara keseluruhan, hasil perbandingan ini menegaskan bahwa Random Forest merupakan model yang paling sesuai untuk memprediksi kualitas wine pada dataset ini.
11 Kesimpulan
Penelitian ini bertujuan untuk memprediksi kualitas white wine berdasarkan 11 variabel kimia menggunakan pendekatan regresi linear. Analisis diawali dengan eksplorasi data, pemeriksaan pola hubungan antarvariabel, hingga pengujian asumsi regresi. Hasil EDA menunjukkan bahwa beberapa variabel seperti alcohol, density, dan sulphates memiliki hubungan linear yang cukup kuat dengan kualitas wine, sehingga layak dijadikan prediktor utama. Hal ini mengindikasikan bahwa karakteristik kimia tertentu memang memberikan kontribusi signifikan terhadap penilaian kualitas.
Hasil pemodelan menunjukkan bahwa regresi linear menghasilkan nilai R² sebesar 0.30, yang berarti model mampu menjelaskan sekitar 30% variasi kualitas wine. Meskipun performanya tidak sebaik model non-linear seperti Random Forest, regresi linear terbukti stabil, tidak mengalami overfitting, dan memenuhi sebagian besar asumsi klasik (normalitas residual, independensi, dan homoskedastisitas). Perlu dipahami bahwa kualitas minuman alkohol pada dasarnya sulit diprediksi secara sempurna, karena penilaiannya sangat dipengaruhi oleh preferensi manusia melalui proses sensory evaluation. Oleh sebab itu, tidak realistis mengharapkan model statistik atau machine learning mencapai akurasi yang sangat tinggi dibandingkan penilaian manusia.
Secara keseluruhan, regresi linear merupakan model yang tepat sebagai baseline untuk dataset White Wine Quality. Tujuan utama regresi bukanlah untuk mengalahkan model prediktif lain, melainkan untuk memberikan interpretasi mengenai variabel mana yang paling berpengaruh, bagaimana arah hubungan yang terbentuk, serta apakah pengaruh tersebut signifikan secara statistik. Kemampuan interpretatif ini tidak dimiliki oleh model seperti Random Forest, yang meskipun akurasinya lebih tinggi, tidak dapat menjelaskan struktur hubungan antarvariabel secara mendalam. Dengan demikian, regresi linear tetap menjadi pendekatan yang kuat, stabil, dan secara statistik valid untuk memahami dasar pembentukan kualitas wine.
12 Reference
https://archive.ics.uci.edu/dataset/186/wine%2Bquality
https://bookdown.org/content/a142b172-69b2-436d-bdb0-9da6d046a0f9/02-Regression_Model.html
https://www.smartstat.info/materi/statistika/regresi/regresi-linier-sederhana.html