Library:
> library(knitr)
> library(rmarkdown)
> library(prettydoc)
> library(equatiomatic)1 PENDAHULUAN
1.1 Latar Belakang
Indeks Pembangunan Manusia (IPM) dapat dijadikan sebagai indikator pengukur untuk hasil pembangunan wilayah. Indeks harapan hidup, pendidikan dan standar hidup layak merupakan indeks gabungan untuk menghitung IPM karena faktor tersebut melibatkan komponen ekonomi dan non ekonomi. IPM adalah salah satu tolak ukur pemerintah dalam pengembangan kesejahteraan masyarakat suatu wilayah, dalam tulisan ini wilayah yang akan ditinjau adalah Provinsi Jawa Timur.
1.2 Statistika Deskriptif
Pemusatan Data, ukuran yang menyatakan pusat dari sebaran data. Secara umum pemusatan data digambarkan dengan 3 ukuran yaitu mean, merupakan nilai rata-rata dari sekumpulan data yang banyak (dua atau lebih). median merupakan nilai tengah dari sekumpulan data yang sudah diurutkan dari kecil ke besar. modus, berarti nilai yang paling sering muncul dari suatu kelompok data.
Penyebaran Data, digunakan untuk mengetahui beragam tidaknya data. Ukuran penyebaran data secara umum digambarkan dengan pengukuran yaitu Range, selisih antara bilangan terbesar dan terkecil dalam himpunan.Varians, menunjukkan seberapa jauh data yang kita miliki tersebar dari nilai rata-ratanya. Simpangan Baku, bertujuan untuk mengetahui berapa banyak nilai atau jumlah data yang berbeda dari rata-rata.
1.3 Asumsi Klasik
- Asumsi Normalitas Asumsi normalitas terpenuhi apabila residual diasumsikan berdistribusi acak yang benyebar normal. Beberapa cara untuk mengetahui apakah asumsi kenormalan residual data terpenuhi adalah dengan uji shapiro wilk, Jarque Bera, visualisasi Q-Q Plot, dll. \[ e_i \sim N(0,\sigma^2) \]
- Asumsi Homoskedastisitas Asumsi ini dapat diperhatikan menggunakan visualisasi plot untuk mengetahui apakah residual data yang ada menyebar homogen atau tidak. \[ Var(e_i) = \sigma^2 \]
Asumsi Non-multikolinearitas Korelasi yang cukup tinggi antar varaibel prediktor menyebabkan adanya multikolinearitas ini. Salah satu indikator untuk mengetahui apakah terdapat multikolinearitas adalah dengan melihat VIF (Variance Inflation Factor). Apabila indikator VIF lebih dari 10 terdapat indikasi multikolinearitas.
Asumsi Non-Autokorelasi Autokorelasi terpenuhi apabila tidak ada datum yang berkorelasi antar datum lain pada residual data. Salah satu cara pengujian dengan ccara Durbin-Watson.
1.4 Anomali Data
Anomali data didefinisikan terdapat datum yang tidak lazim pada suatu data, sehingga hal ini termasuk tidak diharapka di dalam data. Salah satu anomali data adalah pencilan. Pencilan dapat diuji dengan menggunakan TRES (Studientized Deleted Residual) untuk variabel respons, menggunakan metode leverage point untuk variabel prediktor, atau bisa juga dengan visualisasi data boxplot.
1.5 Robust Regression
Robust regression (regresi kekar) digunakan ketika distribusi dari galat tidak normal dan/atau adanya beberapa pencilan yang berpengaruh pada model. Dalam regresi kekar terdapat beberapa metode yang dapat digunakan untuk menangani data pencilan yaitu penaksir Maximum Likelihood (M), Least Trimmed Square (LTS), Scale (S), Method of Moment (MM) serta Least Median of Squares (LMS) atau metode Kuadrat Median Terkecil. Pada analisis kali ini penaksiran yang digunakan adalah maximum likelihood (M) yaitu penaksiran sederhana dan sering kali dipakai. Penaksiran M dilakukan secara Iteratively Reweighted Least Square (IRLS) dengan membandingkan pembobot Bisquare dan Huber.
1.6 Data
Data yang digunakan adalah data kuantitatif dengan tipe cross section berdasarkan kabupaten kota, mengenai Indeks Pembangunan Manusia (IPM) di Jawa Timur pada tahun 2019. Ket parameter: y = IPM x1 = Angka Harapan Hidup (tahun) x2 = Pendapatan per Kapita (Jutaan Rupiah) x3 = Rata - Rata Lama Sekolah (tahun) x4 = Harapan Lama Sekolah (tahun)
2 SOURCE CODE
2.1 Library yang Dibutuhkan
> # Library
> library(knitr) #Untuk desain
> library(rmarkdown) #Untuk desain
> library(prettydoc) #Untuk desain
> library(equatiomatic) #Fit model regresi
> library(lmtest) #Fit model regresi
> library(car) #Pengecekan asumsi klasik
> library(tseries) #Pengecekan asumsi klasik
> require(foreign) #Regresi kekar
> require(MASS) #Regresi kekar2.2 Input Data
> Data_IPM <- read.csv("D:\\(Kuli)AH\\sem 5\\(6) PML\\data input IPM.csv", header = TRUE)
> Data_IPM
X1 X2 X3 X4 Y
1 71.77 9.033 7.28 12.62 68.16
2 72.65 9.883 7.21 13.72 70.56
3 73.59 9.865 7.28 12.25 69.46
4 73.95 10.891 8.07 13.15 72.62
5 73.39 10.861 7.29 12.45 70.57
6 72.54 11.146 8.01 12.88 71.85
7 72.45 10.270 7.21 13.17 70.35
8 69.94 9.274 6.22 11.80 65.33
9 68.99 9.525 6.18 13.22 66.69
10 70.54 12.264 7.13 12.78 70.60
11 66.55 10.665 5.71 13.27 66.09
12 68.97 10.097 6.12 13.14 67.09
13 67.00 10.972 5.77 12.34 65.60
14 70.17 10.381 7.11 12.31 68.29
15 73.98 14.609 10.25 14.91 80.05
16 72.43 12.860 8.49 12.61 73.53
17 72.27 11.533 8.53 13.00 72.85
18 71.44 12.200 7.63 12.85 71.71
19 71.22 11.650 7.80 13.14 71.69
20 72.49 11.779 7.96 14.00 73.49
21 72.16 11.468 6.98 12.69 70.41
22 71.36 10.265 7.09 12.36 68.75
23 71.26 10.499 6.81 12.20 68.37
24 72.27 11.572 7.89 13.47 72.57
25 72.61 13.295 9.29 13.72 76.10
26 70.11 8.718 5.66 11.59 63.79
27 67.96 8.760 4.55 12.08 61.94
28 67.45 8.834 6.40 13.63 65.94
29 71.22 9.082 5.46 13.19 66.22
30 73.96 12.440 9.92 14.97 78.08
31 73.60 13.851 10.10 14.31 78.56
32 73.15 16.666 10.17 15.41 81.32
33 70.19 12.280 8.69 13.57 73.27
34 71.40 13.393 9.11 13.60 75.25
35 73.21 13.710 10.24 13.83 77.96
36 72.75 16.040 11.13 14.39 80.88
37 74.13 17.854 10.47 14.79 82.22
38 72.54 12.870 9.06 14.12 75.88Data yang diinput menggunakan format csv. sumber: BPS Jawa Timur
3 HASIL DAN PEMBAHASAN
3.1 Statistika Deskriptif
- Mean \[ Mean (\bar{x}) = \frac{\Sigma x_i}{n} \]
> n = nrow(Data_IPM)
>
> x1 = Data_IPM$X1
> Avg_x1 = sum(x1)/n
> Avg_x1
[1] 71.51737
>
> x2 = Data_IPM$X2
> Avg_x2 = sum(x2)/n
> Avg_x2
[1] 11.61461
>
> x3 = Data_IPM$X3
> Avg_x3 = sum(x3)/n
> Avg_x3
[1] 7.796579
>
> x4 = Data_IPM$X4
> Avg_x4 = sum(x4)/n
> Avg_x4
[1] 13.25079
>
> y = Data_IPM$Y
> Avg_y = sum(y)/n
> Avg_y
[1] 71.68658Sebelum membuat perhitungan rata-rata didefinisikan terlebih dahulu x1, x2, x3, x4, dan y untuk mempermudah penulisan variabel-variabel ini nantinya.
Penggunaan fungsi nrow: mengetahui banyak baris pada data, sehingga dapat digunakan sebagai alternatif mengetahui banyak datum. Penggunaan fungsi sum : mengetahui jumlah nilai pada setiap variabel.
Selain menggunakan fungsi manual di atas, dapat juga menggunakan fungsi yang telah tersedia pada R-Studio yaitu dengan mengetikkan source berikut:
\[ mean(variabel) \]
Interpretasi: Berdasarkan data yang digunakan diperoleh rata-rata angka harapan hidup selama 71-72 tahun. Untuk rata-rata pendapatan perkapita sebesar 11.6 Juta. Kemudian diperoleh rata-rata lama sekolah selama 7-8 tahun sekolah. Sedangkan, rata-rata harapan lama sekolah selama 13-14 tahun sekolah. Sehingga diperoleh rata-rata IPM di Kab/Kota Jawa Timur sebesar 71.6.
- Median
\[ Me = \frac{x_\frac{n}{2}+x_\frac{n+1}{2}}{2} \] Rumus di atas untuk data dengan nilai genap.
> sort = sort(x1)
> i1 = n/2
> i2 = (n+1)/2
>
> Me_x1 = (x1[i1]+x1[i2])/2
> Me_x1
[1] 71.22
>
> Me_x2 = (x2[i1]+x2[i2])/2
> Me_x2
[1] 11.65
>
> Me_x3 = (x3[i1]+x3[i2])/2
> Me_x3
[1] 7.8
>
> Me_x4 = (x4[i1]+x4[i2])/2
> Me_x4
[1] 13.14
>
> Me_y = (y[i1]+ y[i2])/2
> Me_y
[1] 71.69Fungsi sort: digunakan untuk mengurutkan data dari yang terkecil - terbesar.
Selain menggunakan fungsi manual di atas, dapat juga menggunakan fungsi yang telah tersedia pada R-Studio yaitu dengan mengetikkan source berikut: \[ median(variabel) \]
Interpretasi: Nilai yang tepat di tengah data pada angka harapan hidup adalah 71.22 tahun. Selanjutnya nilai yang tepat di tengah pada data GDP yaitu 11.65 juta. Kemudian, nilai yang tepat di tengah pada data rata-rata lama sekolah selama 7.8 tahun. Sedangkan pada nilai yang tepat di tengah harapan lama sekolah sebesar 13.14 tahun. Selanjutnya adalah nilai yang tepat di tengah data pada IPM Provinsi Jawa Timur sebesar 71.69.
- Modus
> Mode <- function(Data_IPM) {
+ uniq <- unique(Data_IPM)
+ uniq[which.max(tabulate(match(Data_IPM, uniq)))]
+ }
>
> Mode(x1)
[1] 72.54
> Mode(x2)
[1] 9.033
> Mode(x3)
[1] 7.28
> Mode(x4)
[1] 13.72
> Mode(y)
[1] 68.16Untuk menghitung nilai modus dibuat fungsi baru dengan 'uniq' merupakan angka unik yang terdapat pada data Data_IPM. Kemudian didefinisikan bahwa uniq yang akan terpilih sebegai modus adalah nilai unik yang terbanyak (max) dalam tabel Data_IPM. Namun, apabila tidak ada data dengan nilai unik terbanyak akan diambil data pertama pada kolom(variabel) tersebut.
Interpretasi: Nilai yang paling sering muncuk pada angka harapan hidup adalah 72.54 tahun. Kemudian untuk GDP nilai yang paling banyak adalah 9.033 juta. Selanjutnya, nilai yang paling sering muncul adalah 7.28 tahun pada rata-rata lama sekolah. Sedangkan pada harapan lama sekolah nilai yang paling banyak muncul adalah 13.72 tahun. Dan pada variabel respons (IPM) nilai yang paling banyak muncul adalah indeks 68.16.
- Range (Jangkauan)
\[ Range = X_Max - X_Min \]
> Range_x1 = max(x1) - min(x1)
> Range_x1
[1] 7.58
>
> Range_x2 = max(x2) - min(x2)
> Range_x2
[1] 9.136
>
> Range_x3 = max(x3) - min(x3)
> Range_x3
[1] 6.58
>
> Range_x4 = max(x4) - min(x4)
> Range_x4
[1] 3.82
>
> Range_y = max(y) - min(y)
> Range_y
[1] 20.28Fungsi max: digunakan untuk memanggil datum tertinggi. Fungsi min: digunakan untuk memanggil datum terendah.
Selain menggunakan fungsi manual di atas, dapat juga menggunakan fungsi berikut untuk mengetahui datum tertinggi dan datum terendah. Telah tersedia pada R-Studio yaitu dengan mengetikkan source berikut: \[ range(variabel) \] Interpretasi: Jangkauan untuk pada variabel angka harapan hidup sebesar 7.58 tahun. Kemudian, jangkauan pada variabel GDP sebesar 9.136 juta. Selanjutnya pada variabel rata-rata lama sekolah selama 6.58 tahun. Sedangkan, pada variabel harapan lama sekolah selama 3.82 tahun. Dan pada variabel IPM selama 20.28.
- Varian \[ Var (s^2) = \frac{\Sigma(x_i - \bar{x})^2}{n-1} \]
> Var_fun1 <- function(Var1){
+ var1 <- sum((x1- Avg_x1)^2)/(n-1)
+ var1}
> Var_x1 = Var_fun1(x1)
> Var_x1
[1] 4.033415
>
>
> Var_fun2 <- function(Var2){
+ var2 <- sum((x2- Avg_x2)^2)/(n-1)
+ var2}
> Var_x2 = Var_fun2(x2)
> Var_x2
[1] 4.811573
>
>
> Var_fun3 <- function(Var3){
+ var3 <- sum((x3- Avg_x3)^2)/(n-1)
+ var3}
> Var_x3 = Var_fun3(x3)
> Var_x3
[1] 2.612645
>
>
> Var_fun4 <- function(Var4){
+ var4 <- sum((x4- Avg_x4)^2)/(n-1)
+ var4}
> Var_x4 = Var_fun4(x4)
> Var_x4
[1] 0.835375
>
>
> Var_funy <- function(Vary){
+ vary <- sum((y- Avg_y)^2)/(n-1)
+ vary}
> Var_y = Var_funy(y)
> Var_y
[1] 26.44439Fungsi sum: digunakan untuk menjumlahkan suatu kolom/variabel. Untuk menghitung manual dibua fungsi dengan mendefinisikan var adalah jumlah kuadrat selisih nilai variabel dengan rata-rata variabel kemudian dibagi dengan banyaknya data kurang 1. Selain menggunakan fungsi manual di atas, dapat juga menggunakan fungsi yang telah tersedia pada R-Studio yaitu dengan mengetikkan source berikut: \[ var(variabel) \] Pada variabel angka harapan varian sebesar 4.033. Selanjutnya, pada variabel GDP varian sebesar 4.81. Kemudian pada variabel rata-rata lama sekolah memiliki varian sebesar 2.61. Sedangkan pada varian harapan lama sekolah sebesar 0.83. Dan pada variabel IPM jarak data tersebar dari nilai rata-ratanya sebesar 26.44.
- Simpangan Baku \[ Simpangan-Baku (s) = \sqrt{s^2} \]
> s_x1 = sqrt(Var_x1)
> s_x1
[1] 2.008336
>
> s_x2 = sqrt(Var_x2)
> s_x2
[1] 2.19353
>
> s_x3 = sqrt(Var_x3)
> s_x3
[1] 1.616368
>
> s_x4 = sqrt(Var_x4)
> s_x4
[1] 0.9139885
>
> s_y = sqrt(Var_y)
> s_y
[1] 5.142411Fungsi sqrt: digunakan untuk menghitung akar atau pangkat (1/2) suatu bilangan. Pada variabel angka harapan simpangan baku sebesar 2.01 . Selanjutnya, pada variabel GDP simpangan baku sebesar 2.19. Kemudian pada variabel rata-rata lama sekolah memiliki simpangan baku sebesar 1.61. Sedangkan pada simpangan baku harapan lama sekolah sebesar 0.91. Dan pada variabel IPM banyakknya data tersebar berbeda dari nilai rata-ratanya sebesar 5.14.
3.2 Model MKT/OLS Ordinary Least Square
> OLS <- lm(formula = y~x1+x2+x3+x4, Data_IPM)
> summary(OLS)
Call:
lm(formula = y ~ x1 + x2 + x3 + x4, data = Data_IPM)
Residuals:
Min 1Q Median 3Q Max
-0.51007 -0.11832 0.05662 0.15259 0.27536
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 6.76267 2.26417 2.987 0.00528 **
x1 0.45372 0.03107 14.601 5.86e-16 ***
x2 0.73686 0.04044 18.222 < 2e-16 ***
x3 1.39380 0.07262 19.192 < 2e-16 ***
x4 0.98483 0.07015 14.039 1.80e-15 ***
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Residual standard error: 0.2379 on 33 degrees of freedom
Multiple R-squared: 0.9981, Adjusted R-squared: 0.9979
F-statistic: 4315 on 4 and 33 DF, p-value: < 2.2e-16Fungsi yang digunakan adalah lm dari packages lmtest, dengan menakaman sebagai varibel OLS formula yaitu variabel respons (y) menyebar dengan variabel independen (x1, x2, x3, dan x4) kemudian ketikkan nama data yang telah di-input tadi (Data_IPM). Untuk menampilkan hasil perhitungan lm ini dapat mengetikkan source summary(nama variabel) -> summary(OLS).
Interpretasi: Model dengan menggunakan OLS: \[ \widehat{Y} = 6.76 + 0.45X1 + 0.74X2 + 1.39X3 + 0.98X4 \] Dengan, R-sq (Adj) = 99.79% s = 0.2379
Diketahui pula pada uji parsial menggunakan uji t pendekatan p-value: Hipotesis: \[ H0: \beta_i = 0 \bracevert H1: \beta_i \ne 0 \] Berdasarkan p-value pada output di atas diketahui bahwa semua variabel (respons dan prediktor) signifikan. Sehingga dapat diputuskan untuk tolak H0.
3.3 Asumsi Klasik
> #Normality
> Residual = residuals(OLS)
> ##Uji Shapiro Wilk
> shapiro.test(Residual)
Shapiro-Wilk normality test
data: Residual
W = 0.89256, p-value = 0.001582
>
> ##Uji normalitaas menggunakan Q-Q Plot
> qqPlot(Residual,distribution="norm",main="Normal QQ Plot")[1] 26 37
Selanjutnya adalah melakukan pengecekan pada asumsi-asumsi. residual/sisaan/epsilon didefinisikan terlebih dahulu. Dengan menggunakan fungsi shapiro.test(residual) didapatkan nilai statistik uji w dan p-value. Hipotesis: H0: Residual berdistribusi normal H1: Residual tidak berdistribusi normal.
Dengan menggunakan pendekatan p-value 0.0015 (**) dapat diputuskan untuk gagal terima H0. Disimpulkan bahwa residual data IPM Jawa Timur pada tahun 2019 tidak berdistribusi normal.
Begitu pula dengan visualisasi yang digunakan dengan Q-Q Plot terdapat data yang tidak berada pada rentan garis (pencilan). Sehingga dapat diketahui bahwa residual tidak bersidtribusi normal.
> #Kehomogenan Ragam
> ##uji Breusch Pagan
> bptest(OLS, data = Data_IPM)
studentized Breusch-Pagan test
data: OLS
BP = 5.04, df = 4, p-value = 0.2832Untuk menguji kehomogenan ragam dapat menggunakan fungsi brtest yaitu uji Breunsch Pagan dengan mengetikkan variabel OLS dan data yang akan digunakan.
Berdasarkan output diketahui, Hipotesis: H0: Ragam residual homogen H1: Ragam residual tidak homogen. Dapat diputuskan terima Ho, dengan p-value sebesar 0.283 artinya berada pada daerah penerimaan H0. Dapat disimpulkan bahwa ragam residual pada data IPM Jawa Timur 2019 homogen.
> #Non-Autokorelasi
> dwtest(OLS)
Durbin-Watson test
data: OLS
DW = 1.1601, p-value = 0.00142
alternative hypothesis: true autocorrelation is greater than 0Untuk menguji apakah terdapat korelasi antar residual data dapat menggunakan fungsi dwtest yaitu uji Durbin-Watson test dengan mengetikkan variabel OLS.
Berdasarkan output diketahui, Hipotesis: H0: Tidak ada Autokorelasi H1: Terdapat Autokorelasi. Dapat diputuskan gagal terima Ho, dengan p-value sebesar 0.00142 (**) artinya berada pada daerah penolakan H0. Dapat disimpulkan bahwa terdapat korelasi antar residual data.
> #Tidak Ada Multikol
> vif(OLS)
x1 x2 x3 x4
2.546936 5.145633 9.011597 2.688460 Mengetahui apakah terdapat korelasi antar variabel prediktor dilakukan dengan memperhatikan nilai VIF. Diketahui bahwa nilai VIF setiap variabel prediktor tidak lebih dari 10 maka dapat disimpulkan tidak terdapat multikolinearitas pada variabel prediktor.
> #Pengecekan Pencilan
> ##Boxplot
> boxplot(Data_IPM, main = "IPM") Pengecekan pencilan dilakukan dengan visualisasi data menggunakan boxplot dengan fungsi boxplot, memasukkan input data dan memberikan judul pada boxplot. Berdasarkan boxplot di atas diketahui bahwa pada variabel X2 dan X4 terdapat pencilan. Sehingga untuk mengetahui pencilan terletak pada data keberapa digunakan leverage point dengan syarat sebagai berikut.
\[ h_i \geq 2\bar{h} \] Diputuskan sebagai pencilan apabilah nilai leverage point (h_ii) lebih besar sama dengan 2h dengan rumus:
\[ 2\bar{h} = \frac{2k}{n} \]
> #Statistik Uji
> S_Uji = (2*5)/n
> S_Uji
[1] 0.2631579> #Leverage Point
> hats <- as.data.frame(hatvalues(OLS))
> hats
hatvalues(OLS)
1 0.12736130
2 0.16133389
3 0.14807797
4 0.10365506
5 0.12670606
6 0.05320567
7 0.07452678
8 0.10560741
9 0.10617409
10 0.09494901
11 0.24773417
12 0.09244747
13 0.22138577
14 0.08674959
15 0.12144849
16 0.11946090
17 0.07558994
18 0.05872391
19 0.02939927
20 0.08615850
21 0.10360300
22 0.06018665
23 0.07271896
24 0.03828939
25 0.05452558
26 0.11615132
27 0.16233524
28 0.32031824
29 0.24865991
30 0.23483993
31 0.08977979
32 0.27481912
33 0.13099672
34 0.08070431
35 0.13557472
36 0.21136678
37 0.36931847
38 0.05511663Statistik uji sebesar 0.263, kemudian digunakan fungsi hatvalues dan membentuk data frame. Berdasarkan data frame (hats) di atas diketahui bahwa pada datum ke-28, ke-32, dan ke-37 merupakan pencilan.
> Data_IPM[c(28,32,37), 1:5]
X1 X2 X3 X4 Y
28 67.45 8.834 6.40 13.63 65.94
32 73.15 16.666 10.17 15.41 81.32
37 74.13 17.854 10.47 14.79 82.22Karena terdapat pencilan pada data sehingga dilakukan pembombotan dengan menggunakan regresi kekar (robust regression) dengan pembobot hubers dan bisquare.
> #Robust Reg.
> D1 <- cooks.distance(OLS)
> r <- stdres(OLS)
> a <- cbind(Data_IPM, D1, r)
> a[D1 > 4/51, ]
X1 X2 X3 X4 Y D1 r
1 71.77 9.033 7.28 12.62 68.16 0.09350663 -1.789801
11 66.55 10.665 5.71 13.27 66.09 0.09387294 1.193845
26 70.11 8.718 5.66 11.59 63.79 0.13674632 -2.280971
27 67.96 8.760 4.55 12.08 61.94 0.10074033 -1.612187
28 67.45 8.834 6.40 13.63 65.94 0.19095652 -1.423358
32 73.15 16.666 10.17 15.41 81.32 0.12878683 -1.303528
36 72.75 16.040 11.13 14.39 80.88 0.18724441 -1.868997
37 74.13 17.854 10.47 14.79 82.22 0.79326619 -2.602550
>
>
> r_absolut <- abs(r)
> a <- cbind(Data_IPM, D1, r, r_absolut)
> sort_a <- a[order(-r_absolut), ]
> sort_a[1:38, ]
X1 X2 X3 X4 Y D1 r r_absolut
37 74.13 17.854 10.47 14.79 82.22 7.932662e-01 -2.60254963 2.60254963
26 70.11 8.718 5.66 11.59 63.79 1.367463e-01 -2.28097069 2.28097069
36 72.75 16.040 11.13 14.39 80.88 1.872444e-01 -1.86899698 1.86899698
1 71.77 9.033 7.28 12.62 68.16 9.350663e-02 -1.78980077 1.78980077
27 67.96 8.760 4.55 12.08 61.94 1.007403e-01 -1.61218700 1.61218700
28 67.45 8.834 6.40 13.63 65.94 1.909565e-01 -1.42335825 1.42335825
32 73.15 16.666 10.17 15.41 81.32 1.287868e-01 -1.30352817 1.30352817
8 69.94 9.274 6.22 11.80 65.33 3.924179e-02 -1.28906947 1.28906947
20 72.49 11.779 7.96 14.00 73.49 2.765265e-02 1.21098769 1.21098769
10 70.54 12.264 7.13 12.78 70.60 3.011171e-02 1.19796476 1.19796476
11 66.55 10.665 5.71 13.27 66.09 9.387294e-02 1.19384497 1.19384497
18 71.44 12.200 7.63 12.85 71.71 1.512261e-02 1.10090394 1.10090394
21 72.16 11.468 6.98 12.69 70.41 2.417410e-02 1.02264333 1.02264333
24 72.27 11.572 7.89 13.47 72.57 7.556483e-03 0.97415452 0.97415452
19 71.22 11.650 7.80 13.14 71.69 5.175638e-03 0.92431277 0.92431277
38 72.54 12.870 9.06 14.12 75.88 7.663898e-03 0.81050864 0.81050864
16 72.43 12.860 8.49 12.61 73.53 1.691672e-02 0.78959511 0.78959511
3 73.59 9.865 7.28 12.25 69.46 2.137247e-02 -0.78409204 0.78409204
13 67.00 10.972 5.77 12.34 65.60 3.229560e-02 0.75360365 0.75360365
29 71.22 9.082 5.46 13.19 66.22 3.451921e-02 -0.72215561 0.72215561
33 70.19 12.280 8.69 13.57 73.27 1.130082e-02 0.61223835 0.61223835
25 72.61 13.295 9.29 13.72 76.10 3.978296e-03 0.58729770 0.58729770
34 71.40 13.393 9.11 13.60 75.25 5.854010e-03 0.57741888 0.57741888
7 72.45 10.270 7.21 13.17 70.35 5.054422e-03 0.56020435 0.56020435
12 68.97 10.097 6.12 13.14 67.09 6.041738e-03 0.54457075 0.54457075
6 72.54 11.146 8.01 12.88 71.85 2.652001e-03 0.48575880 0.48575880
17 72.27 11.533 8.53 13.00 72.85 3.567454e-03 0.46705122 0.46705122
5 73.39 10.861 7.29 12.45 70.57 4.122550e-03 0.37692028 0.37692028
4 73.95 10.891 8.07 13.15 72.62 2.995777e-03 0.35990020 0.35990020
23 71.26 10.499 6.81 12.20 68.37 3.096324e-04 0.14050444 0.14050444
31 73.60 13.851 10.10 14.31 78.56 2.777774e-04 0.11866357 0.11866357
9 68.99 9.525 6.18 13.22 66.69 3.325123e-04 -0.11830580 0.11830580
30 73.96 12.440 9.92 14.97 78.08 8.299696e-04 0.11628034 0.11628034
35 73.21 13.710 10.24 13.83 77.96 1.373775e-04 -0.06617853 0.06617853
15 73.98 14.609 10.25 14.91 80.05 1.089238e-04 -0.06276739 0.06276739
2 72.65 9.883 7.21 13.72 70.56 6.636103e-05 -0.04153109 0.04153109
22 71.36 10.265 7.09 12.36 68.75 1.781855e-05 -0.03729855 0.03729855
14 70.17 10.381 7.11 12.31 68.29 1.914905e-05 0.03174825 0.03174825Pada regresi kekar akan ditambahkan beberapa kolom pada data, yaitu data D1 merupakan jarak pada GLS yang diaproksimasikan, r adalah standardized residual dari OLS, a adalah bentuk data baru yang meliputi data yang telah diinputkan, D1, dan r. Kemudian ditambahkan lagi r absolut yang akan digunakan nantinya untuk regresi kekar. Selanjutnya yaitu mengurutkan data berdasarkan r absolut dari terkecil hingga terbesar.
> # Pembobot Huber
> rr_huber <- rlm(y~x1+x2+x3+x4, data = Data_IPM)
> summary(rr_huber)
Call: rlm(formula = y ~ x1 + x2 + x3 + x4, data = Data_IPM)
Residuals:
Min 1Q Median 3Q Max
-0.72243 -0.14800 0.04135 0.11099 0.23731
Coefficients:
Value Std. Error t value
(Intercept) 6.2817 2.0131 3.1204
x1 0.4601 0.0276 16.6538
x2 0.7877 0.0360 21.9084
x3 1.3472 0.0646 20.8633
x4 0.9725 0.0624 15.5908
Residual standard error: 0.1761 on 33 degrees of freedomFungsi yang digunakan adalah rlm, dengan menakaman sebagai varibel rr_huber formula yaitu variabel respons (y) menyebar dengan variabel independen (x1, x2, x3, dan x4) kemudian ketikkan nama data yang telah di-input tadi (Data_IPM), default dari formula ini apabila tidak ditambahkan psi akan otomatis menggunakan pembobot huber. Untuk menampilkan hasil perhitungan rlm ini dapat mengetikkan source summary(nama variabel) -> summary(rr_huber).
Interpretasi: Model dengan menggunakan WLS Pembobot Huber: \[ \widehat{Y} = 6.28 + 0.46X1 + 0.79X2 + 1.35X3 + 0.97X4 \]
> # Pembobot Bisquare
> rr_bisquare <- rlm(y~x1+x2+x3+x4, data = Data_IPM, psi = psi.bisquare)
> summary(rr_bisquare)
Call: rlm(formula = y ~ x1 + x2 + x3 + x4, data = Data_IPM, psi = psi.bisquare)
Residuals:
Min 1Q Median 3Q Max
-1.391736 -0.114365 0.002829 0.085070 0.145786
Coefficients:
Value Std. Error t value
(Intercept) 3.4310 1.3823 2.4820
x1 0.4811 0.0190 25.3585
x2 0.9145 0.0247 37.0391
x3 1.2191 0.0443 27.4946
x4 1.0431 0.0428 24.3541
Residual standard error: 0.1416 on 33 degrees of freedomFungsi yang digunakan adalah rlm, dengan menakaman sebagai varibel rr_bisquare formula yaitu variabel respons (y) menyebar dengan variabel independen (x1, x2, x3, dan x4) kemudian ketikkan nama data yang telah di-input tadi (Data_IPM), default dari formula ini apabila tidak ditambahkan psi akan otomatis menggunakan pembobot huber sehingga ditambahkan psi.bisquare. Untuk menampilkan hasil perhitungan rlm ini dapat mengetikkan source summary(nama variabel) -> summary(rr_bisquare).
Interpretasi: Model dengan menggunakan WLS Pembobot Bisquare: \[ \widehat{Y} = 3.43 + 0.48X1 + 0.91X2 + 1.22X3 + 1.04X4 \] ##Bagaimana mendapatkan model yang paling baik? Untuk mengetahui model terbaik dari ketiga model yang didapatkan dengan banyak cara, baik itu menggunakan MSE, R-sqr (ADJ), atau menggunakan Residual standard error (s). Untuk publish kali ini kita akan menggunakan Residual standard error (s) sebagai indikator kebaikan suatu model, semakin kecil s maka semakin baik model tersebut.
OLS -> s = 0.2379
WLS dengan pembobot Huber -> s = 0.1761 Bisquare -> s = 0.1416
Berdasarkan nilai di atas diketahui bahwa model yang paling baik pada data yang digunakan adalah WLS dengan pembobot Bisquare. Sehingga model akhir adalah: \[ \widehat{Y} = 3.43 + 0.48X1 + 0.91X2 + 1.22X3 + 1.04X4 \] Interpretasi:
Sebesar 99.91% IPM dapat dijelaskan oleh variabel angka harapan hidup, pendapatan per kapita, rata-rata lama sekolah dan harapan lama sekolah sedangkan sebesar 0.09% dijelaskan oleh variabel lain yang tidak ikut serta diujikan. Berdasarkan analisis yang telah dilakukan, pada saat angka harapan hidup, pendapatan per kapita, rata-rata lama sekolah dan harapan lama sekolah bernilai 0 (tidak ada), nilai IPM sebesar 3.43. Apabila setiap peningkatan satu tahun angka harapan hidup dengan pendapatan per kapita, rata-rata lama sekolah dan harapan lama sekolah dianggap tetap maka akan meningkatkan IPM sebesar 0.48. Apabila setiap peningkatan satu juta pendapatan per kapita dengan angka harapan hidup, rata-rata lama sekolah dan harapan lama sekolah dianggap tetap maka akan meningkatkan IPM sebesar 0.91. Apabila setiap peningkatan satu tahun rata-rata lama sekolah dengan harapan hidup, pendapatan per kapita dan harapan lama sekolah dianggap tetap maka akan meningkatkan IPM sebesar 1.22. Apabila setiap peningkatan satu tahun harapan lama sekolah dengan angka harapan hidup, pendapatan per kapita dan rata-rata lama sekolah dianggap tetap maka akan meningkatkan IPM sebesar 1.0431.
4 DAFTAR PUSTAKA
- Cook, R. D. and Weisberg, S. (1984) Residuals and Influence in Regression.
- Draper, N. and Smith, H. (1992) Analisi Regresi Terapan Edisi Kedua.
- Efendi, A. dkk. (2020) Analisis Regresi Teori dan Aplikasi dengan R.
- Siegel, S. (1990) Statistik Nonparametrik untuk ilmu-ilmu sosial.