BAB I. PENDAHULUAN

1.1 Latar Belakang

RLB merupakan perluasan dari regresi linier sederhana (RLS) dengan dua atau lebih variabel 𝑋1, 𝑋2, … , 𝑋𝑘 sebagai variabel independen dan variabel Y sebagai variabel dependen. Pada metode kuadrat terkecil akan diperoleh suatu sistem persamaan linier yang dapat dibentuk ke dalam perkalian matriks. Perhitungan nilai koefisien regresi dilakukan dengan menyelesaikan solusi sistem. Solusi sistem tersebut dapat dicari dengan menggunakan eliminasi Gauss(Khatimah, 2024)

1.2 Rumusan Masalah

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?

1.3 Tujuan

Melakukan analisis regresi linier berganda, menguji asumsi klasik dan signifikansi parameter, serta mengidentifikasi outlier menggunakan Influence Plot dan uji Bonferroni.

1.4 Batasan Masalah

Analisis menggunakan data sekunder tahun 2024 dari 38 provinsi di Indonesia. Variabel dependen yang digunakan adalah garis kemiskinan menurut provinsi (Y), sedangkan variabel independen terdiri atas PDRB (X1), tingkat penganguran terbuka(TPT)(X2), rata-rata lama sekolah (RLS) (X3), Tahapan analisis mengikuti batasan masalah Komstat Pertemuan 9, yaitu eksplorasi data, statistik deskriptif, pembentukan model regresi, pengujian asumsi klasik, uji F dan uji t, serta deteksi outlier menggunakan Influence Plot dan uji Bonferroni.

BAB II. TINJAUAN PUSTAKA

2.1 Regresi Linier Berganda

Regresi linier berganda digunakan untuk mengetahui hubungan satu variabel dependen dengan dua atau lebih variabel independen. Model yang digunakan dalam analisis ini adalah:

\[ Y_i = \beta_0+\beta_1X_{1i}+\beta_2X_{2i}+\beta_3X_{3i}+\varepsilon_i \]

2.2 Pengujian Asumsi Klasik

Uji Asumsi klasik adalah analisis yang dilakukan untuk menilai apakah di dalam sebuah model regresi linear OLS terdapat masalahmasalah asumsi klasik. Pengujian asumsi klasik meliputi uji normalitas residual, multikolinieritas, heteroskedastisitas, dan autokorelasi. Pengujian dilakukan untuk memeriksa kelayakan model regresi berdasarkan asumsi yang digunakan (Mardiatmoko, 2020).

2.3 Uji Signifikansi Parameter

Uji signifikansi parameter merupakan pengujian statistik yang dilakukan untuk mengetahui apakah variabel independen memiliki pengaruh yang signifikan terhadap variabel dependen dalam model regresi. Pengujian ini bertujuan untuk mengetahui keberartian parameter regresi, baik secara bersama-sama maupun secara individual. Menurut pembahasan dalam Jurnal Berkala Ilmiah Efisiensi (2024), pengujian signifikansi parameter dapat dilakukan melalui Uji F untuk mengetahui pengaruh variabel independen secara simultan dan Uji t untuk mengetahui pengaruh variabel independen secara parsial. Pengujian dilakukan dengan menggunakan taraf signifikansi sebesar 5% atau 0,05 (Dauda, 2024).

2.4 Identifikasi Outlier

Identifikasi outlier merupakan proses untuk mendeteksi pengamatan yang memiliki nilai berbeda secara ekstrem dibandingkan dengan sebagian besar pengamatan lainnya. Menurut Sihombing et al. (2023), keberadaan outlier dapat memengaruhi hasil analisis statistik dan menyebabkan data tidak berdistribusi normal. Identifikasi outlier dapat dilakukan menggunakan beberapa metode, seperti boxplot, histogram, dan uji Grubbs. Pengamatan yang teridentifikasi sebagai outlier perlu diperiksa lebih lanjut untuk menentukan penanganan yang sesuai, seperti transformasi Box-Cox, winsorizing, atau trimming. Oleh karena itu, identifikasi outlier diperlukan untuk mengetahui adanya pengamatan ekstrem yang berpotensi memengaruhi hasil analisis regresi (Sihombing, 2023). ## 2.5 Bentuk Umum Model Regresi

Model regresi linier berganda dengan lima variabel independen dapat dituliskan sebagai berikut:

