Regresi multivariate merupakan suatu metode statistika yang digunakan untuk mengetahui hubungan antar variabel respon dan prediktor, dengan jumlah variabel prediktor respon lebih dari satu. Model regresi linier multivariate adalah model regresi linier dengan lebih dari satu variabel respon (Y) yang saling berkorelasi dan satu atau lebih variabel prediktor (X).

Dalam pembelajaran mengenai Regresi Multivariate ini, akan dilakukan analisis apakah variabel Presentase Penduduk Miskin, Akses Terhadap Hunian Layak, Akses Terhadap Sanitasi Layak, dan Tingkat Partisipasi Angkatan Kerja signifikan mempengaruhi Indeks Pembangunan Manusia dan Indeks Pembangunan Gender.

\[ Y1= \beta_01+\beta_11X_1+…+\beta_p1X_p+\epsilon_1 \] \[ Y2= \beta_02+\beta_12X_1+…+\beta_p2X_p+\epsilon_2 \] \[ . \] \[ . \] \[ Yq= \beta_0q+\beta_1qX_1+…+\beta_pqX_p+\epsilon_q \]

Deklarasi Variabel

Terlebih dahulu, akan dilakukan pendefinisian variabel, yakni x1 = Presentase Penduduk Miskin, x2 = Akses Terhadap Hunian Layak, x3 = Akses Terhadap Sanitasi Layak, x4 = Tingkat Partisipasi Angkatan Kerja, y1 = Indeks Pembangunan Manusia, dan y2 = Indeks Pembangunan Gender.

## Input Data
dataIPGIPM = read.csv("DataIPGIPM.csv")
dataIPGIPM
##      IPM   IPG   AHH   APS Persentase.Penduduk.Miskin
## 1  73.40 92.55 70.38 83.41                      14.45
## 2  73.37 91.31 70.03 79.25                       8.15
## 3  73.75 94.93 70.24 84.33                       5.95
## 4  74.04 88.98 72.29 78.15                       6.68
## 5  72.77 89.29 71.82 72.46                       7.58
## 6  71.62 93.25 70.71 71.71                      11.78
## 7  72.78 91.57 69.97 79.57                      14.04
## 8  71.15 90.75 71.30 71.74                      11.11
## 9  72.85 89.84 71.28 69.53                       4.52
## 10 77.11 93.96 70.97 84.97                       5.69
## 11 82.46 95.24 73.75 72.50                       4.44
## 12 73.74 90.23 74.10 68.58                       7.62
## 13 73.39 92.87 74.79 70.87                      10.77
## 14 81.07 94.93 75.22 91.17                      11.04
## 15 73.38 92.15 72.16 74.07                      10.35
## 16 73.87 92.48 70.82 69.64                       6.17
## 17 77.10 94.59 73.03 84.73                       4.25
## 18 70.20 91.39 67.52 77.46                      13.85
## 19 66.68 93.38 67.81 75.93                      19.96
## 20 69.41 88.06 71.37 69.25                       6.71
## 21 72.20 89.49 70.33 66.32                       5.11
## 22 72.50 89.65 69.47 69.95                       4.29
## 23 78.20 87.13 74.79 81.50                       6.11
## 24 72.49 88.46 72.74 77.03                       6.45
## 25 74.36 95.06 72.45 74.55                       7.38
## 26 70.95 92.63 69.22 76.29                      12.41
## 27 73.46 93.19 71.26 71.00                       8.70
## 28 72.79 91.20 71.53 74.60                      11.43
## 29 70.45 88.25 68.89 71.70                      15.15
## 30 67.55 90.25 66.06 71.57                      11.49
## 31 70.94 93.51 66.84 79.90                      16.42
## 32 70.21 90.59 69.16 78.38                       6.46
## 33 66.66 84.18 66.85 80.58                      20.49
## 34 62.25 81.64 66.49 64.15                      26.03
##    Akses.Terhadap.Hunian.Layak  TPT Akses.Terhadap.Sanitasi.Layak  TPAK
## 1                        65.91 6.03                         78.85 64.77
## 2                        70.95 5.89                         84.18 71.06
## 3                        59.85 5.94                         70.97 69.61
## 4                        71.53 4.23                         84.58 64.45
## 5                        64.12 4.53                         83.04 68.75
## 6                        61.82 4.11                         80.54 70.72
## 7                        54.74 3.42                         80.28 70.91
## 8                        63.15 4.23                         84.58 70.04
## 9                        32.57 4.56                         93.21 68.34
## 10                       54.21 6.80                         91.10 68.68
## 11                       38.80 6.53                         93.50 65.21
## 12                       54.17 7.44                         74.88 66.49
## 13                       68.85 5.13                         85.20 71.72
## 14                       85.79 3.69                         96.42 74.08
## 15                       70.74 4.88                         83.72 72.56
## 16                       63.06 7.52                         86.41 64.44
## 17                       84.26 2.69                         95.70 77.08
## 18                       66.31 2.80                         85.11 73.31
## 19                       42.70 3.14                         75.67 75.72
## 20                       64.16 5.05                         79.89 69.42
## 21                       56.49 4.10                         76.31 67.18
## 22                       57.50 4.31                         82.89 69.76
## 23                       75.82 5.31                         91.21 65.57
## 24                       71.43 4.01                         84.22 70.35
## 25                       72.39 6.10                         85.91 64.09
## 26                       59.60 2.95                         75.80 69.85
## 27                       71.88 4.33                         93.69 65.66
## 28                       74.01 3.15                         88.99 70.07
## 29                       70.75 3.06                         81.72 70.79
## 30                       59.28 2.27                         80.73 71.05
## 31                       63.61 6.31                         78.17 63.60
## 32                       68.17 4.31                         80.64 67.77
## 33                       56.92 5.38                         76.30 67.24
## 34                       29.01 2.67                         43.00 77.20
# Variabel Independen 
x1 <- (dataIPGIPM[,5]) 
x2 <- (dataIPGIPM[,6])
x3 <- (dataIPGIPM[,8])
x4 <- (dataIPGIPM[,9])
# Variabel Dependen 
y1 <- (dataIPGIPM[,1])
y2 <- (dataIPGIPM[,2])

