Pada analisis ini dilakukan tahapan lengkap mulai dari pengumpulan data, eksplorasi data, estimasi model regresi, uji asumsi, pengujian hipotesis, serta evaluasi model. Setiap tahap dijelaskan dalam bentuk paragraf singkat dan dilanjutkan dengan syntax R untuk menjalankannya.

1.Tahap Pengumpulan Data

Tahap pengumpulan data merupakan langkah awal dalam analisis regresi linier berganda. Pada tahap ini, seluruh variabel yang akan dianalisis dikumpulkan dan disusun ke dalam format yang sesuai untuk pengolahan statistik. Data terdiri dari satu variabel dependen (y) dan tiga variabel independen (x1, x2, x3). Variabel y menggambarkan nilai yang ingin diprediksi, sedangkan variabel x1, x2, dan x3 merupakan faktor yang diduga memengaruhi variabel y. Data dimasukkan ke dalam R dalam bentuk data frame agar dapat dengan mudah diolah dan dianalisis pada tahap selanjutnya.

data <- data.frame(
  y = c(69.2,70.5,71.6,71.1,70.2,70.8,69.8,70.7,71.2,72,73.5,72.1,72.6,74.2,72.4,
        71.5,73.9,68.7,67.9,70.3,70,70.6,72.2,69.4,71.8,69.7,71,69.9,68.8,69,
        69.3,69.1,66.4,67.8,67,66.7,66.9,66.5),
  x1 = c(54500,66000,70000,99000,60000,74000,57000,59000,98000,152000,260000,
         69000,65500,70500,71000,89000,91000,51000,49000,87000,112000,103000,
         214000,151000,86000,74000,95000,72000,64000,63000,72000,76000,89000,
         94000,87000,85000,86000,83000),
  x2 = c(15200,16200,16500,17500,15500,16000,15000,15250,18000,20000,25500,
         17000,16500,18200,16900,17500,19800,14300,13900,17000,17500,18000,
         20500,18000,17200,16000,17800,15500,15000,14900,15200,15600,14500,
         15000,14800,14700,14750,14600),
  x3 = c(210,225,235,240,215,230,205,220,260,270,300,240,250,290,245,260,285,
         190,185,230,235,240,275,260,245,230,260,225,210,205,220,225,180,190,
         185,180,182,178)
)
head(data)
##      y    x1    x2  x3
## 1 69.2 54500 15200 210
## 2 70.5 66000 16200 225
## 3 71.6 70000 16500 235
## 4 71.1 99000 17500 240
## 5 70.2 60000 15500 215
## 6 70.8 74000 16000 230

2.Tahap Eksplorasi Data (Exploratory Data Analysis / EDA)

Eksplorasi data dilakukan untuk memahami gambaran awal dataset sebelum dilakukan pemodelan. Tahap ini mencakup pemeriksaan statistik deskriptif seperti nilai minimum, maksimum, rata-rata, median, dan kuartil melalui fungsi summary(). Selain itu, struktur data juga diperiksa dengan fungsi str() untuk memastikan tipe data tiap variabel sudah sesuai. Tahap EDA membantu mendeteksi adanya nilai ekstrem, distribusi data yang tidak wajar, serta memberikan gambaran awal hubungan antar variabel sebelum masuk ke tahapan pemodelan regresi.

summary(data)
##        y               x1               x2              x3       
##  Min.   :66.40   Min.   : 49000   Min.   :13900   Min.   :178.0  
##  1st Qu.:69.03   1st Qu.: 66750   1st Qu.:15000   1st Qu.:206.2  
##  Median :70.25   Median : 79500   Median :16100   Median :230.0  
##  Mean   :70.17   Mean   : 89434   Mean   :16613   Mean   :229.2  
##  3rd Qu.:71.58   3rd Qu.: 93250   3rd Qu.:17500   3rd Qu.:248.8  
##  Max.   :74.20   Max.   :260000   Max.   :25500   Max.   :300.0
str(data)
## 'data.frame':    38 obs. of  4 variables:
##  $ y : num  69.2 70.5 71.6 71.1 70.2 70.8 69.8 70.7 71.2 72 ...
##  $ x1: num  54500 66000 70000 99000 60000 74000 57000 59000 98000 152000 ...
##  $ x2: num  15200 16200 16500 17500 15500 ...
##  $ x3: num  210 225 235 240 215 230 205 220 260 270 ...

