Lembaga : UIN Maulana Malik Ibrahim Malang, Teknik Informatika.
Regresi linier berganda merupakan model persamaan yang menjelaskan hubungan satu variabel tak bebas/ response (Y) dengan dua atau lebih variabel bebas/ predictor (X1, X2,…Xn).
Pengambilan data Covid 19 Pasien Sembuh secara online pada web site Riwayat File Covid-19 DKI Jakarta di alamat URL https://riwayat-file-covid-19-dki-jakarta-jakartagis.hub.arcgis.com/, dan menggunakan data Google Mobility Index yang diambil secara online pada web site Laporan Mobilitas Masyarakat Selama Pandemi Covid-19 di alamat URL https://www.google.com/covid19/mobility/?hl=id.
Jenis file yang digunakan adalah file Excel. Sehingga untuk menampilkan data dalam Rstudio dengan menggunakan package {readxl} dengan fungsi read_excel untuk import data dari file Excel. Argumen path = adalah lokasi dan nama file Excel yang akan digunakan.
library(readxl)
## Warning: package 'readxl' was built under R version 4.1.2
datasembuh <- read_excel(path = "SembuhNov2020.xlsx")
datasembuh
## # A tibble: 30 x 8
## Tanggal Sembuh retail_and_recr~ grocery_and_pha~ parks_percent_c~
## <dttm> <dbl> <dbl> <dbl> <dbl>
## 1 2020-11-01 00:00:00 94819 -38 -15 -55
## 2 2020-11-02 00:00:00 95876 -30 -7 -52
## 3 2020-11-03 00:00:00 96902 -31 -9 -56
## 4 2020-11-04 00:00:00 97833 -31 -12 -56
## 5 2020-11-05 00:00:00 98806 -33 -14 -57
## 6 2020-11-06 00:00:00 99830 -28 -9 -49
## 7 2020-11-07 00:00:00 100816 -29 -8 -47
## 8 2020-11-08 00:00:00 101791 -33 -13 -51
## 9 2020-11-09 00:00:00 102844 -30 -11 -54
## 10 2020-11-10 00:00:00 104144 -32 -12 -53
## # ... with 20 more rows, and 3 more variables:
## # transit_stations_percent_change_from_baseline <dbl>,
## # workplaces_percent_change_from_baseline <dbl>,
## # residential_percent_change_from_baseline <dbl>
Summary data merupakan cara untuk melihat nilai minimum, nilai kuartil 1, nilai kuartil 2 atau median, nilai kuartil 3, dan nilai maksimum. dari setiap kolomnya.
summary(datasembuh)
## Tanggal Sembuh
## Min. :2020-11-01 00:00:00 Min. : 94819
## 1st Qu.:2020-11-08 06:00:00 1st Qu.:102054
## Median :2020-11-15 12:00:00 Median :109701
## Mean :2020-11-15 12:00:00 Mean :109508
## 3rd Qu.:2020-11-22 18:00:00 3rd Qu.:116737
## Max. :2020-11-30 00:00:00 Max. :124078
## retail_and_recreation_percent_change_from_baseline
## Min. :-38.0
## 1st Qu.:-32.0
## Median :-30.0
## Mean :-29.8
## 3rd Qu.:-28.0
## Max. :-23.0
## grocery_and_pharmacy_percent_change_from_baseline
## Min. :-18.00
## 1st Qu.:-12.75
## Median :-11.00
## Mean :-10.27
## 3rd Qu.: -9.00
## Max. : 1.00
## parks_percent_change_from_baseline
## Min. :-57.00
## 1st Qu.:-54.00
## Median :-51.50
## Mean :-50.53
## 3rd Qu.:-47.25
## Max. :-41.00
## transit_stations_percent_change_from_baseline
## Min. :-42.00
## 1st Qu.:-40.00
## Median :-39.00
## Mean :-36.83
## 3rd Qu.:-32.00
## Max. :-27.00
## workplaces_percent_change_from_baseline
## Min. :-33.00
## 1st Qu.:-31.00
## Median :-31.00
## Mean :-26.50
## 3rd Qu.:-17.25
## Max. :-13.00
## residential_percent_change_from_baseline
## Min. : 6.00
## 1st Qu.: 8.00
## Median :13.00
## Mean :11.13
## 3rd Qu.:13.00
## Max. :14.00
Dalam membuat grafik pairs yaitu dengan memasukkan datasembuh ke dalam sintaks fungsi pairs().
pairs(datasembuh)
Memasukkan data ke dalam fungsi plot(), untuk menampilkan 6 data dengan data X yang berbeda beda(X1, X2, X3, X4, X5, X6). Dan akan menghasilkan 6 grafik dari fungsi plot().
plot(datasembuh$Sembuh ~ datasembuh$retail_and_recreation_percent_change_from_baseline, data = datasembuh)
plot(datasembuh$Sembuh ~ datasembuh$grocery_and_pharmacy_percent_change_from_baseline, data = datasembuh)
plot(datasembuh$Sembuh ~ datasembuh$parks_percent_change_from_baseline, data = datasembuh)
plot(datasembuh$Sembuh ~ datasembuh$transit_stations_percent_change_from_baseline, data = datasembuh)
plot(datasembuh$Sembuh ~ datasembuh$workplaces_percent_change_from_baseline, data = datasembuh)
plot(datasembuh$Sembuh ~ datasembuh$residential_percent_change_from_baseline, data = datasembuh)
Korelasi merupakan ukuran dari seberapa dekat dua variabel berubah dalam hubungan satu sama lain atau digunakan untuk mengetahui ada atau tidaknya hubungan antar linier atau variabelnya. Atau Untuk menghitung nilai koefisien Korelasi antara dua variabel kontinyu pada r dapat menggunakan fungsi cor( ).
cor(datasembuh$Sembuh, datasembuh$retail_and_recreation_percent_change_from_baseline)
## [1] 0.4946308
Berdasarkan hasil perhitungan diperoleh nilai Korelasi sebesar 0.49
cor(datasembuh$Sembuh, datasembuh$grocery_and_pharmacy_percent_change_from_baseline)
## [1] 0.3330524
Berdasarkan hasil perhitungan diperoleh nilai Korelasi sebesar 0.33
cor(datasembuh$Sembuh, datasembuh$parks_percent_change_from_baseline)
## [1] 0.4404193
Berdasarkan hasil perhitungan diperoleh nilai Korelasi sebesar 0.44
cor(datasembuh$Sembuh, datasembuh$transit_stations_percent_change_from_baseline)
## [1] 0.1372972
Berdasarkan hasil perhitungan diperoleh nilai Korelasi sebesar 0.13
cor(datasembuh$Sembuh, datasembuh$workplaces_percent_change_from_baseline)
## [1] 0.1030888
Berdasarkan hasil perhitungan diperoleh nilai Korelasi sebesar 0.10
cor(datasembuh$Sembuh, datasembuh$residential_percent_change_from_baseline)
## [1] -0.1297498
Berdasarkan hasil perhitungan diperoleh nilai Korelasi sebesar -0.12
model <- lm(datasembuh$Sembuh ~ datasembuh$Tanggal, data = datasembuh)
Lalu membuat summary() untuk meringkas data tersebut yang sudah diberi nama model.
summary(model)
##
## Call:
## lm(formula = datasembuh$Sembuh ~ datasembuh$Tanggal, data = datasembuh)
##
## Residuals:
## Min 1Q Median 3Q Max
## -314.38 -93.82 -36.65 161.48 216.00
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) -1.866e+07 5.811e+04 -321.1 <2e-16 ***
## datasembuh$Tanggal 1.169e-02 3.620e-05 323.0 <2e-16 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 148.3 on 28 degrees of freedom
## Multiple R-squared: 0.9997, Adjusted R-squared: 0.9997
## F-statistic: 1.043e+05 on 1 and 28 DF, p-value: < 2.2e-16
Dari summary(model) tersebut terdapat lm formula untuk memanggil data tersebut. Lalu pada residuals di jabarkan nilai minimal, kuartil 1, median, kuartil 3, dan maksimal. Terdapat nilai Multiple R-squared sebesar 0.9997 dan nilai Adjusted R-squared sebesar 0.9997 .
Nilai min sebesar -314.38
Nilai Q1 sebesar -93.82
Nilai median sebesar -36.65
Nilai Q3 sebesar 161.48
Nilai max sebesar 216.00
Uji Anova adalah singkatan dari Analysis of Variance, yaitu merupakan salah satu metode yang digunakan untuk mengetahui perbedaan rerata data antara dua kelompok atau lebih.
Table anova dalam hasil regresi linier yaitu dalam perhitungan anova digunakan untuk membandingkan nilai mea square dimana hasilnya ialan untuk mnenilai apakah model prediksi linier tidak berbeda nyata dengan nilai koefisien estimasi serta standar error.
anova(model)
## Analysis of Variance Table
##
## Response: datasembuh$Sembuh
## Df Sum Sq Mean Sq F value Pr(>F)
## datasembuh$Tanggal 1 2292893925 2292893925 104298 < 2.2e-16 ***
## Residuals 28 615555 21984
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
plot(datasembuh$Sembuh ~ datasembuh$Tanggal, data = datasembuh, col = "red", pch = 20, cex = 1.5, main = "Data Sembuh Covid di DKI Jakarta Pada November 2020")
abline(model)
plot(cooks.distance(model), pch = 16, col = "red")
plot(model)
AIC dan BIC banyak digunakan dalam kriteria pemilihan model. AIC berarti kriteria data Akaike dan kriteria data BIC Bayesian. Meskipun kedua istilah ini merujuk pada pemilihan model, mereka tidak sama. Mungkin ada perbedaan antara dua pendekatan untuk pemilihan model.
AIC dapat disebut kriteria kepatuhan dengan model statistik yang diprediksi. BIC adalah jenis pemilihan model antara kelas model parametrik dengan parameter yang berbeda. Kriteria data Akaike biasanya mencari model yang tidak diketahui dengan realitas dimensional. Di sisi lain, kriteria data Bayesian hanya dapat ditemukan dalam model nyata.
AIC(model)
## [1] 389.0088
BIC(model)
## [1] 393.2124
head(predict(model), n = 16)
## 1 2 3 4 5 6 7 8
## 94862.47 95872.51 96882.56 97892.61 98902.66 99912.71 100922.76 101932.80
## 9 10 11 12 13 14 15 16
## 102942.85 103952.90 104962.95 105973.00 106983.05 107993.09 109003.14 110013.19
plot(head(predict(model), n = 30))
head(resid(model), n = 14)
## 1 2 3 4 5 6
## -43.466667 3.485057 19.436782 -59.611494 -96.659770 -82.708046
## 7 8 9 10 11 12
## -106.756322 -141.804598 -98.852874 191.098851 154.050575 216.002299
## 13 14
## 163.954023 215.905747
coef(model)
## (Intercept) datasembuh$Tanggal
## -1.865870e+07 1.169037e-02
datasembuh$residuals <- model$residuals
datasembuh$predict <- model$fitted.values
datasembuh
## # A tibble: 30 x 10
## Tanggal Sembuh retail_and_recr~ grocery_and_pha~ parks_percent_c~
## <dttm> <dbl> <dbl> <dbl> <dbl>
## 1 2020-11-01 00:00:00 94819 -38 -15 -55
## 2 2020-11-02 00:00:00 95876 -30 -7 -52
## 3 2020-11-03 00:00:00 96902 -31 -9 -56
## 4 2020-11-04 00:00:00 97833 -31 -12 -56
## 5 2020-11-05 00:00:00 98806 -33 -14 -57
## 6 2020-11-06 00:00:00 99830 -28 -9 -49
## 7 2020-11-07 00:00:00 100816 -29 -8 -47
## 8 2020-11-08 00:00:00 101791 -33 -13 -51
## 9 2020-11-09 00:00:00 102844 -30 -11 -54
## 10 2020-11-10 00:00:00 104144 -32 -12 -53
## # ... with 20 more rows, and 5 more variables:
## # transit_stations_percent_change_from_baseline <dbl>,
## # workplaces_percent_change_from_baseline <dbl>,
## # residential_percent_change_from_baseline <dbl>, residuals <dbl>,
## # predict <dbl>
scatter.smooth(x=datasembuh$Tanggal, y=datasembuh$Sembuh, main = "Grafik Scatter.Smooth")
boxplot(datasembuh$Sembuh, main = "Diagram Sembuh", boxplot.stats(datasembuh$Sembuh)$out)
plot(density(datasembuh$Sembuh), main = "Plot Mobility Index Sembuh", ylab = "Frekuensi")
coefs <- coef(model)
plot(Sembuh ~ Tanggal, data = datasembuh)
abline(coefs)
text(x = 12, y = 10, paste('expression = ', round(coefs[1], 2), '+', round(coefs[2], 2), '*Sembuh'))
Untuk menghitung nilai koefisien Korelasi antara dua variabel kontinyu pada r dapat menggunakan fungsi cor( ), sedangkan untuk menguji apakah nilai tersebut signifikan dapat menggunakan fungsi cor.test( ).
cor.test(datasembuh$retail_and_recreation_percent_change_from_baseline, datasembuh$Sembuh)
##
## Pearson's product-moment correlation
##
## data: datasembuh$retail_and_recreation_percent_change_from_baseline and datasembuh$Sembuh
## t = 3.0115, df = 28, p-value = 0.005459
## alternative hypothesis: true correlation is not equal to 0
## 95 percent confidence interval:
## 0.1634967 0.7255982
## sample estimates:
## cor
## 0.4946308
Berdasarkan hasil uji diperoleh nilai p-value sebesar 0.005459 atau > 5% menunjukkan nilai korelasi antara variabel data X1 dan Y.
cor.test(datasembuh$grocery_and_pharmacy_percent_change_from_baseline, datasembuh$Sembuh)
##
## Pearson's product-moment correlation
##
## data: datasembuh$grocery_and_pharmacy_percent_change_from_baseline and datasembuh$Sembuh
## t = 1.8691, df = 28, p-value = 0.07211
## alternative hypothesis: true correlation is not equal to 0
## 95 percent confidence interval:
## -0.03092777 0.61904352
## sample estimates:
## cor
## 0.3330524
Berdasarkan hasil uji diperoleh nilai p-value sebesar 0.07211 atau > 5% menunjukkan nilai korelasi antara variabel data X2 dan Y.
cor.test(datasembuh$parks_percent_change_from_baseline, datasembuh$Sembuh)
##
## Pearson's product-moment correlation
##
## data: datasembuh$parks_percent_change_from_baseline and datasembuh$Sembuh
## t = 2.5958, df = 28, p-value = 0.01486
## alternative hypothesis: true correlation is not equal to 0
## 95 percent confidence interval:
## 0.09526585 0.69104132
## sample estimates:
## cor
## 0.4404193
Berdasarkan hasil uji diperoleh nilai p-value sebesar 0.01486 atau > 5% menunjukkan nilai korelasi antara variabel data X3 dan Y.
cor.test(datasembuh$transit_stations_percent_change_from_baseline, datasembuh$Sembuh)
##
## Pearson's product-moment correlation
##
## data: datasembuh$transit_stations_percent_change_from_baseline and datasembuh$Sembuh
## t = 0.73345, df = 28, p-value = 0.4694
## alternative hypothesis: true correlation is not equal to 0
## 95 percent confidence interval:
## -0.2345750 0.4741148
## sample estimates:
## cor
## 0.1372972
Berdasarkan hasil uji diperoleh nilai p-value sebesar 0.4694 atau > 5% menunjukkan nilai korelasi antara variabel data X4 dan Y.
cor.test(datasembuh$workplaces_percent_change_from_baseline, datasembuh$Sembuh)
##
## Pearson's product-moment correlation
##
## data: datasembuh$workplaces_percent_change_from_baseline and datasembuh$Sembuh
## t = 0.54842, df = 28, p-value = 0.5878
## alternative hypothesis: true correlation is not equal to 0
## 95 percent confidence interval:
## -0.2671004 0.4467653
## sample estimates:
## cor
## 0.1030888
Berdasarkan hasil uji diperoleh nilai p-value sebesar 0.5878 atau > 5% menunjukkan nilai korelasi antara variabel data X5 dan Y.
cor.test(datasembuh$residential_percent_change_from_baseline, datasembuh$Sembuh)
##
## Pearson's product-moment correlation
##
## data: datasembuh$residential_percent_change_from_baseline and datasembuh$Sembuh
## t = -0.69242, df = 28, p-value = 0.4944
## alternative hypothesis: true correlation is not equal to 0
## 95 percent confidence interval:
## -0.4681360 0.2418235
## sample estimates:
## cor
## -0.1297498
Berdasarkan hasil uji diperoleh nilai p-value sebesar 0.4944 atau > 5% menunjukkan nilai korelasi antara variabel data X6 dan Y.
https://rpubs.com/suhartono-uinmaliki/877449
https://rpubs.com/suhartono-uinmaliki/870582
https://riwayat-file-covid-19-dki-jakarta-jakartagis.hub.arcgis.com/
https://www.google.com/covid19/mobility/?hl=id
https://simdos.unud.ac.id/uploads/file_pendidikan_1_dir/5f0221d2b0bb7ced1d61798fab7f4ad3.pdf
https://environmentallearning.wordpress.com/2019/01/14/mengukur-korelasi-antar-variabel-r/
https://www.labmutu.com/2020/12/pengertian-uji-anova-rumus-dan-tabel.html
https://ujistatistikhalal.com/blog/apa-itu-anova-untuk-analisis-statistik/
https://id.classicfoxvalley.com/collate/difference-between-aic-and-bic-a0119b/