Cek Korelasi Antar Variabel Dependen

Setelah melakukan pendefinisian variabel, akan diperiksa korelasi antar variabel y1 dan y2, sebagai berikut.

library(ggplot2)
## Warning: package 'ggplot2' was built under R version 4.3.3
library(reshape2)
## Warning: package 'reshape2' was built under R version 4.3.3
library(corrplot)
## Warning: package 'corrplot' was built under R version 4.3.3
## corrplot 0.94 loaded
# Menghitung matriks korelasi
correlation_matrix <- cor(cbind(y1, y2))
correlation_matrix
##          y1       y2
## y1 1.000000 0.599022
## y2 0.599022 1.000000
# Membuat heatmap menggunakan ggplot2
corrplot(correlation_matrix, method = "circle", 
         type = "upper", 
         tl.col = "black", tl.srt = 45, 
         addCoef.col = "black")

Berdasarkan matriks korelasi antara variabel dependen y1 dan y2 dan juga dengan melihat pada heatmap diatas, didapatkan bahwa IPM dan IPG berkorelasi secara positif dengan nilai korelasi (r) sebesar 0,60. Nilai r tersebut mengimplikasikan bahwa semakin tinggi tingkat pembangunan manusia (IPM) di suatu wilayah, semakin tinggi pula tingkat kesetaraan gender (IPG) di wilayah tersebut. Namun, hubungan ini tidak terlalu kuat karena nilai korelasinya masih kurang dari 1.

Pembentukan Model Regresi Multivariate

Selanjutnya kita akan membentuk model regresi multivariate menggunakan fungsi lm() dengan variabel dependen y1 dan y2 sebagai matriks dan variabel independen x1 hingga x4. Fungsi summary() digunakan untuk memberikan ringkasan statistik dari model yang telah dibangun.

