Analisis Regresi Linier

1 . Regresi Linear

Regresi linear adalah metode statistik untuk memodelkan hubungan antara variabel independen \((X)\) dengan variabel dependen \((Y)\).

Tujuan:

  1. Menjelaskan hubungan antara variabel.

  2. Memprediksi nilai \(Y\) berdasarkan \(X\).

Regresi linear dapat dibagi menjadi dua model, yaitu regresi linier sederhana dan regresi linier berganda.

  1. Regresi linier sederhana digunakan ketika hubungan yang ingin dianalisis hanya melibatkan satu variabel bebas terhadap satu variabel terikat, misalnya pengaruh jumlah jam belajar terhadap nilai ujian.

  2. Regresi linier berganda digunakan jika variabel terikat dipengaruhi oleh lebih dari satu variabel bebas, misalnya nilai ujian yang dipengaruhi oleh jam belajar, kualitas tidur, dan tingkat stres secara bersamaan.

Dengan kata lain, perbedaan utama antara keduanya terletak pada jumlah variabel bebas yang digunakan dalam model.

Bentuk Umum:

  1. Regresi Linier Sederhana \[ Y = \beta_0 + \beta_1 X + \varepsilon \]

  2. Regresi Linier Berganda \[ Y = \beta_0 + \beta_1 X_1 + \beta_2 X_2 + \cdots + \beta_k X_k + \varepsilon \]

dengan:

\(\beta_0\) : intercept (nilai \(Y\) saat \(X = 0\)).

\(\beta_1\) : slope/kemiringan (berapa besar perubahan \(Y\) jika \(X\) naik 1 unit).

\(ε\) : error (faktor lain yang tidak terjelaskan oleh model).

2 . Membuat Model

Define Data dan Eksplorasi Data

# Load data
data(mtcars)
head(mtcars)
summary(mtcars)
##       mpg             cyl             disp             hp       
##  Min.   :10.40   Min.   :4.000   Min.   : 71.1   Min.   : 52.0  
##  1st Qu.:15.43   1st Qu.:4.000   1st Qu.:120.8   1st Qu.: 96.5  
##  Median :19.20   Median :6.000   Median :196.3   Median :123.0  
##  Mean   :20.09   Mean   :6.188   Mean   :230.7   Mean   :146.7  
##  3rd Qu.:22.80   3rd Qu.:8.000   3rd Qu.:326.0   3rd Qu.:180.0  
##  Max.   :33.90   Max.   :8.000   Max.   :472.0   Max.   :335.0  
##       drat             wt             qsec             vs        
##  Min.   :2.760   Min.   :1.513   Min.   :14.50   Min.   :0.0000  
##  1st Qu.:3.080   1st Qu.:2.581   1st Qu.:16.89   1st Qu.:0.0000  
##  Median :3.695   Median :3.325   Median :17.71   Median :0.0000  
##  Mean   :3.597   Mean   :3.217   Mean   :17.85   Mean   :0.4375  
##  3rd Qu.:3.920   3rd Qu.:3.610   3rd Qu.:18.90   3rd Qu.:1.0000  
##  Max.   :4.930   Max.   :5.424   Max.   :22.90   Max.   :1.0000  
##        am              gear            carb      
##  Min.   :0.0000   Min.   :3.000   Min.   :1.000  
##  1st Qu.:0.0000   1st Qu.:3.000   1st Qu.:2.000  
##  Median :0.0000   Median :4.000   Median :2.000  
##  Mean   :0.4062   Mean   :3.688   Mean   :2.812  
##  3rd Qu.:1.0000   3rd Qu.:4.000   3rd Qu.:4.000  
##  Max.   :1.0000   Max.   :5.000   Max.   :8.000
# Korelasi awal
cat("korelasi mpg dan hp: ", cor(mtcars$mpg, mtcars$hp))
## korelasi mpg dan hp:  -0.7761684
cat("korelasi mpg dan wt: ", cor(mtcars$mpg, mtcars$wt))
## korelasi mpg dan wt:  -0.8676594