\[ Y_i=\beta_0+\beta_1X_{1i}+\beta_2X_{2i} +\beta_3X_{3i}+\varepsilon_i \]

Keterangan: \(Y_i\) merupakan PDRB per kapita, \(\beta_0\) merupakan konstanta, \(\beta_j\) merupakan koefisien regresi, \(X_{ji}\) merupakan variabel independen, dan \(\varepsilon_i\) merupakan galat.

2.6 Kriteria Pengujian

Taraf signifikansi yang digunakan dalam pengujian adalah \(\alpha=0,05\). Keputusan pengujian didasarkan pada nilai p-value dengan ketentuan: - Jika p-value < 0,05, maka \(H_0\) ditolak. - Jika p-value ≥ 0,05, maka \(H_0\) gagal ditolak.

BAB III. METODE PENELITIAN

3.1 Jenis dan Sumber Data

Data yang digunakan merupakan data kuantitatif sekunder tahun 2024 yang mencakup 38 provinsi di Indonesia. Data variabel penelitian disusun berdasarkan data yang digunakan pada laporan praktikum sebelumnya.

3.2 Variabel Penelitian

Variabel Keterangan
Y garis kemiskinan menurut provinsi
X1 PDRB
X2 tingkat penganguran terbuka(TPT)
X3 rata-rata lama sekolah (RLS)

3.3 Analisis Data

Tahapan analisis dilakukan dengan memasukkan data, mengeksplorasi data, menghitung statistik deskriptif, membentuk model regresi linier berganda, menguji asumsi klasik, melakukan uji F dan uji t, serta mengidentifikasi outlier menggunakan Influence Plot dan uji Bonferroni.

3.4 Perangkat Lunak dan Paket

Analisis dilakukan menggunakan perangkat lunak R melalui RStudio dan disusun dalam dokumen R Markdown. Paket car digunakan untuk menghitung VIF, Influence Plot, dan uji Bonferroni, sedangkan paket lmtest digunakan untuk uji Breusch-Pagan dan Durbin-Watson.

BAB IV. HASIL DAN PEMBAHASAN

4.1 Input Data

Data dimasukkan langsung ke dalam R Markdown agar dokumen dapat dijalankan tanpa bergantung pada clipboard atau lokasi file di komputer.

data <- data.frame(
  Provinsi = c(
    "ACEH", "SUMATERA UTARA", "SUMATERA BARAT", "RIAU", "JAMBI", "SUMATERA SELATAN", "BENGKULU", "LAMPUNG", "KEP. BANGKA BELITUNG",
    "KEP. RIAU", "DKI JAKARTA", "JAWA BARAT", "JAWA TENGAH", "DI YOGYAKARTA",
    "JAWA TIMUR", "BANTEN", "BALI", "NUSA TENGGARA BARAT", "NUSA TENGGARA TIMUR", "KALIMANTAN BARAT", "KALIMANTAN TENGAH", "KALIMANTAN SELATAN", "KALIMANTAN TIMUR", "KALIMANTAN UTARA", "SULAWESI UTARA", "SULAWESI TENGAH", "SULAWESI SELATAN", "SULAWESI TENGGARA", "GORONTALO", "SULAWESI BARAT", "MALUKU", "MALUKU UTARA", "PAPUA BARAT", "PAPUA BARAT DAYA", "PAPUA"
  ),
  Y = c(
    191045, 188409, 211031, 232973, 203731, 168760, 206349, 180432,      268739,        280821, 281994, 156523, 144676, 191862, 147232,         204440, 216691, 151033,     199649, 189526, 172558, 218635,          287577,    250972, 134737, 181401, 150176,     161781, 135617,         110448, 236964, 206663, 283306, 253567, 278055
  ),
  X1 = c(
    36609.38,   165279.82,  48190.93,   106144, 37078.07,   114257.23,  17340.95,   84775.22,   16363,  41669.33,   643137.82,  523482.56,  307257.1,   33704.49,   546463.32,  132548.86,  44521.29,   29662.55,   24404.67,   42715.35,   23491.03,   34195.94,   41879.65,   6053.54,    22873.13,   29936.29,   107975.45,  24774.67,   9708.21,    8808.32,    12699.72,   8162.58,    4105.78,    4946.05,    12932.58
  ),
  X2 = c(
    0.211805556,    5.05,   5.69,   4.12,   4.48,   3.89,   3.24,   4.07,   4.17,   6.89,   6.18,   6.74,   4.33,   3.18,   3.61,   6.64,   1.58,   3.22,   3.23,   4.23,   3.47,   3.94,   5.33,   3.9,    6.03,   3.02,   4.96,   3.27,   3.12,   3.17,   5.95,   4.26,   4.21,   6.61,   6.92
  ),
  X3 = c(
   10.07,   10.36,  9.35,   9.38,   10.75,  8.93,   10.37,  10.34,  10.81,  9.78,   9.99,   9.59,   9.28,   9.28,   9.53,   9.72,   9.6,    10.43,  10.03,  13.47,  11.35,  11.7,   11.71,  9.31,   10.25,  7.69,   9.37,   9.88,   9.21,   10.73,  10.94,  9.74,   9.31,   9.94,   10.15
  )
)

