Statistika adalah ilmu yang mempelajari bagaimana merencanakan, mengumpulkan, menganalisis, dan mempresentasikan data[cite: 11]. Banyak analisis statistika bertujuan untuk mengetahui pola relasi atau hubungan antara variabel terikat dengan variabel bebasnya melalui pembentukan persamaan matematik untuk keperluan peramalan[cite: 11]. Analisis Regresi Linier Berganda digunakan untuk mengevaluasi hubungan antara satu variabel dependen (\(Y\)) dengan dua atau lebih variabel independen (\(X\))[cite: 11, 15].
Untuk menghasilkan model regresi yang valid dan memenuhi kriteria BLUE (Best Linear Unbiased Estimator), diperlukan tahapan evaluasi yang komprehensif[cite: 11]. Tahapan pertama adalah uji asumsi klasik, yang meliputi uji multikolinearitas, uji heteroskedastisitas, uji autokorelasi, dan uji normalitas galat[cite: 11, 12]. Tahapan kedua adalah pengujian signifikansi parameter melalui uji simultan (Uji F) dan uji parsial (Uji t) untuk membuktikan apakah variabel independen secara bersama-sama maupun individu berpengaruh nyata terhadap variabel dependen[cite: 40]. Tahapan ketiga adalah evaluasi model melalui deteksi pencilan (outlier), karena keberadaan amatan ekstrem dengan sisaan besar dapat memengaruhi kestabilan estimasi koefisien regresi[cite: 2, 11].
Bagaimana melakukan analisis regresi linier berganda yang meliputi eksplorasi data, statistik deskriptif, estimasi model, pengujian asumsi klasik, uji signifikansi parameter, serta identifikasi dan pengujian outlier menggunakan program R?
Melakukan analisis regresi linier berganda, menguji asumsi klasik dan signifikansi parameter, serta mengidentifikasi outlier menggunakan Influence Plot dan uji Bonferroni.
Laporan ini menggunakan data sekunder dengan 38 observasi dan 3 variabel independen yang dianalisis menggunakan Regresi Linier Berganda, mencakup eksplorasi statistik deskriptif, estimasi model, uji asumsi klasik, pengujian hipotesis (Uji F dan Uji t), serta evaluasi outlier menggunakan Influence Plot dan Uji Bonferroni[cite: 4, 18].
Analisis Regresi Linier Berganda menjelaskan hubungan linier antara satu variabel dependen \(Y\) dengan \(k\) variabel independen \(X_1, X_2, \dots, X_k\)[cite: 15]. Bentuk umum modelnya adalah: \[Y = \beta_0 + \beta_1 X_1 + \beta_2 X_2 + \dots + \beta_k X_k + \epsilon\] di mana \(\beta_0\) adalah konstanta, \(\beta_1, \dots, \beta_k\) adalah parameter koefisien regresi, dan \(\epsilon\) adalah galat acak (random error)[cite: 15].
Outlier adalah titik pengamatan yang memiliki nilai sisaan atau nilai prediktor yang menyimpang jauh dari pola keseluruhan data[cite: 2, 11]. * Influence Plot: Memvisualisasikan hubungan antara Studentized Residuals (sumbu Y), Hat-Values / leverage (sumbu X), dan Cook’s Distance (ukuran lingkaran)[cite: 33, 79]. Amatan dengan sisaan di luar rentang \(-2\) hingga \(+2\) terindikasi pencilan pada \(Y\), sedangkan nilai \(h_{ii} > \frac{2p}{n}\) merupakan titik high leverage pada \(X\)[cite: 70, 79]. * Uji Outlier Bonferroni: Menguji signifikansi pencilan secara formal menggunakan nilai Studentized Deleted Residuals (\(t_i\)) dengan koreksi taraf nyata Bonferroni[cite: 70, 78]. Jika nilai Bonferroni p \(> 0,05\), maka pengamatan tersebut tidak dinyatakan signifikan sebagai outlier secara statistik[cite: 78].
Data yang digunakan merupakan data sekunder kuantitatif yang bersumber dari publikasi resmi Badan Pusat Statistik (BPS) mengenai Indeks Pembangunan Manusia (IPM) dan komponen pembentuknya pada 38 Kabupaten/Kota di Provinsi Jawa Timur Tahun 2021[cite: 18].
Berikut adalah sintaks R untuk memasukkan data 38 Kabupaten/Kota di Provinsi Jawa Timur tahun 2021 serta menampilkan ringkasan statistik deskriptifnya[cite: 18, 31, 32]:
# Memuat package yang diperlukan
library(lmtest)
library(car)
# Input data 38 Kabupaten/Kota Provinsi Jawa Timur Tahun 2021
datanadia <- data.frame(
Kabupaten_Kota = c("Pacitan", "Ponorogo", "Trenggalek", "Tulungagung", "Blitar",
"Kediri", "Malang", "Lumajang", "Jember", "Banyuwangi",
"Bondowoso", "Situbondo", "Probolinggo", "Pasuruan", "Sidoarjo",
"Mojokerto", "Jombang", "Nganjuk", "Madiun", "Magetan",
"Ngawi", "Bojonegoro", "Tuban", "Lamongan", "Gresik",
"Bangkalan", "Sampang", "Pamekasan", "Sumenep", "Kota Kediri",
"Kota Blitar", "Kota Malang", "Kota Probolinggo", "Kota Pasuruan",
"Kota Mojokerto", "Kota Madiun", "Kota Surabaya", "Kota Batu"),
X1 = c(7.61, 7.55, 7.56, 8.34, 7.50, 8.08, 7.43, 6.67, 6.49, 7.42,
5.94, 6.62, 6.12, 7.41, 10.72, 8.64, 8.55, 7.78, 7.82, 8.36,
7.26, 7.38, 7.18, 8.04, 9.56, 5.96, 4.86, 6.70, 5.92, 10.15,
10.35, 10.41, 8.95, 9.33, 10.47, 11.37, 10.50, 9.31),
X2 = c(72.07, 72.85, 73.86, 74.16, 73.61, 72.65, 72.61, 70.21, 69.28, 70.72,
66.89, 69.24, 67.36, 70.25, 74.06, 72.59, 72.49, 71.60, 71.50, 72.65,
72.41, 71.72, 71.56, 72.49, 72.67, 70.22, 68.07, 67.67, 71.56, 74.04,
73.86, 73.36, 70.35, 71.60, 73.39, 72.83, 74.18, 72.65),
X3 = c(8887, 9851, 9743, 10807, 10757, 11127, 10163, 9203, 9410, 12217,
10690, 9996, 10969, 10297, 14578, 12844, 11394, 12172, 11658, 11833,
11459, 10221, 10380, 11510, 13280, 8673, 8790, 8804, 9000, 12359,
13816, 16663, 12245, 13354, 13610, 16095, 17862, 12887),
Y = c(68.57, 71.06, 70.06, 73.15, 71.05, 72.56, 70.60, 66.07, 67.32, 71.38,
66.59, 67.78, 66.26, 68.93, 80.65, 74.15, 73.45, 71.97, 71.88, 74.15,
71.04, 69.59, 68.91, 73.12, 76.50, 64.36, 62.80, 66.40, 67.04, 78.60,
78.98, 82.04, 73.66, 75.62, 78.43, 81.25, 82.31, 76.28)
)
# Menampilkan ringkasan statistik deskriptif
summary(datanadia[, -1])## X1 X2 X3 Y
## Min. : 4.860 Min. :66.89 Min. : 8673 Min. :62.80
## 1st Qu.: 7.200 1st Qu.:70.44 1st Qu.:10038 1st Qu.:68.66
## Median : 7.695 Median :72.45 Median :11260 Median :71.63
## Mean : 8.061 Mean :71.72 Mean :11569 Mean :72.23
## 3rd Qu.: 9.220 3rd Qu.:72.84 3rd Qu.:12723 3rd Qu.:75.25
## Max. :11.370 Max. :74.18 Max. :17862 Max. :82.31
Interpretasi Statistik Deskriptif: * Indeks Pembangunan Manusia (\(Y\)): Memiliki nilai minimum sebesar \(62,80\) (Sampang) dan maksimum \(82,31\) (Kota Surabaya), dengan rata-rata \(72,23\) dan median \(71,63\)[cite: 21, 31, 32]. * Rata-rata Lama Sekolah (\(X_1\)): Berkisar antara \(4,860\) tahun hingga \(11,370\) tahun dengan rata-rata \(8,061\) tahun[cite: 21]. * Umur Harapan Hidup (\(X_2\)): Berkisar antara \(66,89\) tahun hingga \(74,18\) tahun dengan rata-rata \(71,72\) tahun[cite: 22]. * Pengeluaran per Kapita (\(X_3\)): Berkisar antara \(8.673\) ribu rupiah hingga \(17.862\) ribu rupiah dengan rata-rata \(11.569\) ribu rupiah[cite: 22, 46].
##
## Call:
## lm(formula = Y ~ X1 + X2 + X3, data = datanadia)
##
## Residuals:
## Min 1Q Median 3Q Max
## -1.15721 -0.37066 0.01384 0.39096 1.13863
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 1.946e+01 5.034e+00 3.866 0.000474 ***
## X1 1.737e+00 1.668e-01 10.412 4.11e-12 ***
## X2 4.037e-01 7.687e-02 5.252 8.08e-06 ***
## X3 8.478e-04 9.582e-05 8.848 2.43e-10 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 0.603 on 34 degrees of freedom
## Multiple R-squared: 0.987, Adjusted R-squared: 0.9858
## F-statistic: 859 on 3 and 34 DF, p-value: < 2.2e-16
Berdasarkan hasil estimasi pada output di atas, diperoleh persamaan model Regresi Linier Berganda[cite: 23]: \[\hat{Y} = 19,46 + 1,737X_1 + 0,4037X_2 + 0,0008478X_3\]
Interpretasi Model: * Konstanta (\(\beta_0 = 19,46\)): Jika seluruh variabel independen bernilai nol, maka nilai prediksi IPM sebesar \(19,46\)[cite: 23]. * Koefisien \(X_1\) (\(\beta_1 = 1,737\)): Setiap kenaikan Rata-rata Lama Sekolah sebesar 1 tahun akan meningkatkan IPM sebesar \(1,737\) poin dengan asumsi variabel lain konstan[cite: 23]. * Koefisien \(X_2\) (\(\beta_2 = 0,4037\)): Setiap kenaikan Umur Harapan Hidup sebesar 1 tahun akan meningkatkan IPM sebesar \(0,4037\) poin dengan asumsi variabel lain konstan[cite: 23]. * Koefisien \(X_3\) (\(\beta_3 = 0,0008478\)): Setiap kenaikan Pengeluaran per Kapita sebesar 1 ribu rupiah akan meningkatkan IPM sebesar \(0,0008478\) poin dengan asumsi variabel lain konstan[cite: 23]. * Koefisien Determinasi (Adjusted R-squared): Sebesar \(0,9858\) (\(98,58\%\)), artinya ketiga variabel bebas mampu menjelaskan keragaman IPM sebesar \(98,58\%\), sedangkan sisanya \(1,42\%\) dijelaskan oleh faktor lain di luar model[cite: 23].
## X1 X2 X3 Y
## X1 1.0000000 0.7233223 0.8696959 0.9770217
## X2 0.7233223 1.0000000 0.5183626 0.7406854
## X3 0.8696959 0.5183626 1.0000000 0.9226563
## Y 0.9770217 0.7406854 0.9226563 1.0000000
## X1 X2 X3
## 7.038004 2.344677 4.588751
Interpretasi: Nilai VIF untuk masing-masing variabel adalah \(VIF_{X1} = 7,038\), \(VIF_{X2} = 2,345\), dan \(VIF_{X3} = 4,589\)[cite: 24]. Karena seluruh nilai \(VIF < 10\), maka tidak terjadi masalah multikolinearitas antarvariabel independen[cite: 24].
##
## Breusch-Pagan test
##
## data: model_regresi
## BP = 1.0077, df = 3, p-value = 0.7994
Interpretasi: Diperoleh nilai statistik \(BP = 1,0077\) dengan \(p\text{-value} = 0,7994 > 0,05\), sehingga \(H_0\) gagal ditolak[cite: 25]. Artinya, variansi galat bersifat konstan (homoskedastisitas terpenuhi)[cite: 25].
##
## Durbin-Watson test
##
## data: model_regresi
## DW = 1.9689, p-value = 0.3867
## alternative hypothesis: true autocorrelation is greater than 0
Interpretasi: Diperoleh nilai statistik \(DW = 1,9689\) dengan \(p\text{-value} = 0,3867 > 0,05\), sehingga \(H_0\) gagal ditolak[cite: 25, 26]. Artinya, tidak terdapat masalah autokorelasi pada model[cite: 26].
# Uji formal Shapiro-Wilk pada residual
residual_model <- resid(model_regresi)
shapiro.test(residual_model)##
## Shapiro-Wilk normality test
##
## data: residual_model
## W = 0.97837, p-value = 0.6596
# Visualisasi Normal Q-Q Plot
qqPlot(residual_model, dist = "norm", main = "Normal Q-Q Plot Residual Model", ylab = "Residual")## [1] 26 30
Interpretasi: Hasil Uji Shapiro-Wilk menghasilkan nilai \(W = 0,97837\) dengan \(p\text{-value} = 0,6596 > 0,05\), sehingga \(H_0\) gagal ditolak[cite: 26, 27]. Hal ini didukung oleh grafik Normal Q-Q Plot di mana titik-titik residual menyebar mengikuti garis diagonal di dalam pita kepercayaan, sehingga galat berdistribusi normal[cite: 27].
Berdasarkan nilai statistik uji t pada output
summary(model_regresi)[cite: 50]: * Pengaruh \(X_1\) terhadap \(Y\): Diperoleh \(t_{hitung} = 10,412\) dengan \(p\text{-value} = 4,11 \times 10^{-12} <
0,05\) (\(H_0\) ditolak)[cite:
50, 52]. Rata-rata Lama Sekolah berpengaruh positif dan signifikan
secara parsial terhadap IPM[cite: 52, 53]. * Pengaruh \(X_2\) terhadap \(Y\): Diperoleh \(t_{hitung} = 5,252\) dengan \(p\text{-value} = 8,08 \times 10^{-6} <
0,05\) (\(H_0\) ditolak)[cite:
50, 53]. Umur Harapan Hidup berpengaruh positif dan signifikan secara
parsial terhadap IPM[cite: 53]. * Pengaruh \(X_3\) terhadap \(Y\): Diperoleh \(t_{hitung} = 8,848\) dengan \(p\text{-value} = 2,43 \times 10^{-10} <
0,05\) (\(H_0\) ditolak)[cite:
54, 59]. Pengeluaran per Kapita berpengaruh positif dan signifikan
secara parsial terhadap IPM[cite: 54].
## StudRes Hat CookD
## 26 -2.0959802 0.07793219 0.08440253
## 28 0.9856773 0.24662235 0.07957794
## 30 2.1485084 0.14534978 0.17739663
## 36 -1.9420286 0.19709575 0.21400929
## 37 -1.0135527 0.37992267 0.15722935
Interpretasi Influence Plot: * Grafik di atas menandai pengamatan yang memiliki nilai sisaan atau leverage yang menonjol dibandingkan amatan lainnya (seperti amatan ke-15 Sidoarjo, ke-33 Kota Probolinggo, ke-36 Kota Madiun, atau ke-37 Kota Surabaya yang memiliki nilai prediktor tinggi di wilayah perkotaan)[cite: 31, 32].
## No Studentized residuals with Bonferroni p < 0.05
## Largest |rstudent|:
## rstudent unadjusted p-value Bonferroni p
## 30 2.148508 0.039106 NA
Interpretasi Uji Bonferroni: * Output
outlierTest() menampilkan observasi dengan nilai mutlak
Studentized Deleted Residual (|rstudent|) terbesar
pada dataset[cite: 34, 83]. * Terlihat bahwa nilai Bonferroni
p jauh lebih besar dari taraf signifikansi \(\alpha = 0,05\) (No Studentized
residuals with Bonferroni p < 0.05)[cite: 34, 83]. * Dengan
demikian, \(H_0\) gagal ditolak,
sehingga dapat disimpulkan bahwa tidak terdapat observasi yang
signifikan sebagai outlier pada taraf nyata \(5\%\)[cite: 78].
Dalam menyusun analisis regresi linier berganda, praktikan disarankan untuk selalu melakukan evaluasi asumsi klasik dan pemeriksaan pencilan (outlier) secara menyeluruh sebelum menarik kesimpulan akhir, serta memastikan ketelitian dalam penulisan sintaks R agar interpretasi model tetap akurat[cite: 29].