3 . Model 1 : Analisis Regresi Linear Sederhana

3.1 Membuat Model

model <- lm(mpg ~ hp, data = mtcars)
summary(model)
## 
## Call:
## lm(formula = mpg ~ hp, data = mtcars)
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -5.7121 -2.1122 -0.8854  1.5819  8.2360 
## 
## Coefficients:
##             Estimate Std. Error t value Pr(>|t|)    
## (Intercept) 30.09886    1.63392  18.421  < 2e-16 ***
## hp          -0.06823    0.01012  -6.742 1.79e-07 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 3.863 on 30 degrees of freedom
## Multiple R-squared:  0.6024, Adjusted R-squared:  0.5892 
## F-statistic: 45.46 on 1 and 30 DF,  p-value: 1.788e-07

Hasil regresi menunjukkan model:

\[mpg = 30.09 − 0.068hp\]

Artinya, pada model regresi linear sederhana \((mpg~hp)\),horsepower \((hp)\) berpengaruh negatif terhadap efisiensi bahan bakar \((mpg)\). Setiap penambahan 1 unit \(hp\) akan menurunkan rata-rata \(mpg\) sebesar 0.068.Nilai \(R^2\) sebesar 0.60 menunjukkan bahwa sekitar 60 variasi \(mpg\) dapat dijelaskan hanya oleh \(hp\). Dengan demikian, masih ada faktor lain yang belum dimasukkan dalam model yang memengaruhi konsumsi bahan bakar.

3.2 Visualisasi Regresi

3.2.1 Scatterplot

plot(mtcars$hp, mtcars$mpg,
     main = "Hubungan mpg dan hp",
     xlab = "Horsepower (hp)",
     ylab = "Miles per Gallon (mpg)",
     pch = 19, col = "blue")
abline(model, col = "red", lwd = 2)

Scatterplot di atas menunjukkan adanya hubungan negatif yang cukup kuat antara horsepower \((hp)\) dengan efisiensi bahan bakar \((mpg)\). Garis regresi yang menurun menegaskan bahwa semakin besar tenaga mesin mobil \((hp)\), semakin rendah pula efisiensi bahan bakar yang dicapai \((mpg)\). Hal ini sesuai dengan hasil regresi yang menunjukkan persamaan \[mpg = 30.09 - 0.068 \times hp\] Artinya, setiap kenaikan 1 unit horsepower diperkirakan menurunkan efisiensi bahan bakar sebesar 0.068 \(mpg\). Nilai \(R^2 = 0.60\) juga mengindikasikan bahwa sekitar 60% variasi \(mpg\) dapat dijelaskan oleh \(hp\), sementara sisanya dipengaruhi oleh faktor lain. Model regresi ini cukup baik merepresentasikan data, karena titik-titik observasi tersebar relatif dekat dengan garis regresi.

3.3 Pemeriksaan Asumsi

3.3.1 Uji Linearitas

# Plot antara nilai prediksi dan residual
plot(fitted(model), residuals(model),
     xlab = "Fitted values",
     ylab = "Residuals",
     main = "Uji Linearitas")
abline(h = 0, col = "red")

library(car)
crPlots(model)

Hasil uji linearitas menunjukkan bahwa pola sebaran residual terhadap fitted values terlihat acak di sekitar garis nol tanpa pola tertentu, sehingga asumsi linearitas dapat dikatakan terpenuhi. Hal ini diperkuat oleh grafik component + residual plot, di mana garis ungu (loess smoothing) relatif mengikuti garis regresi biru putus-putus, meskipun terdapat sedikit deviasi(penyimpangan kecil) pada beberapa titik. Dengan demikian, hubungan antara variabel horsepower \((hp)\) dan efisiensi bahan bakar \((mpg)\) dapat dianggap cukup linear.

3.3.2 Uji Homoskedastisitas

Uji Hipotesis

\(H0\) : Varians error bersifat konstan (homoskedastisitas).

\(H1\) : Varians error tidak konstan (terjadi heteroskedastisitas).