model = lm(cbind(y1,y2) ~ x1+x2+x3+x4, data=dataIPGIPM)
summary(model)
## Response y1 :
## 
## Call:
## lm(formula = y1 ~ x1 + x2 + x3 + x4, data = dataIPGIPM)
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -4.2298 -1.5963 -0.1172  1.4004  6.0717 
## 
## Coefficients:
##              Estimate Std. Error t value Pr(>|t|)    
## (Intercept) 60.779971  10.412198   5.837 2.49e-06 ***
## x1          -0.235296   0.113187  -2.079  0.04659 *  
## x2           0.006205   0.040177   0.154  0.87833    
## x3           0.215036   0.066274   3.245  0.00296 ** 
## x4          -0.056640   0.130353  -0.435  0.66713    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 2.502 on 29 degrees of freedom
## Multiple R-squared:  0.6308, Adjusted R-squared:  0.5799 
## F-statistic: 12.39 on 4 and 29 DF,  p-value: 5.386e-06
## 
## 
## Response y2 :
## 
## Call:
## lm(formula = y2 ~ x1 + x2 + x3 + x4, data = dataIPGIPM)
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -5.4035 -1.9095  0.1314  1.3913  5.5290 
## 
## Coefficients:
##              Estimate Std. Error t value Pr(>|t|)    
## (Intercept) 75.264060  11.351613   6.630 2.87e-07 ***
## x1          -0.043753   0.123399  -0.355   0.7255    
## x2           0.002186   0.043802   0.050   0.9605    
## x3           0.161443   0.072253   2.234   0.0333 *  
## x4           0.040351   0.142114   0.284   0.7785    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 2.727 on 29 degrees of freedom
## Multiple R-squared:  0.297,  Adjusted R-squared:    0.2 
## F-statistic: 3.062 on 4 and 29 DF,  p-value: 0.03206

Dari perhitungan di atas, didapatkan model regresi sebagai berikut

Model Regresi 1

\[ \hat{Y}_1= 60.779971 -0.235296X_1 + 0.006205X_2 + 0.215036X_3 - 0.056640X_4 \] Berdasarkan model regresi 1, dapat disimpulkan bahwa :

  1. β01 = Ketika keempat variabel prediktor (X) bernilai nol, maka nilai Indeks Pembangunan Manusia adalah 60,78.

  2. β11 = Nilai Indeks Pembangunan Manusia turun sebesar 0,235 jika nilai Presentase Penduduk Miskin naik satu satuan.

  3. β21 = Nilai Indeks Pembangunan Manusia akan naik sebesar 0.006 jika nilai Akses Terhadap Hunian Layak naik satu satuan.

  4. β31 = Nilai Indeks Pembangunan Manusia akan naik sebesar 0,215 jika nilai Akses Terhadap Sanitasi Layak naik satu satuan.

  5. β41 = Nilai Indeks Pembangunan Manusia akan turun sebesar 0,056 jika nilai Tingkat Partisipasi Angkatan Kerja naik satu satuan.

Nilai koefisien determinasi (R2) sebesar 0,5799 berarti bahwa 57,99% sebaran variabel Indeks Pembangunan Manusia dapat dijelaskan oleh variabel Presentase Penduduk Miskin, Akses Terhadap Hunian Layak, Akses Terhadap Sanitasi Layak, dan Tingkat Partisipasi Angkatan Kerja.

Dari perhitungan di atas, didapatkan pula model regresi 2 sebagai berikut

Model Regresi 2

\[ \hat{Y}_2= 75.264060 - 0.042753X_1 + 0.002186X_2 + 0.161443X_3 + 0.040351X_4 \] Berdasarkan model regresi 2, dapat disimpulkan bahwa :

  1. β02 = Ketika keempat variabel prediktor (X) bernilai nol, maka nilai Indeks Pembangunan Gender adalah 75,26.

  2. β12 = Nilai Indeks Pembangunan Gender turun sebesar 0,043 jika nilai Presentase Penduduk Miskin naik satu satuan.

  3. β22 = Nilai Indeks Pembangunan Gender akan naik sebesar 0.002 jika nilai Akses Terhadap Hunian Layak naik satu satuan.

  4. β32 = Nilai Indeks Pembangunan Gender akan naik sebesar 0,161 jika nilai Akses Terhadap Sanitasi Layak naik satu satuan.

  5. β42 = Nilai Indeks Pembangunan Gender akan naik sebesar 0,040 jika nilai Tingkat Partisipasi Angkatan Kerja naik satu satuan.

Nilai koefisien determinasi (R2) sebesar 0,2 berarti bahwa hanya 20% sebaran variabel Indeks Pembangunan Gender dapat dijelaskan oleh variabel Presentase Penduduk Miskin, Akses Terhadap Hunian Layak, Akses Terhadap Sanitasi Layak, dan Tingkat Partisipasi Angkatan Kerja. Artinya diperlukan variabel lain agar dapat menduga nilai IPG dengan baik.

Asumsi

Dalam pengujian signifikansi, tentu diperlukan terpenuhinya asumsi, maka dari itu selanjutnya akan dilakukan pengujian asumsi data.

Asumsi Normalitas Residual

