Lembaga : UIN Maulana Malik Ibrahim Malang
Jurusan : Teknik Informatika
library(readxl)
## Warning: package 'readxl' was built under R version 4.1.3
Data <- read_excel(path = "LA.xlsx")
Data
## # A tibble: 1,048,551 x 13
## Tanggal Kota Positif Dirawat Sembuh Meninggal `Self Isolation`
## <dttm> <chr> <dbl> <dbl> <dbl> <dbl> <dbl>
## 1 2020-07-01 00:00:00 Jakarta 551009 24184 468461 8528 49836
## 2 2020-07-02 00:00:00 Jakarta 560408 25380 473467 8547 53014
## 3 2020-07-03 00:00:00 Jakarta 570110 27442 479150 8577 54941
## 4 2020-07-04 00:00:00 Jakarta 580595 27687 484949 8652 59307
## 5 2020-07-05 00:00:00 Jakarta 591498 28290 491556 8779 62873
## 6 2020-07-06 00:00:00 Jakarta 600937 29136 497492 8861 65448
## 7 2020-07-07 00:00:00 Jakarta 610303 30418 501199 9042 69644
## 8 2020-07-08 00:00:00 JAKARTA 13069 417 8429 667 3556
## 9 2020-07-09 00:00:00 JAKARTA 13359 451 8647 677 3584
## 10 2020-07-10 00:00:00 JAKARTA 13598 476 8825 684 3613
## # ... with 1,048,541 more rows, and 6 more variables:
## # retail_and_recreation_percent_change_from_baseline <dbl>,
## # grocery_and_pharmacy_percent_change_from_baseline <dbl>,
## # parks_percent_change_from_baseline <dbl>,
## # transit_stations_percent_change_from_baseline <dbl>,
## # workplaces_percent_change_from_baseline <dbl>,
## # residential_percent_change_from_baseline <dbl>
library(ggplot2)
## Warning: package 'ggplot2' was built under R version 4.1.3
library(reshape2)
## Warning: package 'reshape2' was built under R version 4.1.3
x <- Data$Dirawat
retail <- Data$retail_and_recreation_percent_change_from_baseline
grocery <- Data$grocery_and_pharmacy_percent_change_from_baseline
park <- Data$parks_percent_change_from_baseline
station <- Data$transit_stations_percent_change_from_baseline
workplace <- Data$workplaces_percent_change_from_baseline
residental <- Data$residential_percent_change_from_baseline
df <- data.frame(x, retail, grocery, park, station, workplace, residental )
# melt the data to a long format
df2 <- melt(data = df, id.vars = "x")
# plot, using the aesthetics argument 'colour'
ggplot(data = df2, aes(x = x, y = value, colour = variable))+
geom_point() +
geom_line() +
theme(legend.justification = "top") +
labs(title = "Google Mobility Index",
subtitle = "Provinsi DKI Jakarta Indonesia Bulan Juli 2020",
y = "Mobility", x = "Data Positif") +
theme(axis.text.x = element_text(angle = -90))
## Warning: Removed 6291120 rows containing missing values (geom_point).
## Warning: Removed 6291120 row(s) containing missing values (geom_path).
model <- lm(Data$Dirawat~Data$retail_and_recreation_percent_change_from_baseline+Data$grocery_and_pharmacy_percent_change_from_baseline+Data$parks_percent_change_from_baseline+Data$transit_stations_percent_change_from_baseline+Data$workplaces_percent_change_from_baseline+Data$residential_percent_change_from_baseline)
model
##
## Call:
## lm(formula = Data$Dirawat ~ Data$retail_and_recreation_percent_change_from_baseline +
## Data$grocery_and_pharmacy_percent_change_from_baseline +
## Data$parks_percent_change_from_baseline + Data$transit_stations_percent_change_from_baseline +
## Data$workplaces_percent_change_from_baseline + Data$residential_percent_change_from_baseline)
##
## Coefficients:
## (Intercept)
## -194297.32
## Data$retail_and_recreation_percent_change_from_baseline
## -3199.28
## Data$grocery_and_pharmacy_percent_change_from_baseline
## 4280.28
## Data$parks_percent_change_from_baseline
## -442.73
## Data$transit_stations_percent_change_from_baseline
## -2698.23
## Data$workplaces_percent_change_from_baseline
## -83.58
## Data$residential_percent_change_from_baseline
## 24.55
Uji normalitas pada model regresi digunakan untuk menguji apakah nilai residual yang dihasilkan dari regresi terdistribusi secara normal atau tidak. Model regresi yang baik adalah yang memiliki nilai residual yang terdistribusi secara normal.Pada contoh berikut akan dilakukakan uji normalitas menggunakan metode One-sample Kolmogorov-Smirnov
ks.test(model$residuals, ecdf(model$residuals))
##
## One-sample Kolmogorov-Smirnov test
##
## data: model$residuals
## D = 0.032258, p-value = 1
## alternative hypothesis: two-sided
Berdasarkan dasar teori atau syarat dari uji normalitas adalah jika nilai p-value > 0.05 maka data berdistribusi normal. Namun apabila sebaliknya maka data tidak berdstribusi normal. Sehingga dapat disimpulkan bahwa model regresi diatas berdistribusi normal dikarenakan nilai p-value sama dengan 1 dimana > 0.05
Dalam menampilkan hasil regresi kita dapat menggunakan fungsi summary.
summary(model)
##
## Call:
## lm(formula = Data$Dirawat ~ Data$retail_and_recreation_percent_change_from_baseline +
## Data$grocery_and_pharmacy_percent_change_from_baseline +
## Data$parks_percent_change_from_baseline + Data$transit_stations_percent_change_from_baseline +
## Data$workplaces_percent_change_from_baseline + Data$residential_percent_change_from_baseline)
##
## Residuals:
## Min 1Q Median 3Q Max
## -10165 -6055 -1358 3557 17141
##
## Coefficients:
## Estimate Std. Error
## (Intercept) -194297.32 60712.93
## Data$retail_and_recreation_percent_change_from_baseline -3199.28 1074.59
## Data$grocery_and_pharmacy_percent_change_from_baseline 4280.28 954.92
## Data$parks_percent_change_from_baseline -442.73 326.68
## Data$transit_stations_percent_change_from_baseline -2698.23 772.92
## Data$workplaces_percent_change_from_baseline -83.58 304.16
## Data$residential_percent_change_from_baseline 24.55 182.38
## t value Pr(>|t|)
## (Intercept) -3.200 0.003838 **
## Data$retail_and_recreation_percent_change_from_baseline -2.977 0.006551 **
## Data$grocery_and_pharmacy_percent_change_from_baseline 4.482 0.000155 ***
## Data$parks_percent_change_from_baseline -1.355 0.187960
## Data$transit_stations_percent_change_from_baseline -3.491 0.001884 **
## Data$workplaces_percent_change_from_baseline -0.275 0.785822
## Data$residential_percent_change_from_baseline 0.135 0.894040
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 8433 on 24 degrees of freedom
## (1048520 observations deleted due to missingness)
## Multiple R-squared: 0.5527, Adjusted R-squared: 0.4409
## F-statistic: 4.943 on 6 and 24 DF, p-value: 0.002017
- Nilai Minimum adalah -10165
- Nilai Quartal ke-1 adalah -6055
- Nilai Tengah adalah -1358
- Nilai Quartal ke-3 adalah 3557
- Nilai Maksimum adalah 17141
- Dasar teori yang digunakan dalam interpretasi hasil regresi adalah apabila nilai signifikansi (Pr(>|t|)) < 0.05 maka variabel independent (variabel x) secara parsial berpengaruh terhadap variable dependent (variable y). Sehingga dapat disimpulkan :
- Variable retail_and_recreation_percent_change_from_baseline signifikan berpengaruh terhadap variable Dirawat
- Variable grocery_and_pharmacy_percent_change_from_baseline signifikan berpengaruh terhadap variable Dirawat
- Variable parks_percent_change_from_baseline tidak signifikan berpengaruh terhadap variable Dirawat
- Variable transit_stations_percent_change_from_baseline signifikan berpengaruh terhadap variable Dirawat
- Variable workplaces_percent_change_from_baseline tidak signifikan berpengaruh terhadap variable Dirawat
- Variable residential_percent_change_from_baseline tidak signifikan berpengaruh terhadap variable Dirawat.
- Selain itu kita dapat disimpulkan apakah seluruh variable independent berpengaruh secara simultan terhadap variable dependent dimana dasar dari penentuan tersebut yaitu apabila nilai p-value dari F-statistic < 0.05 maka keseluruahan variable independent signifikan berpengaruh secara simultan (bersama-sama) terhadap variable dependent (variable Dirawat). Besar pengaruh tersebut dapat dilihat dari nilai R-squared dimana pada model diatas bernilai 0.5527. Sehingga dapat disimpulkan variable independent signifikan berpengaruh terhadap variable dependent sebesar 55.27 %.
plot(Data$retail_and_recreation_percent_change_from_baseline, Data$Dirawat, col = "dodgerblue")
plot(Data$grocery_and_pharmacy_percent_change_from_baseline, Data$Dirawat, col = "red")
plot(Data$parks_percent_change_from_baseline, Data$Dirawat, col = "darkorange")
plot(Data$transit_stations_percent_change_from_baseline, Data$Dirawat, col = "darkgreen")
plot(Data$workplaces_percent_change_from_baseline, Data$Dirawat, col = "blueviolet")
plot(Data$residential_percent_change_from_baseline, Data$Dirawat, col = "darkcyan")
plot(model)
## Warning in sqrt(crit * p * (1 - hh)/hh): NaNs produced
## Warning in sqrt(crit * p * (1 - hh)/hh): NaNs produced