head(data)
#>           Provinsi      Y        X1        X2    X3
#> 1             ACEH 191045  36609.38 0.2118056 10.07
#> 2   SUMATERA UTARA 188409 165279.82 5.0500000 10.36
#> 3   SUMATERA BARAT 211031  48190.93 5.6900000  9.35
#> 4             RIAU 232973 106144.00 4.1200000  9.38
#> 5            JAMBI 203731  37078.07 4.4800000 10.75
#> 6 SUMATERA SELATAN 168760 114257.23 3.8900000  8.93
dim(data)
#> [1] 35  5
str(data)
#> 'data.frame':    35 obs. of  5 variables:
#>  $ Provinsi: chr  "ACEH" "SUMATERA UTARA" "SUMATERA BARAT" "RIAU" ...
#>  $ Y       : num  191045 188409 211031 232973 203731 ...
#>  $ X1      : num  36609 165280 48191 106144 37078 ...
#>  $ X2      : num  0.212 5.05 5.69 4.12 4.48 ...
#>  $ X3      : num  10.07 10.36 9.35 9.38 10.75 ...

4.2 Eksplorasi Data

# Memeriksa struktur dan tipe data
str(data)
#> 'data.frame':    35 obs. of  5 variables:
#>  $ Provinsi: chr  "ACEH" "SUMATERA UTARA" "SUMATERA BARAT" "RIAU" ...
#>  $ Y       : num  191045 188409 211031 232973 203731 ...
#>  $ X1      : num  36609 165280 48191 106144 37078 ...
#>  $ X2      : num  0.212 5.05 5.69 4.12 4.48 ...
#>  $ X3      : num  10.07 10.36 9.35 9.38 10.75 ...
# Memeriksa jumlah observasi dan variabel
cat("Jumlah observasi:", nrow(data), "\n")
#> Jumlah observasi: 35
cat("Jumlah variabel:", ncol(data), "\n")
#> Jumlah variabel: 5
# Memeriksa data kosong
colSums(is.na(data))
#> Provinsi        Y       X1       X2       X3 
#>        0        0        0        0        0
# Memeriksa baris data
head(data)
#>           Provinsi      Y        X1        X2    X3
#> 1             ACEH 191045  36609.38 0.2118056 10.07
#> 2   SUMATERA UTARA 188409 165279.82 5.0500000 10.36
#> 3   SUMATERA BARAT 211031  48190.93 5.6900000  9.35
#> 4             RIAU 232973 106144.00 4.1200000  9.38
#> 5            JAMBI 203731  37078.07 4.4800000 10.75
#> 6 SUMATERA SELATAN 168760 114257.23 3.8900000  8.93
tail(data)
#>            Provinsi      Y       X1   X2    X3
#> 30   SULAWESI BARAT 110448  8808.32 3.17 10.73
#> 31           MALUKU 236964 12699.72 5.95 10.94
#> 32     MALUKU UTARA 206663  8162.58 4.26  9.74
#> 33      PAPUA BARAT 283306  4105.78 4.21  9.31
#> 34 PAPUA BARAT DAYA 253567  4946.05 6.61  9.94
#> 35            PAPUA 278055 12932.58 6.92 10.15

4.3 Statistik Deskriptif