Menghitung residual dari model dan menguji asumsi normalitas menggunakan uji Shapiro-Wilk dengan fungsi mshapiro.test(). Uji ini akan membantu menentukan apakah residual terdistribusi normal.

Hipotesis :

H0 : Residual Berdistribusi Normal Multivariate

H1 : Residual Tidak Berdistribusi Normal Multivariate

Taraf Signifikansi : \[\alpha = 5\% = 0.05\]

Kriteria Uji :

Tolak H0 jika nilai p-value < \[ \alpha\]

resid(model)
##              y1         y2
## 1   2.324109434  2.4307630
## 2  -0.009403132 -0.2102005
## 3   2.680314947  5.5289829
## 4  -0.149294296 -2.4036447
## 5  -0.586840463 -1.9629526
## 6  -0.085153911  2.5099569
## 7   1.717217593  0.9786263
## 8  -1.628315134 -0.6470578
## 9  -3.241217654 -3.1031976
## 10  1.632787118  1.3476106
## 11  6.071657221  2.3591615
## 12  2.080995886  0.4091199
## 13  0.458149451  1.2777207
## 14  5.817536727  1.4058787
## 15  0.703428572  0.7402537
## 16 -0.780821414  0.7975205
## 17  0.584115650  0.7673251
## 18 -1.881966255 -0.1115939
## 19 -1.651366022  3.6241342
## 20 -3.436484507 -2.7495942
## 21 -0.332412552 -0.7044789
## 22 -1.500426193 -1.7489663
## 23  2.487717227 -5.4035245
## 24 -1.341201159 -3.1134393
## 25  0.023688641  3.5049093
## 26  0.376850455  2.7227211
## 27 -2.146609259  0.3743994
## 28 -0.927014896 -0.9199741
## 29 -0.767393278 -2.5554446
## 30 -4.229794747 -0.5411686
## 31  0.421869584  3.6389772
## 32 -2.974923812 -0.2938029
## 33 -2.250675883 -5.3432989
## 34  2.540876062 -2.6057217
library(mvnormtest)
## Warning: package 'mvnormtest' was built under R version 4.3.3
mshapiro.test(t(resid(model)))
## 
##  Shapiro-Wilk normality test
## 
## data:  Z
## W = 0.97377, p-value = 0.5727

Dari hasil uji asumsi normalitas menggunakan metode shapiro-wilk, didapatkan p-value (0,5727) > alpha (0,05), maka dari itu diputuskan untuk terima H0, yang artinya residual data berdistribusi normal. Residual data yang berdistribusi normal mengindikasikan bahwa data berdistribusi normal. Sehingga asumsi normalitas terpenuhi.

Asumsi Multikolinearitas

Membuat dataframe untuk variabel independen dan menghitung matriks korelasi. Variabel Inflasi Faktor (VIF) dihitung untuk mengidentifikasi multikolinearitas. VIF yang tinggi (umumnya di atas 10) menunjukkan adanya masalah multikolinearitas.

Multikolinearitas di cek berdasarkan nilai VIF, adapun batasan nilai VIF yang dapat digunakan adalah 3, 5, atau 10. Jika nilai VIF lebih besar daripada batas yang ditentukan maka terjadi multikolinearitas antar variabel independen

x = data.frame(x1=x1, x2=x2, x3=x3, x4=x4)
R <- cor(x) ; R
##            x1          x2         x3          x4
## x1  1.0000000 -0.28309618 -0.6314513  0.36424536
## x2 -0.2830962  1.00000000  0.5081694 -0.04399359
## x3 -0.6314513  0.50816937  1.0000000 -0.23339464
## x4  0.3642454 -0.04399359 -0.2333946  1.00000000
VIF <- diag(solve(R)) ; VIF 
##       x1       x2       x3       x4 
## 1.815056 1.360357 2.072080 1.159720

Dari hasil uji asumsi multikolinearitas dengan melihat nilai VIF, didapatkan semua nilai VIF untuk variabel x1 hingga x4 < 10, yang artinya tidak terdapat multikolinearitas pada data, maka asumsi multikolinearitas terpenuhi.

Asumsi Linearitas

Menggunakan  resettest()  dari paket  lmtest  untuk menguji asumsi linearitas. Uji ini memeriksa apakah model telah ditentukan dengan benar dan apakah hubungan antara variabel independen dan dependen adalah linear.

Hipotesis

H0 : Model Persamaan Regresi Linier

H1 : Bukan Model Persamaan Regresi Linier