Kriteria Penolakan

  • Jika p-value ≤ \(\alpha\) (0.05) → Tolak \(H0\), artinya terdapat indikasi heteroskedastisitas.

  • Jika p-value > \(\alpha\) (0.05) → Gagal menolak \(H0\), artinya tidak terdapat bukti heteroskedastisitas sehingga asumsi homoskedastisitas terpenuhi.

library(lmtest)
heteros_test <- lm(mpg ~ hp, data = mtcars)
bptest(heteros_test)
## 
##  studentized Breusch-Pagan test
## 
## data:  heteros_test
## BP = 0.049298, df = 1, p-value = 0.8243

Hasil uji Studentized Breusch-Pagan menunjukkan nilai BP sebesar 0.049 dengan p-value 0.824 (> 0.05). Hal ini berarti tidak terdapat bukti yang cukup untuk menolak hipotesis nol, sehingga dapat disimpulkan bahwa model regresi memenuhi asumsi homoskedastisitas atau varians error bersifat konstan.

3.3.3 Normalitas Eror

shapiro.test(residuals(model))
## 
##  Shapiro-Wilk normality test
## 
## data:  residuals(model)
## W = 0.92337, p-value = 0.02568
hist(residuals(model), main = "Histogram Residuals")

qqnorm(residuals(model))
qqline(residuals(model) , col=("red") )

Berdasarkan hasil uji normalitas residual, histogram menunjukkan distribusi residual yang cenderung tidak simetris sempurna, sementara Q-Q plot memperlihatkan adanya penyimpangan pada ekor distribusi yang menjauh dari garis normal. Hasil uji Shapiro-Wilk menghasilkan nilai statistik \(W = 0.923\) dengan \(p\text{-value} = 0.02568\) \((<0.05)\), sehingga dapat disimpulkan bahwa residual tidak berdistribusi normal secara signifikan. Hal ini menunjukkan bahwa asumsi normalitas pada model regresi kurang terpenuhi.

3.3.4 Uji Multikolinearitas

Pada analisis regresi linear sederhana, uji multikolinearitas tidak diperlukan karena hanya terdapat satu variabel prediktor sehingga tidak ada potensi korelasi antar-prediktor.

4 . Model 2 : Analisis Regresi Linear Berganda

4.1 Membuat Model

model_berganda <- lm(mpg ~ hp + wt, data = mtcars)
summary(model_berganda)
## 
## Call:
## lm(formula = mpg ~ hp + wt, data = mtcars)
## 
## Residuals:
##    Min     1Q Median     3Q    Max 
## -3.941 -1.600 -0.182  1.050  5.854 
## 
## Coefficients:
##             Estimate Std. Error t value Pr(>|t|)    
## (Intercept) 37.22727    1.59879  23.285  < 2e-16 ***
## hp          -0.03177    0.00903  -3.519  0.00145 ** 
## wt          -3.87783    0.63273  -6.129 1.12e-06 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 2.593 on 29 degrees of freedom
## Multiple R-squared:  0.8268, Adjusted R-squared:  0.8148 
## F-statistic: 69.21 on 2 and 29 DF,  p-value: 9.109e-12

Selanjutnya, hasil regresi linear berganda diatas menunjukkan model:

\[ mpg = 37.22 - 0.031 \, hp - 3.87 \, wt \tag{5} \]

Ketika ditambahkan variabel berat mobil (model regresi berganda: \(mpg \sim hp + wt\)), model mengalami peningkatan yang cukup besar. Nilai \(R^2\) naik menjadi \(0.83\), yang berarti \(83\%\) variasi \(mpg\) kini dapat dijelaskan oleh kombinasi \(hp\) dan \(wt\). Selain itu, standard error residual turun dari \(3.86\) menjadi \(2.59\), menandakan prediksi model lebih tepat.