# Statistik deskriptif
summary(data[, c("Y", "X1", "X2", "X3")])
#>        Y                X1               X2               X3        
#>  Min.   :110448   Min.   :  4106   Min.   :0.2118   Min.   : 7.690  
#>  1st Qu.:165271   1st Qu.: 16852   1st Qu.:3.2550   1st Qu.: 9.375  
#>  Median :199649   Median : 34196   Median :4.1700   Median : 9.940  
#>  Mean   :202239   Mean   : 95661   Mean   :4.3689   Mean   :10.067  
#>  3rd Qu.:234969   3rd Qu.: 95460   3rd Qu.:5.5100   3rd Qu.:10.400  
#>  Max.   :287577   Max.   :643138   Max.   :6.9200   Max.   :13.470
# Rata-rata dan standar deviasi
sapply(data[, c("Y", "X1", "X2", "X3")],
       function(x) c(Mean = mean(x), SD = sd(x)))
#>              Y       X1       X2         X3
#> Mean 202239.23  95661.4 4.368909 10.0668571
#> SD    48701.54 159813.1 1.527733  0.9981358

4.4 Pembentukan dan Estimasi Model Regresi

regresi <- lm(Y ~ X1 + X2 + X3, data = data)

# Ringkasan model
summary(regresi)
#> 
#> Call:
#> lm(formula = Y ~ X1 + X2 + X3, data = data)
#> 
#> Residuals:
#>    Min     1Q Median     3Q    Max 
#> -93980 -25034   -547  36980  89034 
#> 
#> Coefficients:
#>               Estimate Std. Error t value Pr(>|t|)  
#> (Intercept)  1.229e+05  8.356e+04   1.471   0.1514  
#> X1          -5.962e-02  5.241e-02  -1.138   0.2640  
#> X2           1.302e+04  5.420e+03   2.402   0.0225 *
#> X3           2.798e+03  8.132e+03   0.344   0.7331  
#> ---
#> Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
#> 
#> Residual standard error: 46340 on 31 degrees of freedom
#> Multiple R-squared:  0.1744, Adjusted R-squared:  0.09448 
#> F-statistic: 2.183 on 3 and 31 DF,  p-value: 0.11
# Koefisien regresi
coef(regresi)
#>   (Intercept)            X1            X2            X3 
#>  1.229034e+05 -5.962218e-02  1.301865e+04  2.797510e+03
# Persamaan regresi
cat("Y =", round(coef(regresi)[1], 4),
    "+", round(coef(regresi)[2], 4), "X1",
    "+", round(coef(regresi)[3], 4), "X2",
    "+", round(coef(regresi)[4], 4), "X5\n")
#> Y = 122903.4 + -0.0596 X1 + 13018.65 X2 + 2797.51 X5

4.5 Pengujian Asumsi Klasik

# Memuat paket yang diperlukan
library(car)
library(lmtest)

4.5.1 Uji Normalitas Residual

shapiro.test(residuals(regresi))
#> 
#>  Shapiro-Wilk normality test
#> 
#> data:  residuals(regresi)
#> W = 0.98572, p-value = 0.9203
# Q-Q Plot
qqnorm(residuals(regresi),
       main = "Normal Q-Q Plot Residual")
qqline(residuals(regresi), col = "red", lwd = 2)

Kriteria keputusan: jika p-value lebih besar dari 0,05, maka tidak terdapat cukup bukti untuk menyatakan residual tidak berdistribusi normal.

4.5.2 Uji Multikolinieritas

vif(regresi)
#>       X1       X2       X3 
#> 1.110771 1.085474 1.042887

Kriteria keputusan: nilai VIF di bawah 10 menunjukkan tidak terdapat indikasi multikolinieritas yang serius.

4.5.3 Uji Heteroskedastisitas

bptest(regresi)
#> 
#>  studentized Breusch-Pagan test
#> 
#> data:  regresi
#> BP = 1.682, df = 3, p-value = 0.641

Kriteria keputusan: jika p-value lebih besar dari 0,05, maka tidak terdapat cukup bukti adanya heteroskedastisitas.

4.5.4 Uji Autokorelasi

dwtest(regresi)
#> 
#>  Durbin-Watson test
#> 
#> data:  regresi
#> DW = 1.7468, p-value = 0.173
#> alternative hypothesis: true autocorrelation is greater than 0

Kriteria keputusan: jika p-value lebih besar dari 0,05, maka tidak terdapat cukup bukti adanya autokorelasi. Karena data ini merupakan data lintas provinsi, urutan observasi perlu diperhatikan dalam menafsirkan uji Durbin-Watson.

4.6 Pengujian Hipotesis

4.6.1 Uji Simultan (Uji F)