3.Tahap Analisis Korelasi

Analisis korelasi dilakukan untuk melihat kekuatan dan arah hubungan antara variabel dependen dan independen. Korelasi yang tinggi antar variabel independen dapat menimbulkan masalah multikolinearitas, sehingga tahap ini penting dilakukan sebelum membangun model regresi linier berganda. Nilai korelasi membantu memberikan indikasi awal mengenai variabel mana yang berpotensi memberikan pengaruh kuat terhadap variabel dependen.

cor(data)
##            y        x1        x2        x3
## y  1.0000000 0.3095411 0.7349458 0.9155683
## x1 0.3095411 1.0000000 0.8401461 0.5555167
## x2 0.7349458 0.8401461 1.0000000 0.8745981
## x3 0.9155683 0.5555167 0.8745981 1.0000000

4.Tahap Estimasi Model Regresi Linier Berganda

Pada tahap ini dilakukan pembangunan model regresi linier berganda menggunakan fungsi lm(). Tujuan utama dari tahap ini adalah memperoleh estimasi parameter (koefisien regresi) dari variabel independen terhadap variabel dependen. Output yang dihasilkan mencakup koefisien regresi, nilai p-value, R-squared, dan adjusted R-squared. Koefisien regresi menunjukkan besar pengaruh setiap variabel independen terhadap y, sedangkan nilai p-value digunakan sebagai dasar keputusan dalam pengujian hipotesis. R-squared menunjukkan seberapa besar variasi y dapat dijelaskan oleh model.

model <- lm(y ~ x1 + x2 + x3, data = data)
summary(model)
## 
## Call:
## lm(formula = y ~ x1 + x2 + x3, data = data)
## 
## Residuals:
##      Min       1Q   Median       3Q      Max 
## -1.03642 -0.37945 -0.08477  0.44308  1.50797 
## 
## Coefficients:
##               Estimate Std. Error t value Pr(>|t|)    
## (Intercept)  5.290e+01  1.222e+00  43.293  < 2e-16 ***
## x1          -3.070e-05  5.914e-06  -5.192 9.68e-06 ***
## x2           6.233e-04  1.932e-04   3.227  0.00277 ** 
## x3           4.211e-02  8.508e-03   4.949 2.00e-05 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 0.6016 on 34 degrees of freedom
## Multiple R-squared:  0.9201, Adjusted R-squared:  0.913 
## F-statistic: 130.5 on 3 and 34 DF,  p-value: < 2.2e-16

5.Tahap Uji Asumsi Regresi Agar model regresi linier berganda valid digunakan, diperlukan serangkaian uji asumsi. Asumsi yang diperiksa meliputi:

  1. Normalitas residual – diperiksa melalui histogram, QQ-plot, dan uji

  2. Shapiro–Wilk. Residual yang berdistribusi normal menunjukkan model ayak digunakan.

  3. Heteroskedastisitas – diuji menggunakan Breusch–Pagan test. Jika p-value besar, maka tidak terjadi heteroskedastisitas.

  4. Multikolinearitas – diuji dengan Variance Inflation Factor (VIF).Nilai VIF < 10 menunjukkan tidak ada masalah multikolinearitas serius.

  5. Autokorelasi – diuji menggunakan Durbin–Watson test. Nilai DW mendekati 2 menunjukkan tidak terjadi autokorelasi.

    Jika seluruh asumsi terpenuhi, maka model dapat digunakan untuk pengujian hipotesis dan interpretasi lebih lanjut.

par(mfrow=c(2,2))
plot(model)

par(mfrow=c(1,1))

Selain plot, dilakukan juga uji formal yaitu Shapiro–Wilk untuk normalitas residual, Breusch–Pagan untuk heteroskedastisitas, dan Variance Inflation Factor (VIF) untuk multikolinearitas.