Dalam model berganda ini, baik \(hp\) maupun \(wt\) sama-sama signifikan memengaruhi \(mpg\). Namun, koefisien \(hp\) mengecil (dari \(-0.068\) menjadi \(-0.032\)). Hal ini menunjukkan bahwa sebagian pengaruh \(hp\) terhadap \(mpg\) sebelumnya “tercampur” dengan efek berat mobil. Setelah mengontrol \(wt\), pengaruh murni \(hp\) terhadap \(mpg\) lebih kecil. Sementara itu, \(wt\) memberikan dampak yang cukup besar: setiap kenaikan \(1\) ton berat mobil menurunkan \(mpg\) sekitar \(3.88\).

Secara keseluruhan, penambahan variabel \(wt\) terbukti memperbaiki model, meningkatkan kemampuan prediksi, dan memberikan pemahaman yang lebih akurat mengenai faktor-faktor yang memengaruhi efisiensi bahan bakar mobil.

4.2 Visualisasi Regresi

library(scatterplot3d)
s3d <- scatterplot3d(mtcars$hp, mtcars$wt, mtcars$mpg,
                     pch = 19, color = "blue",
                     xlab = "Horsepower (hp)",
                     ylab = "Weight (wt)",
                     zlab = "Miles per Gallon (mpg)",
                     main = "Hubungan MPG, HP dan WT")

model_berganda <- lm(mpg ~ hp + wt, data = mtcars)
s3d$plane3d(model_berganda, draw_polygon = TRUE, polygon_args = list(col = "orange"))

Scatterplot di atas menunjukkan adanya hubungan negatif antara horsepower \((hp)\) dan berat kendaraan \((wt)\) terhadap efisiensi bahan bakar \((mpg)\). Garis regresi yang menurun menegaskan bahwa semakin besar horsepower dan semakin berat kendaraan, maka konsumsi bahan bakar semakin boros (\(mpg\) semakin rendah). Model regresi ini cukup baik merepresentasikan data, karena sebagian besar titik observasi berada dekat dengan bidang regresi.

4.3 Pemeriksaan Asumsi

4.3.1 Uji Linearitas

library(car)
crPlots(model_berganda)

Component + Residual Plots menunjukkan bahwa hubungan antara horsepower \((hp)\) dengan mpg cenderung melengkung ke bawah, sehingga asumsi linearitas tidak sepenuhnya terpenuhi. Sementara itu, hubungan antara weight (wt) dengan mpg relatif lebih mendekati linear, meskipun masih tampak sedikit penyimpangan. Hal ini mengindikasikan bahwa model regresi mungkin perlu dipertimbangkan kembali dengan transformasi atau penambahan komponen non-linear, terutama untuk variabel horsepower.

4.3.2 Uji Homoskedastisitas

Uji Hipotesis

\(H0\) : Varians error bersifat konstan (homoskedastisitas).

\(H1\) : Varians error tidak konstan (terjadi heteroskedastisitas).

Kriteria Penolakan

  • Jika p-value ≤ \(\alpha\) (misalnya 0.05) → Tolak \(H0\), artinya terdapat indikasi heteroskedastisitas.

  • Jika p-value >\(\alpha\) (misalnya 0.05) → Gagal menolak \(H0\), artinya tidak terdapat bukti heteroskedastisitas sehingga asumsi homoskedastisitas terpenuhi.

library(lmtest)
bptest(model_berganda)
## 
##  studentized Breusch-Pagan test
## 
## data:  model_berganda
## BP = 0.88072, df = 2, p-value = 0.6438

Hasil uji Studentized Breusch-Pagan pada model regresi berganda menghasilkan nilai BP sebesar 0.881 dengan p-value 0.644 (> 0.05). Dengan demikian, tidak ada bukti yang cukup untuk menolak hipotesis nol, sehingga dapat disimpulkan bahwa model regresi memenuhi asumsi homoskedastisitas, atau varians error bersifat konstan.

4.3.3 Normalitas Eror

shapiro.test(residuals(model_berganda))
## 
##  Shapiro-Wilk normality test
## 
## data:  residuals(model_berganda)
## W = 0.92792, p-value = 0.03427
# Q-Q plot
qqnorm(residuals(model_berganda))
qqline(residuals(model_berganda), col="navy")

