Skip to main content
  1. Belajar/
  2. Machine Learning with Python/
  3. 3. Pemodelan Linear Regression/

Multiple Linear Regression

15 mins· loading · loading ·
Pemodelan Linear Regression - This article is part of a series.
Part 4: This Article

Multiple Linear Regression (MLR) adalah pengembangan dari Simple Linear Regression yang memungkinkan untuk memodelkan hubungan antara satu variabel terikat dengan dua atau lebih variabel bebas. Dalam MLR, model matematisnya dinyatakan sebagai kombinasi linear dari variabel bebas. Model ini dapat digunakan untuk membuat prediksi, menjelaskan hubungan antar variabel, serta mengevaluasi efek relatif dari setiap variabel bebas terhadap variabel terikat.

A. Konsep Dasar Multiple Linear Regression
#

Multiple Linear Regression (MLR) merupakan metode statistik yang sangat berguna dalam analisis data, terutama ketika kita ingin memahami hubungan antara satu variabel terikat dengan dua atau lebih variabel bebas. Prinsip dasar MLR adalah memperluas konsep Simple Linear Regression (SLR), yang hanya melibatkan satu variabel bebas, menjadi model yang lebih kompleks dengan memasukkan beberapa variabel bebas. Selain memungkinkan prediksi yang lebih akurat, MLR juga memberikan pengetahuan tentang sejauh mana variabel bebas berkontribusi terhadap variasi dalam variabel terikat.

Pada bagian ini akan membahas beberapa konsep dasar dari MLR, meliputi cara mengestimasi parameter, mengatasi masalah seperti multikolinearitas, dan melakukan evaluasi model. Dengan pemahaman yang mendalam tentang MLR, kita dapat lebih cerdas dalam menganalisis dan memodelkan hubungan kompleks dalam data.

1. Model Matematis
#

Model matematis adalah tool yang sangat penting dalam science yang memungkinkan representasi formal dari hubungan antara berbagai komponen atau variabel dalam suatu sistem. Dalam SLR, kita mencari hubungan linier antara satu variabel bebas dengan satu variabel terikat. Model matematis ini diekspansi lebih lanjut dalam MLR, yang memungkinkan kita menggabungkan lebih dari satu variabel bebas dalam memprediksi variabel terikat.

Berikut adalah formula MLR dengan \(k\) variabel bebas: \[ Y = \beta_0 + \beta_1 X_1 + \beta_2 X_2 + \ldots + \beta_k X_k + \epsilon, \tag{3.4.1} \]

di mana:

  • \(Y\) adalah variabel terikat,
  • \(\beta_0\) adalah Intercept,
  • \(X_1, X_2, \ldots, X_n\) adalah variabel bebas,
  • \(\beta_1, \beta_2, \ldots, \beta_k\) adalah koefisien untuk masing-masing variabel bebas \(X_1, X_2, \ldots, X_k\),
  • \(\epsilon\) adalah residual atau kesalahan yang tidak dapat dijelaskan oleh model.

Pada praktiknya, interpretasi koefisien (\( \beta_0, \beta_1, \beta_2, \ldots, \beta_k \)) sangat bergantung pada jenis variabel bebas yang terlibat. Sebagai contoh, jika \( X_1 \) adalah variabel jumlah kamar dalam prediksi harga rumah (\( Y \)), maka koefisien \( \beta_1 \) dapat diinterpretasikan sebagai perubahan rata-rata dalam harga rumah untuk setiap tambahan satu kamar. Begitu pula, jika \( X_2 \) adalah variabel luas tanah, \( \beta_2 \) akan memberikan informasi tentang seberapa besar rata-rata perubahan harga untuk setiap tambahan satu unit luas tanah.

Namun, penting untuk dicatat bahwa interpretasi ini bersifat kondisional, karena perubahan dalam satu variabel bebas dapat berinteraksi dengan variabel bebas lainnya. Oleh karena itu, interpretasi koefisien MLR perlu dilakukan dengan hati-hati dan seringkali memerlukan penyesuaian untuk memahami dampak masing-masing variabel bebas secara terisolasi.

2. Representasi Model dalam Bentuk Matriks
#

Model matematis dari MLR seringkali dinyatakan dalam bentuk perkalian matriks multi-dimensi agar terlihat lebih compact. Berikut adalah representasi dari MLR dalam bentuk perkalian matriks: $$\mathbf{Y}=\mathbf{X}\beta+\mathbf{\epsilon}, \tag{3.4.2} $$

dimana:

  • \( \mathbf{Y} \) adalah vektor kolom dari variabel terikat.
  • \( \mathbf{X} \) adalah matriks dari variabel bebas, termasuk kolom konstan 1 untuk intercept.
  • \( \beta \) adalah vektor kolom parameter, termasuk intercept \( \beta_0 \) dan koefisien \( \beta_1, \beta_2, \ldots, \beta_k \).
  • \( \epsilon \) adalah vektor kolom residual atau kesalahan.