Taraf Signifikansi : \[\alpha = 5\% = 0.05\]

Kriteria Uji :

Tolak H0 jika nilai p-value < \[ \alpha\]

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
resettest(model)
## 
##  RESET test
## 
## data:  model
## RESET = 1.9336, df1 = 4, df2 = 25, p-value = 0.1361

Dari hasil uji asumsi linearitas menggunakan  resettest()  , didapatkan p-value (0,1361) > alpha (0,05), maka dari itu diputuskan untuk terima H0, yang artinya model regresi linear dapat digunakan. Sehingga asumsi linearitas terpenuhi.

Asumsi Homoskedastisitas

Menggunakan bptest() untuk melakukan uji Breusch-Pagan guna memeriksa homoskedastisitas residual. Homoskedastisitas menunjukkan bahwa varians residual adalah konstan.

Hipotesis

H0 : Homoskedastisitas

H1 : Heteroskedastisitas

Taraf Signifikansi : \[\alpha = 5\% = 0.05\]

Kriteria Uji :

Tolak H0 jika nilai p-value < \[ \alpha\]

bptest(model)
## 
##  studentized Breusch-Pagan test
## 
## data:  model
## BP = 14.541, df = 4, p-value = 0.005755

Dari hasil uji asumsi homoskedastisitas menggunakan  bptest()  , didapatkan p-value (0,005) < alpha (0,05), maka dari itu diputuskan untuk tolak H0, yang artinya data bersifat heteroskedastisitas, namun demi tujuan pembelajaran, akan diasumsikan data bersifat homoskedastisitas.

Uji Signifikansi Parameter (Serentak)

Setelah memeriksa semua asumsi, selanjutnya akan dilakukan pengujian signifikansi menggunakan Wilk’s Lamda, dengan formula sebagai berikut:

\[ \Lambda=\frac{|E|}{|E+H|}=\frac{|Y^TY-T(X)T(Y)|}{|Y^TY-nyy^T|} \]

Hipotesis

H0 : Model tidak signifikan (Seluruh variabel bebas tidak memiliki pengaruh yang signifikan secara statistika terhadap variabel tak bebas)

H1 : Model signifikan (terdapat minimal satu variabel bebas yang memiliki pengaruh signifikan secara statistika terhadap variabel tak bebas)

Taraf Signifikansi : \[\alpha = 5\% = 0.05\]

Titik Kritis :

Dalam pengujian ini digunakan titik kritis yakni nilai pada tabel wilk’s lambda dengan taraf signifikansi 0,05, df1 = 2 (banyak variabel dependen), dan df2 = 31 (banyak data - banyak variabel dependen - 1).

\[Wilk's~\lambda(0.05;2;31) = 0.725\]

Kriteria Uji :

Tolak H0 jika Wilk’s hitung < Wilk’s tabel

##Uji Signifikansi Parameter
# MATRIKS X
u = matrix(1, nrow=34, ncol=1)
x = data.frame(x1=x1, x2=x2, x3=x3, x4=x4)
X = cbind(u, x)
# MATRIKS Y
Y = as.matrix(data.frame(y1=y1, y2=y2)) 
# MATRIKS YBAR
YBAR = colMeans(Y)
YBAR1 = matrix(c(YBAR), ncol=1, nrow=2) 
# MATRIKS BETA
Beta = cbind(coef(model)) 
# ukuran sampel
n = 34
# PERHITUNGAN
E = t(Y)%*%Y-t(Beta)%*%t(X)%*%Y ; E
##           y1        y2
## y1 181.49343  71.53476
## y2  71.53476 215.72041
detE = det(E) 
detE
## [1] 34034.61
EH = (t(Y)%*%Y)-(n*(YBAR1%*%t(YBAR1)))
detEH = det(EH)
det(EH)
## [1] 96718.92
WilksLambda = detE/detEH
WilksLambda
## [1] 0.351892

Dari hasil pengujian signifikansi parameter di atas, didapatkan nilai Wilk’s lambda hitung (0,352) < Wilk’s tabel (0,725), dengan itu kita memiliki bukti untuk menolak H0. Sehingga dapat disimpulkan bahwa Presentase Penduduk Miskin, Akses Terhadap Hunian Layak, Akses Terhadap Sanitasi Layak, dan Tingkat Partisipasi Angkatan Kerja secara serentak signifikan mempengaruhi Indeks Pembangunan Manusia dan Indeks Pembangunan Gender.