hasil_model <- summary(regresi)
hasil_model$fstatistic
#>     value     numdf     dendf 
#>  2.182555  3.000000 31.000000
p_value_f <- pf(
  hasil_model$fstatistic[1],
  hasil_model$fstatistic[2],
  hasil_model$fstatistic[3],
  lower.tail = FALSE
)

cat("P-value Uji F =", p_value_f, "\n")
#> P-value Uji F = 0.1099985
if (p_value_f < 0.05) {
  cat("Keputusan: Tolak H0. Variabel independen secara simultan berpengaruh signifikan terhadap Y.")
} else {
  cat("Keputusan: Gagal menolak H0. Belum terdapat bukti pengaruh simultan yang signifikan.")
}
#> Keputusan: Gagal menolak H0. Belum terdapat bukti pengaruh simultan yang signifikan.

4.6.2 Uji Parsial (Uji t)

koefisien <- coef(summary(regresi))
koefisien
#>                  Estimate   Std. Error    t value   Pr(>|t|)
#> (Intercept)  1.229034e+05 8.356132e+04  1.4708163 0.15141933
#> X1          -5.962218e-02 5.241445e-02 -1.1375141 0.26403941
#> X2           1.301865e+04 5.420178e+03  2.4018856 0.02249189
#> X3           2.797510e+03 8.131678e+03  0.3440262 0.73314931
# Keputusan uji t untuk setiap variabel independen
hasil_uji_t <- data.frame(
  Variabel = rownames(koefisien),
  Koefisien = koefisien[, "Estimate"],
  t_hitung = koefisien[, "t value"],
  p_value = koefisien[, "Pr(>|t|)"],
  Keputusan = ifelse(
    koefisien[, "Pr(>|t|)"] < 0.05,
    "Tolak H0",
    "Gagal menolak H0"
  )
)

hasil_uji_t
#>                Variabel     Koefisien   t_hitung    p_value        Keputusan
#> (Intercept) (Intercept)  1.229034e+05  1.4708163 0.15141933 Gagal menolak H0
#> X1                   X1 -5.962218e-02 -1.1375141 0.26403941 Gagal menolak H0
#> X2                   X2  1.301865e+04  2.4018856 0.02249189         Tolak H0
#> X3                   X3  2.797510e+03  0.3440262 0.73314931 Gagal menolak H0

Kriteria keputusan: jika p-value lebih kecil dari 0,05, maka H0 ditolak. Artinya, variabel independen yang diuji berpengaruh signifikan secara parsial terhadap Y.

4.7 Identifikasi Outlier

4.7.1 Influence Plot

influencePlot(
  regresi,
  id.method = "noteworthy",
  main = "Influence Plot",
  sub = "Ukuran lingkaran menunjukkan Cook's Distance"
)

#>      StudRes        Hat      CookD
#> 11  2.678407 0.38305147 0.92859274
#> 12 -1.262658 0.26352536 0.13993588
#> 20 -0.638545 0.37710348 0.06291370
#> 25 -2.248730 0.08035339 0.09767588

4.7.2 Ukuran Pengaruh Pengamatan

# Menghitung ukuran pengaruh setiap pengamatan
pengaruh <- data.frame(
  Provinsi = data$Provinsi,
  StudRes = rstudent(regresi),
  Hat = hatvalues(regresi),
  CookD = cooks.distance(regresi)
)

# Menampilkan pengamatan dengan Cook's Distance terbesar
pengaruh[order(-pengaruh$CookD), ][1:10, ]
#>            Provinsi   StudRes        Hat      CookD
#> 11      DKI JAKARTA  2.678407 0.38305147 0.92859274
#> 12       JAWA BARAT -1.262658 0.26352536 0.13993588
#> 25   SULAWESI UTARA -2.248730 0.08035339 0.09767588
#> 1              ACEH  0.982199 0.25177916 0.08125004
#> 23 KALIMANTAN TIMUR  1.525058 0.11741002 0.07417735
#> 20 KALIMANTAN BARAT -0.638545 0.37710348 0.06291370
#> 30   SULAWESI BARAT -1.935913 0.06340912 0.05826800
#> 33      PAPUA BARAT  1.844264 0.06089135 0.05117104
#> 17             BALI  1.139550 0.13023920 0.04814885
#> 10        KEP. RIAU  1.006558 0.13626206 0.03994167
# Pengamatan dengan |studentized residual| > 3
subset(pengaruh, abs(StudRes) > 3)
#> [1] Provinsi StudRes  Hat      CookD   
#> <0 rows> (or 0-length row.names)
# Pengamatan dengan leverage di atas 2p/n
n <- nobs(regresi)
p <- length(coef(regresi))
batas_leverage <- 2 * p / n
batas_leverage
#> [1] 0.2285714
subset(pengaruh, Hat > batas_leverage)
#>            Provinsi    StudRes       Hat      CookD
#> 1              ACEH  0.9821990 0.2517792 0.08125004
#> 11      DKI JAKARTA  2.6784068 0.3830515 0.92859274
#> 12       JAWA BARAT -1.2626581 0.2635254 0.13993588
#> 15       JAWA TIMUR -0.4291702 0.3096286 0.02120995
#> 20 KALIMANTAN BARAT -0.6385450 0.3771035 0.06291370