Lebih lanjut, untuk keseluruhan data, persamaan (\(3.4.2\)) di atas dapat ditulis dalam bentuk: $$ \begin{bmatrix} y_1 \\ y_2 \\ \vdots \\ y_n \end{bmatrix}= \begin{bmatrix} 1 & x_{11} & x_{12} & \ldots & x_{1k} \\ 1 & x_{21} & x_{22} & \ldots & x_{2k} \\ \vdots & \vdots & \vdots & \ddots & \vdots \\ 1 & x_{n1} & x_{n2} & \ldots & x_{nk} \end{bmatrix} \begin{bmatrix} \beta_0 \\ \beta_1 \\ \vdots \\ \beta_k \end{bmatrix} + \begin{bmatrix} \varepsilon_1 \\ \varepsilon_2 \\ \vdots \\ \varepsilon_n \end{bmatrix}, \tag{3.4.3} $$

dimana \(y_{i}\) merupakan variabel terikat untuk data ke-\(i\), \(x_{i,j}\) merupakan koefisien dari variabel bebas \(\beta_j\) pada data ke-\(i\), sedangkan \(\varepsilon_i\) nilai kesalahan pada data ke-\(i\).

B. Estimasi Koefisien \(\beta\) Menggunakan Least Square
#

Pada bagian ini, kita akan mencoba melakukan estimasi koefisien pada model MLR, yaitu koefisien Intercept (\(\beta_0\)) maupun koefisien dari variabel bebas \(\beta_1, \beta_2, \cdots, \beta_k\). Kita akan menggunakan pendekatan yang sama dengan SLR, yaitu menggunakan metode Least Squares. Tujuan metode Least Squares adalah meminimalkan jumlah kuadrat residual, yaitu jumlah kuadrat perbedaan antara nilai sebenarnya (\(\mathbf{Y}\)) dan nilai yang diprediksi oleh model (\(\mathbf{X}\beta\)).

Formula dari metode Least Squares adalah sebagai berikut: \[ L = \sum_{i=1}^{n} (Y_i - \hat{Y}_i)^2, \tag{3.4.4}\]

  1. Matriks Bentuk:

    • Model MLR dapat dituliskan dalam bentuk matriks sebagai (Y = X \beta + \epsilon), di mana (Y) adalah vektor variabel terikat, (X) adalah matriks desain variabel bebas, (\beta) adalah vektor parameter (termasuk intercept), dan (\epsilon) adalah vektor residual.
  2. Estimasi Parameter:

    • Parameter (\beta) (termasuk (\beta_0)) dapat diestimasi menggunakan metode least squares atau solusi analitik matriks yang melibatkan invers dari matriks desain ((X^T X)).
  3. Normalisasi dan Standarisasi Fitur:

    • Penting untuk melakukan normalisasi atau standarisasi fitur untuk menghindari masalah skala dan mempermudah interpretasi koefisien.
  4. Uji Hipotesis:

    • Uji hipotesis dapat dilakukan untuk mengevaluasi signifikansi statistik dari koefisien dan keseluruhan model.

Keuntungan dan Kelemahan:
#

Keuntungan:
#

  • Fleksibilitas: Memungkinkan pemodelan hubungan kompleks antara variabel bebas dan variabel terikat.
  • Dampak Variabel Bebas: Memungkinkan penilaian dampak relatif dari setiap variabel bebas terhadap variabel terikat.
  • Prediksi yang Lebih Akurat: Dengan memasukkan lebih banyak variabel bebas, model dapat memberikan prediksi yang lebih akurat dibandingkan dengan Simple Linear Regression.

Kelemahan:
#

  • Multikolinearitas: Jika variabel bebas berkorelasi tinggi, dapat menghasilkan masalah multikolinearitas dan menyulitkan interpretasi koefisien.
  • Overfitting: Risiko overfitting terutama jika terlalu banyak variabel bebas dibandingkan dengan jumlah observasi.
  • Asumsi Linieritas: Bergantung pada asumsi bahwa hubungan antara variabel bebas dan variabel terikat bersifat linier.

Implementasi Multiple Linear Regression dengan Scikit-Learn:
#

from sklearn.linear_model import LinearRegression
from sklearn.model_selection import train_test_split
from sklearn.metrics import mean_squared_error
from sklearn.preprocessing import StandardScaler

# Contoh implementasi Multiple Linear Regression dengan Scikit-Learn
# X adalah matriks desain, Y adalah vektor variabel terikat

# Bagi data menjadi set pelatihan dan pengujian
X_train, X_test, Y_train, Y_test = train_test_split(X, Y, test_size=0.2, random_state=42)

# Normalisasi fitur menggunakan StandardScaler
scaler = StandardScaler()
X_train_scaled = scaler.fit_transform(X_train)
X_test_scaled = scaler.transform(X_test)

# Inisialisasi model Multiple Linear Regression
mlr_model = LinearRegression()

# Melatih model
mlr_model.fit(X_train_scaled, Y_train)

# Membuat prediksi
Y_pred = mlr_model.predict(X_test_scaled)

# Evaluasi model menggunakan Mean Squared Error
mse = mean_squared_error(Y_test, Y_pred)
print(f'Mean Squared Error: {mse}')

Implementasi Multiple Linear Regression dengan Scikit-Learn melibatkan langkah-langkah seperti pemisahan data, normalisasi fitur, inisialisasi model, pelatihan model, dan

Pemodelan Linear Regression - This article is part of a series.
Part 4: This Article