Berdasarkan hasil uji normalitas residual, histogram menunjukkan distribusi residual yang cenderung tidak simetris sempurna, sementara Q-Q plot memperlihatkan adanya penyimpangan pada ekor distribusi yang menjauh dari garis normal. Hasil uji Shapiro-Wilk menghasilkan nilai statistik \(W = 0.923\) dengan \(p\text{-value} = 0.02568\) \((<0.05)\), sehingga dapat disimpulkan bahwa residual tidak berdistribusi normal secara signifikan. Hal ini menunjukkan bahwa asumsi normalitas pada model regresi kurang terpenuhi.

4.3.4 Uji Multikolinearitas

library(car)
vif(model_berganda) 
##       hp       wt 
## 1.766625 1.766625

Hasil uji multikolinearitas dengan menggunakan nilai Variance Inflation Factor (VIF) menunjukkan bahwa variabel horsepower (hp) dan weight (wt) masing-masing memiliki VIF sebesar 1.77. Nilai ini masih jauh di bawah batas umum (10), sehingga dapat disimpulkan bahwa tidak terdapat masalah multikolinearitas pada model regresi, dan kedua variabel dapat digunakan secara bersamaan tanpa menimbulkan gangguan berarti pada estimasi model.

5 . Perbandingan hasil uji asumsi antara Model 1 dan Model 2

5.1 Uji Linearitas

Pada Model 1, asumsi linearitas terpenuhi karena hubungan antara \(hp\) dan \(mpg\) cukup konsisten dengan garis regresi, meskipun terdapat sedikit deviasi pada beberapa titik. Sebaliknya, pada Model 2 hubungan \(hp–mpg\) cenderung melengkung setelah dikontrol dengan \(wt\), sementara \(wt–mpg\) relatif lebih linear. Hal ini menunjukkan bahwa penambahan wt meningkatkan daya jelaskan model, tetapi sekaligus mengungkap adanya ketidaklinearan pada \(hp\), sehingga transformasi data mungkin diperlukan.

5.2 Uji Homoskedastisitas

Kedua model memenuhi asumsi homoskedastisitas karena hasil uji Breusch-Pagan menunjukkan p-value yang jauh lebih besar dari 0.05. Artinya, varians error dapat dianggap konstan baik pada Model 1 maupun Model 2, sehingga tidak ada indikasi heteroskedastisitas.

5.3 Normalitas Eror

Baik Model 1 maupun Model 2 tidak memenuhi asumsi normalitas eror. Hasil Shapiro-Wilk menghasilkan p-value < 0.05 dan Q-Q plot menunjukkan deviasi pada ekor distribusi. Pelanggaran ini lebih parah pada Model 2, yang menegaskan bahwa distribusi error menyimpang dari normalitas.

5.4 Uji Multikolinearitas

Model 1 tidak relevan untuk diuji karena hanya memiliki satu prediktor. Pada Model 2, nilai VIF sebesar 1.77 untuk hp dan wt menunjukkan tidak ada masalah multikolinearitas, sehingga kedua variabel dapat digunakan bersama tanpa mengganggu kestabilan estimasi.

6 . Kesimpulan

Berdasarkan hasil pengujian asumsi klasik, dapat disimpulkan bahwa Model 1 lebih sesuai karena memenuhi asumsi linearitas serta tidak mengalami masalah homoskedastisitas maupun multikolinearitas, meskipun masih melanggar normalitas residual. Model 2, meskipun memiliki daya jelaskan yang lebih tinggi, justru menimbulkan masalah tambahan pada linearitas dan deviasi normalitas yang lebih kuat. Hal ini menunjukkan bahwa penambahan variabel prediktor tidak selalu menjamin kelayakan model secara keseluruhan. Namun demikian, Model 2 tetap dapat dipertimbangkan, dengan catatan perlu dilakukan perbaikan melalui transformasi variabel (misalnya log atau polinomial) atau penerapan model non-linear. Oleh karena itu, pengembangan model lanjutan sebaiknya mempertimbangkan pendekatan tersebut guna memperoleh model yang lebih sesuai secara statistik tanpa melanggar asumsi klasik.