shapiro.test(residuals(model))
## 
##  Shapiro-Wilk normality test
## 
## data:  residuals(model)
## W = 0.9764, p-value = 0.5904
library(lmtest)
## Loading required package: zoo
## 
## Attaching package: 'zoo'
## The following objects are masked from 'package:base':
## 
##     as.Date, as.Date.numeric
bptest(model)
## 
##  studentized Breusch-Pagan test
## 
## data:  model
## BP = 17.886, df = 3, p-value = 0.0004644
library(car)
## Loading required package: carData
vif(model)
##        x1        x2        x3 
##  6.351695 18.681311  7.947905

6.Tahap Pengujian Hipotesis

Tahap ini bertujuan menentukan apakah variabel independen memiliki pengaruh signifikan terhadap variabel dependen. Pengujian dilakukan melalui uji-t pada masing-masing koefisien regresi.

Jika p-value < 0.05, maka variabel independen berpengaruh signifikan terhadap y. Selain itu, dilakukan juga uji F simultan untuk mengetahui apakah seluruh variabel independen secara bersama-sama berpengaruh terhadap variabel dependen.

summary(model)$coefficients
##                  Estimate   Std. Error   t value     Pr(>|t|)
## (Intercept)  5.290446e+01 1.222011e+00 43.292945 2.517226e-31
## x1          -3.070437e-05 5.913648e-06 -5.192120 9.675185e-06
## x2           6.233397e-04 1.931611e-04  3.227046 2.767351e-03
## x3           4.210851e-02 8.507944e-03  4.949316 1.998083e-05

7.Tahap Evaluasi dan Validasi Model

Evaluasi model dilakukan untuk menilai seberapa baik model dapat menjelaskan variasi variabel dependen dan memprediksi nilai baru. Nilai R-squared dan Adjusted R-squared digunakan untuk mengukur goodness of fit. Semakin tinggi nilainya, semakin baik model menjelaskan variabel y. Selanjutnya dilakukan perhitungan Mean Squared Error (MSE) dan Root Mean Squared Error (RMSE) untuk mengukur besar kesalahan prediksi model. Nilai RMSE yang kecil menunjukkan bahwa model memiliki tingkat kesalahan prediksi yang rendah dan performanya baik.

summary(model)$r.squared
## [1] 0.9200662
summary(model)$adj.r.squared
## [1] 0.9130132
data$prediksi <- predict(model)
head(data)
##      y    x1    x2  x3 prediksi
## 1 69.2 54500 15200 210 69.54862
## 2 70.5 66000 16200 225 70.45049
## 3 71.6 70000 16500 235 70.93575
## 4 71.1 99000 17500 240 70.87921
## 5 70.2 60000 15500 215 69.77729
## 6 70.8 74000 16000 230 70.29073

8.Tahap Penarikan Kesimpulan

Tahap terakhir adalah menarik kesimpulan dari keseluruhan proses analisis. Kesimpulan berisi interpretasi hasil regresi, variabel mana yang berpengaruh signifikan, apakah asumsi regresi terpenuhi, serta bagaimana kualitas model dalam memprediksi variabel dependen. Kesimpulan ini menjadi dasar rekomendasi atau keputusan penelitian selanjutnya.

cat("Model regresi linier berganda berhasil dibangun dan diuji melalui berbagai tahap, 
     meliputi eksplorasi data, uji asumsi, pengujian hipotesis, serta evaluasi model. 
     Hasil menunjukkan bagaimana variabel x1, x2, dan x3 berkontribusi terhadap y, 
     sehingga model dapat digunakan sebagai dasar analisis selanjutnya.")
## Model regresi linier berganda berhasil dibangun dan diuji melalui berbagai tahap, 
##      meliputi eksplorasi data, uji asumsi, pengujian hipotesis, serta evaluasi model. 
##      Hasil menunjukkan bagaimana variabel x1, x2, dan x3 berkontribusi terhadap y, 
##      sehingga model dapat digunakan sebagai dasar analisis selanjutnya.