4.7.3 Uji Bonferroni

outlierTest(regresi, cutoff = 0.05, n.max = 10)
#> No Studentized residuals with Bonferroni p < 0.05
#> Largest |rstudent|:
#>    rstudent unadjusted p-value Bonferroni p
#> 11 2.678407           0.011885      0.41599

Hipotesis pengujian:

  • H0: Pengamatan ke-i bukan merupakan outlier.
  • H1: Pengamatan ke-i merupakan outlier.

Kriteria keputusan: jika Bonferroni p-value lebih kecil dari 0,05, maka H0 ditolak sehingga pengamatan tersebut teridentifikasi sebagai outlier secara statistik.

4.8 Ringkasan Hasil Analisis

cat("Jumlah observasi =", nobs(regresi), "\n")
#> Jumlah observasi = 35
cat("R-squared =", summary(regresi)$r.squared, "\n")
#> R-squared = 0.1743827
cat("Adjusted R-squared =", summary(regresi)$adj.r.squared, "\n")
#> Adjusted R-squared = 0.09448428
cat("P-value uji F =", p_value_f, "\n")
#> P-value uji F = 0.1099985
cat("\nP-value uji t:\n")
#> 
#> P-value uji t:
print(coef(summary(regresi))[, "Pr(>|t|)"])
#> (Intercept)          X1          X2          X3 
#>  0.15141933  0.26403941  0.02249189  0.73314931

BAB V. KESIMPULAN DAN SARAN

5.1 Kesimpulan

Kesimpulan disusun berdasarkan hasil analisis yang diperoleh setelah seluruh bagian R Markdown dijalankan. Kesimpulan mencakup gambaran data, persamaan regresi linier berganda, hasil pengujian asumsi klasik, hasil uji F dan uji t, serta hasil identifikasi dan pengujian outlier menggunakan Influence Plot dan uji Bonferroni.

5.2 Saran

Penelitian selanjutnya diharapkan dapat menggunakan data yang lebih lengkap dan memperhatikan karakteristik data sebelum membentuk model regresi. Pengamatan yang terindikasi sebagai outlier perlu diperiksa lebih lanjut berdasarkan konteks data dan hasil pengujian statistik, bukan langsung dihapus dari analisis.

DAFTAR PUSTAKA

Dauda, L. I., Masinambow, V. A. J., & Maramis, M. T. B. (2024). Pengaruh sektor pariwisata terhadap pertumbuhan ekonomi dan penyerapan tenaga kerja di Kota Bitung. Jurnal Berkala Ilmiah Efisiensi, 24(1).

Khotimah, A. K., Rahman, A. A., Alam, M. Z., Adawiyah, R., Nur, Y. H., Aufi, T. R., & Sifriyani, S. (2024). Analisis Regresi Linier Berganda Dalam Estimasi Indeks Pembangunan Manusia di Indonesia. EKSPONENSIAL, 15(2), 90-99.

Mardiatmoko, G. (2020). Pentingnya uji asumsi klasik pada analisis regresi linier berganda. BAREKENG: Jurnal Ilmu Matematika Dan Terapan.

Rini, D. S. (2026). Modul Praktikum Analisis Regresi dan Korelasi. Bengkulu: Laboratorium Matematika FMIPA Universitas Bengkulu.

Sihombing, P. R., Suryadiningrat, S., Sunarjo, D. A., & Yuda, Y. P. A. C. (2023). Identifikasi data outlier (pencilan) dan kenormalan data pada data univariat serta alternatif penyelesaiannya. Jurnal Ekonomi dan Statistik Indonesia, 2(3), 307–316