Regresi linier berganda merupakan metode statistika untuk memperoleh model hubungan antara 1 variabel dependen dengan lebih dari 1 cariabel independen.
Pada analisis ini digunakan dataset airquality, yaitu data kualitas udara di New York pada tahun 1973.
Regresi linier berganda merupakan metode analisis statistik yang digunakan untuk memodelkan hubungan antara satu variabel dependen dengan dua atau lebih variabel independen. Model regresi ini bertujuan untuk mengetahui seberapa besar pengaruh variabel independen terhadap variabel dependen serta untuk memprediksi nilai variabel dependen berdasarkan nilai variabel independen yang diketahui.
Secara umum, model regresi linier berganda dapat dinyatakan dalam bentuk persamaan sebagai berikut: \[ Y = \beta_0+\beta_1X_1+\beta_2X_2+...+\beta_kX_k+\epsilon \] dengan: \(Y\) : variabel dependen \(X_1,X_2,...,X_k\) : variabel independen \(\beta_0\) : intersep atau konstanta \(\beta_1,\beta_2,...,\beta_k\) : koefisien regresi masing-masing variabel dependen \(\epsilon\) : galat
Koefisien regresi menunjukkan perubahan rata-rata pada variabel dependen yang disebabkan oleh perubahan satu satuan pada variabel independen dengan asumsi variabel independen lainnya tetap.
Terdapat beberapa asumsi yang perlu dipenuhi pada regresi linier berganda, yaitu sebagai berikut. #### a. Normalitas Asumsi normalitas menyatakan bahwa residual atau galat dari model regresi harus berdistribusi normal. Pengujian normalitas residual penting dilakukan karena beberapa metode inferensi statistik dalam regresi, seperti uji t dan uji F, mengasumsikan bahwa residual berdistribusi normal.
Pengujian normalitas dapat dilakukan dengan berbagai metode, salah satunya adalah uji Kolmogorov–Smirnov atau uji Shapiro–Wilk.
Multikolinearitas terjadi ketika terdapat hubungan yang kuat antar variabel independen dalam model regresi. Kondisi ini dapat menyebabkan kesulitan dalam mengestimasi koefisien regresi secara akurat serta meningkatkan varians dari estimasi parameter.
Salah satu metode yang umum digunakan untuk mendeteksi multikolinearitas adalah dengan melihat nilai Variance Inflation Factor (VIF). Jika nilai VIF suatu variabel lebih besar dari 10, maka dapat diindikasikan terjadi multikolinearitas dalam model.
Heteroskedastisitas merupakan kondisi di mana varians residual tidak konstan pada seluruh nilai variabel independen. Dalam model regresi yang baik, residual diharapkan memiliki varians yang konstan atau disebut dengan homoskedastisitas.
Pengujian heteroskedastisitas dapat dilakukan dengan berbagai metode, salah satunya adalah uji Breusch–Pagan.
Autokorelasi terjadi ketika residual pada suatu observasi berkorelasi dengan residual pada observasi lainnya. Masalah ini sering muncul pada data runtun waktu (time series).
Salah satu metode yang umum digunakan untuk mendeteksi autokorelasi adalah uji Durbin–Watson. Nilai statistik Durbin–Watson yang mendekati 2 menunjukkan bahwa tidak terdapat autokorelasi dalam model regresi.
data <-na.omit(airquality)
summary(data)
## Ozone Solar.R Wind Temp
## Min. : 1.0 Min. : 7.0 Min. : 2.30 Min. :57.00
## 1st Qu.: 18.0 1st Qu.:113.5 1st Qu.: 7.40 1st Qu.:71.00
## Median : 31.0 Median :207.0 Median : 9.70 Median :79.00
## Mean : 42.1 Mean :184.8 Mean : 9.94 Mean :77.79
## 3rd Qu.: 62.0 3rd Qu.:255.5 3rd Qu.:11.50 3rd Qu.:84.50
## Max. :168.0 Max. :334.0 Max. :20.70 Max. :97.00
## Month Day
## Min. :5.000 Min. : 1.00
## 1st Qu.:6.000 1st Qu.: 9.00
## Median :7.000 Median :16.00
## Mean :7.216 Mean :15.95
## 3rd Qu.:9.000 3rd Qu.:22.50
## Max. :9.000 Max. :31.00
Variabel yang digunakan dalam analisis ini adalah: Variabel respon (Y): Ozone Variabel prediktor (X): Temp (temperatur) Wind (kecepatan angin) Solar.R (radiasi matahari)
Rata-rata temperatur adalah 77.7927928. Rata-rata kecepatan angin adalah 9.9396396. Rata-rata radiasi matahari adalah 184.8018018.
model <- lm(Ozone ~ Temp + Wind + Solar.R, data = data)
summary(model)
##
## Call:
## lm(formula = Ozone ~ Temp + Wind + Solar.R, data = data)
##
## Residuals:
## Min 1Q Median 3Q Max
## -40.485 -14.219 -3.551 10.097 95.619
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) -64.34208 23.05472 -2.791 0.00623 **
## Temp 1.65209 0.25353 6.516 2.42e-09 ***
## Wind -3.33359 0.65441 -5.094 1.52e-06 ***
## Solar.R 0.05982 0.02319 2.580 0.01124 *
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 21.18 on 107 degrees of freedom
## Multiple R-squared: 0.6059, Adjusted R-squared: 0.5948
## F-statistic: 54.83 on 3 and 107 DF, p-value: < 2.2e-16
Model regresi yang diperoleh adalah: \[ Ozone = -64.3421+ 1.6521Temp + -3.3336Wind + 0.0598Solar.R \]
Uji F digunakan untuk mengetahui apakah variabel independen secara bersama-sama berpengaruh terhadap variabel dependen.
Hipotesis: \[ H_0: \beta_1=\beta_2=\beta_3=0 \] \[ H_1 : \text{Minimal ada satu } \beta_i \neq 0 \] Statistik uji:
summary(model)
##
## Call:
## lm(formula = Ozone ~ Temp + Wind + Solar.R, data = data)
##
## Residuals:
## Min 1Q Median 3Q Max
## -40.485 -14.219 -3.551 10.097 95.619
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) -64.34208 23.05472 -2.791 0.00623 **
## Temp 1.65209 0.25353 6.516 2.42e-09 ***
## Wind -3.33359 0.65441 -5.094 1.52e-06 ***
## Solar.R 0.05982 0.02319 2.580 0.01124 *
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 21.18 on 107 degrees of freedom
## Multiple R-squared: 0.6059, Adjusted R-squared: 0.5948
## F-statistic: 54.83 on 3 and 107 DF, p-value: < 2.2e-16
Kriteria penolakan: \[ \text{Tolak } H_0 \text{ jika } p\text{-value} < \alpha = 0.05 \]
Keputusan dan kesimpulan: Karena \(p\)-value (2.2e-16) < 0.05, maka variabel independen secara simultan berpengaruh signifikan terhadap variabel dependen.
Uji t digunakan untuk mengetahui pengaruh masing-masing variabel independen terhadap variabel dependen.
Hipotesis: \[ H_0 : \beta_i = 0 \]
\[ H_1 : \beta_i \neq 0 \] Statistik uji:
summary(model)$coefficients
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) -64.34207893 23.05472435 -2.790841 6.226638e-03
## Temp 1.65209291 0.25352979 6.516366 2.423506e-09
## Wind -3.33359131 0.65440710 -5.094063 1.515934e-06
## Solar.R 0.05982059 0.02318647 2.579979 1.123664e-02
Kriteria penolakan: \[ \text{Tolak } H_0 \text{ jika } p\text{-value} < \alpha = 0.05 \] Keputusan dan kesimpulan: Berdasarkan hasil uji t, diperoleh bahwa seluruh variabel independen yaitu Temp, Wind, dan Solar.R berpengaruh signifikan terhadap variabel Ozone pada taraf signifikansi 5%.
Uji normalitas residual dilakukan untuk mengetahui apakah residual dari model regresi berdistribusi normal. Pada analisis ini digunakan uji Kolmogorov-Smirnov.
Hipotesis: \[ H_0 : \text{Residual berdistribusi normal} \] \[ H_1 : \text{Residual tidak berdistribusi normal} \] Statistik uji:
error <- model$residuals
ks.test(error,
"pnorm",
mean(error),
sqrt(var(error)))
##
## Asymptotic one-sample Kolmogorov-Smirnov test
##
## data: error
## D = 0.11013, p-value = 0.1354
## alternative hypothesis: two-sided
Kriteria penolakan: \[ \text{Tolak } H_0 \text{ jika } p\text{-value} < \alpha = 0.05 \] Keputusan dan kesimpulan: Diperoleh \(p\)-value sebesar 0.1354 > \(\alpha=0.05\), sehingga \(H_0\) gagal ditolak. Dapat disimpulkan bahwa residual berdistribusi normal.
Uji Multikolinearitas digunakan untuk mengetahui apakah antar variabel independen saling berkorelasi kuat.
Hipotesis: \[ H_0 : \text{Tidak terdapat multikolinearitas antar variabel independen} \] \[ H_1 : \text{Terdapat multikolinearitas antar variabel independen} \] Statistik uji:
library(car)
## Warning: package 'car' was built under R version 4.3.3
## Loading required package: carData
## Warning: package 'carData' was built under R version 4.3.3
vif(model)
## Temp Wind Solar.R
## 1.431367 1.329070 1.095253
Kriteria penolakan: TOlak \(H_0\) jika nilai \(VIF \geq 10\).
Keputusan dan kesimpulan: Diperoleh nilai VIF untuk variabel Temp adalah 1.431, Wind sebesar 1.329, dan Solar.R sebesar 1.095.pada semua variabel independen yaitu Temp, Wind, dan Solar.R memiliki nilai VIF kurang dari 10, sehingga \(H_0\) gagal ditolak. Oleh karena itu dapat disimpulkan bahwa tidak terdapat multikolinearitas dalam model regresi yang digunakan
Uji autokorelasi digunakan untuk mengetahui apakah terdapat korelasi antara residual pada pengamatan yang berbeda.
Hipotesis: \[ H_0 : \text{Tidak terdapat autokorelasi pada residual} \] \[ H_1 : \text{Terdapat autokorelasi pada residual} \] Statistik uji:
library(lmtest)
## Warning: package 'lmtest' was built under R version 4.3.3
## Loading required package: zoo
## Warning: package 'zoo' was built under R version 4.3.3
##
## Attaching package: 'zoo'
## The following objects are masked from 'package:base':
##
## as.Date, as.Date.numeric
dwtest(model)
##
## Durbin-Watson test
##
## data: model
## DW = 1.9355, p-value = 0.3347
## alternative hypothesis: true autocorrelation is greater than 0
Kriteria penolakan: \[ \text{Tolak } H_0 \text{ jika } p\text{-value} < \alpha = 0.05 \] Keputusan dan kesimpulan: Diperoleh nilai \(p\)-value sebesar 0.3347 \(\geq \alpha\) sehingga \(H_0\) gagal ditolak. Oleh karena itu dapat disimpulkan bahwa tidak terdapat autokorelasi antara residual.
Uji heteroskedastisitas dilakukan untuk mengetahui apakah varians residual pada model regresi konstan atau tidak. Pengujian dilakukan menggunakan Breusch–Pagan test.
Hipotesis: \[ H_0 : \text{Varians residual konstan (homoskedastisitas)} \] \[ H_1: \text{Varians residual tidak konstan (heteroskedastisitas)} \] Statistik uji:
library(lmtest)
bptest(model)
##
## studentized Breusch-Pagan test
##
## data: model
## BP = 5.0554, df = 3, p-value = 0.1678
Kriteria penolakan: \[ \text{Tolak } H_0 \text{ jika } p\text{-value} < \alpha = 0.05 \] Keputusan dan kesimpulan: Diperoleh nilai \(p\)-value sebesar0.1678 \(\geq \alpha\) sehingga \(H_0\) gagal ditolak. Oleh karena itu dapat disimpulkan bahwa tidak terdapat autokorelasi antara residual.
Berdasarkan hasil analisis linier berganda diperoleh model regresi sebagai berikut: \[ \hat{Y} = -64.3421 + 1.6521Temp - 3.3336Wind + 0.0598Solar.R \]
Nilai intercept sebesar -64.3421 menunjukkan bahwa apabila variabel Temp, Wind, dan Solar.R bernilai nol, maka nilai prediksi variabel respon adalah sebesar -64.3421.
Koefisien regresi variabel Temp sebesar 1.6521 menunjukkan bahwa setiap kenaikan 1 satuan suhu, dengan asumsi variabel Wind dan Solar.R konstan, maka nilai variabel respon akan meningkat sebesar 1.6521 satuan.
Koefisien regresi variabel Wind sebesar -3.3336 menunjukkan bahwa setiap kenaikan 1 satuan kecepatan angin, dengan asumsi variabel Temp dan Solar.R konstan, maka nilai variabel respon akan berubah sebesar -3.3336 satuan.
Koefisien regresi variabel Solar.R sebesar 0.0598 menunjukkan bahwa setiap kenaikan 1 satuan radiasi matahari, dengan asumsi variabel Temp dan Wind konstan, maka nilai variabel respon akan meningkat sebesar 0.0598 satuan.
par(mfrow = c(1,3)) # membagi area plot menjadi 1 baris 3 kolom
# Ozone vs Temp
plot(airquality$Temp, airquality$Ozone,
main = "Ozone vs Temp",
xlab = "Temperature",
ylab = "Ozone",
pch = 19,
col = "steelblue")
abline(lm(Ozone ~ Temp, data = airquality), col = "red", lwd = 2)
# Ozone vs Wind
plot(airquality$Wind, airquality$Ozone,
main = "Ozone vs Wind",
xlab = "Wind",
ylab = "Ozone",
pch = 19,
col = "steelblue")
abline(lm(Ozone ~ Wind, data = airquality), col = "red", lwd = 2)
# Ozone vs Solar.R
plot(airquality$Solar.R, airquality$Ozone,
main = "Ozone vs Solar Radiation",
xlab = "Solar Radiation",
ylab = "Ozone",
pch = 19,
col = "steelblue")
abline(lm(Ozone ~ Solar.R, data = airquality), col = "red", lwd = 2)
par(mfrow = c(1,1)) # mengembalikan layout plot ke normal
Interpretasi Scatterplot
Berdasarkan hasil visualisasi scatterplot antara variabel respon Ozone dengan masing-masing variabel independen (Temp, Wind, dan Solar.R), dapat diperoleh beberapa kesimpulan awal mengenai pola hubungan antar variabel sebagai berikut:
Hubungan Ozone dan Temperature (Temp) Scatterplot menunjukkan adanya kecenderungan hubungan positif antara suhu udara (Temp) dan konsentrasi ozon (Ozone). Hal ini terlihat dari garis regresi yang memiliki kemiringan positif. Artinya, ketika suhu udara meningkat, konsentrasi ozon cenderung meningkat.
Hubungan Ozone dan Wind Scatterplot menunjukkan adanya kecenderungan hubungan negatif antara kecepatan angin (Wind) dan konsentrasi ozon (Ozone). Garis regresi memiliki kemiringan negatif yang menunjukkan bahwa semakin tinggi kecepatan angin, konsentrasi ozon cenderung menurun.
Hubungan Ozone dan Solar Radiation (Solar.R) Scatterplot menunjukkan adanya kecenderungan hubungan positif antara radiasi matahari (Solar.R) dan konsentrasi ozon (Ozone). Garis regresi yang cenderung naik menunjukkan bahwa semakin tinggi radiasi matahari, konsentrasi ozon cenderung meningkat.
Secara umum, ketiga scatterplot menunjukkan adanya kecenderungan hubungan linear antara variabel respon dan variabel independen. Oleh karena itu, penggunaan model regresi linier berganda dalam analisis ini dianggap sesuai untuk menggambarkan hubungan antara variabel-variabel tersebut.