UTS Membangun Regresi Linear Pada Data COVID-19 DKI Jakarta Januari 2022 dan Dihubungkan dengan Data Google Mobility Index

3/29/2022

Mutiara Aprillia Dzakiroh, 210605110032

Dosen Pengampu : Prof. Dr. Suhartono, M.Kom

Mata Kuliah : Linier Algebra

Prodi : Teknik Informatika

Lembaga : Universitas Islam Negeri Maulana Malik Ibrahim Malang

Deskripsi Regresi Linear dan Data Yang Digunakan

Regresi Linear

Regresi adalah metode untuk menentukan hubungan suatu variabel dengan yang lainnya untuk melihat seberapa besar pengaruhnya. Pada statistik, regresi linear merupakan suatu pendekatan untuk memantapkan hubungan antara satu atau lebih variabel dependen (regresi linear sederha) dan juga variabelel independen (regresi linear banyak). Dengan kata lain, Regresi merupakan rumus yang bisa digunakan untuk menganalisis data dari yang sederhana, sampai yang jumlahnya begitu banyak atau kompleks. Nah, pastinya disini juga akan menerapkan rumus-rumus dari Regresi Linear. Rumus regresi linear itu sendiri antara lain :

Dalam membangun regresi linear perlu adanya data yang diinputkan maka dari itu saya mengambil data Google Mobility Index dikombinasi dengan data covid-19 di DKI Jakarta pada bulan Januari 2022. Akan tetapi, data ini tidak saya susun sendiri melainkan 2 data ini saya ambil bersama rekan saya di Mata Kuliah Linear Algebra Kelompok 2.

Data COVID-19

Dalam data covid-19 ini mencakup siapa saja atau masyarakat DKI Jakarta yang terdampak atau positif covid, selain itu juga diliputi dengan jumlah data pasien dirawat, sembuh, isolasi mandiri (self isolation). Data covid-19 di DKI Jakarta yang saya pilih adalah pada Bulan Januari 2022.

Data Google Mobility Index

Pemerintah menggunakan sejumlah data dari raksasa teknologi untuk melakukan pemantauan mobilitas masyarakat saat gelombang kasus Covid-19 meningkat di Indonesia. Salah satu yang digunakan adalah laporan dari Google. Isi laporan tersebut akan menampilkan grafik tren mobilitas seiring waktu. Yakni berisi per wilayah untuk kategori tempat relevan sebagai cara merespon pandemi yakni untuk sejumlah tempat dari retail dan rekreasi, toko bahan makanan dan apotek, taman, pusat transportasi umum, tempat kerja dan area pemukiman.

Membangun Regresi Linear

Berikut beberapa tahapan untuk bisa membangun regresi linear :

Menginputkan data

Pertama-tama sebelum menginput/ memasukkan data kita harus mengunduh data covid-19 di DKI Jakarta pada bulan Januari 2022 dan Data Mobility Index di Internet. Setelah itu menggabungkan dan memilahnya di Ms.Excel. Hal ini agar memudahkankan kita saat membangun regresi linear di Rstudio. Selanjutnya import dataset tersebut dari Ms.Excel maka secara otomatis akan muncul syntax untuk memanggil data tersebut di Rstudio.

library(readr)
## Warning: package 'readr' was built under R version 4.1.2
DataCovid19_DKI_Jakarta_csv <- read_csv("D:/DOWNLOAD/DataCovid19 DKI Jakarta.csv.xls")
## Rows: 31 Columns: 15
## -- Column specification --------------------------------------------------------
## Delimiter: ","
## chr   (3): country_region_code, country_region, Nama Kota
## dbl  (11): retail_and_recreation_percent_change_from_baseline, grocery_and_p...
## date  (1): date
## 
## i Use `spec()` to retrieve the full column specification for this data.
## i Specify the column types or set `show_col_types = FALSE` to quiet this message.
DataCovid19_DKI_Jakarta_csv
## # A tibble: 31 x 15
##    country_region_code country_region `Nama Kota` date       retail_and_recreat~
##    <chr>               <chr>          <chr>       <date>                   <dbl>
##  1 ID                  Indonesia      DKI JAKARTA 2022-01-01                   3
##  2 ID                  Indonesia      DKI JAKARTA 2022-01-02                  11
##  3 ID                  Indonesia      DKI JAKARTA 2022-01-03                  14
##  4 ID                  Indonesia      DKI JAKARTA 2022-01-04                  11
##  5 ID                  Indonesia      DKI JAKARTA 2022-01-05                  12
##  6 ID                  Indonesia      DKI JAKARTA 2022-01-06                  10
##  7 ID                  Indonesia      DKI JAKARTA 2022-01-07                   6
##  8 ID                  Indonesia      DKI JAKARTA 2022-01-08                   8
##  9 ID                  Indonesia      DKI JAKARTA 2022-01-09                   7
## 10 ID                  Indonesia      DKI JAKARTA 2022-01-10                   7
## # ... with 21 more rows, and 10 more variables:
## #   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>, POSITIF <dbl>,
## #   Dirawat <dbl>, Sembuh <dbl>, Meninggal <dbl>, `Self Isolation` <dbl>

Reshape Data

Apa itu reshape di R?

Reshaping Data di R adalah sesuatu seperti baris dan kolom yang diatur dengan cara Anda sendiri untuk menggunakannya sesuai kebutuhan Anda, sebagian besar data diambil sebagai format bingkai data di R untuk melakukan pemrosesan data menggunakan fungsi seperti ‘rbind()’, ‘cbind( )’, dll. Dalam proses ini, Anda membentuk ulang atau mengatur ulang data ke dalam baris dan kolom.

Apa yang dilakukan fungsi reshape di R?

Paket Bentuk Ulang (Package reshape) Pada dasarnya, Anda “mencairkan” data sehingga setiap baris adalah kombinasi variabel id yang unik. Kemudian Anda “melemparkan” data yang dilebur ke dalam bentuk apa pun yang Anda inginkan. Berikut adalah contoh yang sangat sederhana. Ada banyak lagi yang dapat Anda lakukan dengan fungsi melt() dan cast().

Berikut salah satu contoh penerapan reshape untuk data yang kita miliki

DataCovid19_DKI_Jakarta_csv
## # A tibble: 31 x 15
##    country_region_code country_region `Nama Kota` date       retail_and_recreat~
##    <chr>               <chr>          <chr>       <date>                   <dbl>
##  1 ID                  Indonesia      DKI JAKARTA 2022-01-01                   3
##  2 ID                  Indonesia      DKI JAKARTA 2022-01-02                  11
##  3 ID                  Indonesia      DKI JAKARTA 2022-01-03                  14
##  4 ID                  Indonesia      DKI JAKARTA 2022-01-04                  11
##  5 ID                  Indonesia      DKI JAKARTA 2022-01-05                  12
##  6 ID                  Indonesia      DKI JAKARTA 2022-01-06                  10
##  7 ID                  Indonesia      DKI JAKARTA 2022-01-07                   6
##  8 ID                  Indonesia      DKI JAKARTA 2022-01-08                   8
##  9 ID                  Indonesia      DKI JAKARTA 2022-01-09                   7
## 10 ID                  Indonesia      DKI JAKARTA 2022-01-10                   7
## # ... with 21 more rows, and 10 more variables:
## #   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>, POSITIF <dbl>,
## #   Dirawat <dbl>, Sembuh <dbl>, Meninggal <dbl>, `Self Isolation` <dbl>
library(ggplot2)
## Warning: package 'ggplot2' was built under R version 4.1.2
library(reshape2)
## Warning: package 'reshape2' was built under R version 4.1.3
x<-DataCovid19_DKI_Jakarta_csv$date
retail <- DataCovid19_DKI_Jakarta_csv$retail_and_recreation_percent_change_from_baseline
grocery <- DataCovid19_DKI_Jakarta_csv$grocery_and_pharmacy_percent_change_from_baseline
park <- DataCovid19_DKI_Jakarta_csv$parks_percent_change_from_baseline
station <- DataCovid19_DKI_Jakarta_csv$transit_stations_percent_change_from_baseline
workplace <- DataCovid19_DKI_Jakarta_csv$workplaces_percent_change_from_baseline
residental <- DataCovid19_DKI_Jakarta_csv$residential_percent_change_from_baseline
positif <- DataCovid19_DKI_Jakarta_csv$POSITIF
dirawat <- DataCovid19_DKI_Jakarta_csv$Dirawat
sembuh <- DataCovid19_DKI_Jakarta_csv$Sembuh
meninggal <- DataCovid19_DKI_Jakarta_csv$Meninggal
selfIsolation <- DataCovid19_DKI_Jakarta_csv$`Self Isolation`

df <- data.frame (x, retail, grocery, park, station, workplace, residental,positif, dirawat, sembuh, meninggal, selfIsolation  )

# 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 = "Propinsi DKI Jakarta Indonesia 2022", 
         y = "Mobility", x = "Date") +
theme(axis.text.x = element_text(angle = -90))

dim(DataCovid19_DKI_Jakarta_csv)
## [1] 31 15
library(ggplot2)
library(reshape2)
x<-DataCovid19_DKI_Jakarta_csv$date
retail <- DataCovid19_DKI_Jakarta_csv$retail_and_recreation_percent_change_from_baseline
grocery <- DataCovid19_DKI_Jakarta_csv$grocery_and_pharmacy_percent_change_from_baseline
park <- DataCovid19_DKI_Jakarta_csv$parks_percent_change_from_baseline
station <- DataCovid19_DKI_Jakarta_csv$transit_stations_percent_change_from_baseline
workplace <- DataCovid19_DKI_Jakarta_csv$workplaces_percent_change_from_baseline
residental <- DataCovid19_DKI_Jakarta_csv$residential_percent_change_from_baseline
meninggal<-DataCovid19_DKI_Jakarta_csv$Meninggal
selfIsolation<-DataCovid19_DKI_Jakarta_csv$`Self Isolation`
df <- data.frame(x, retail, grocery, park, station, workplace,residental,meninggal,selfIsolation  )

# 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 = "Propinsi DKI Jakarta Indonesia 2022", 
         y = "Mobility", x = "Date") +
theme(axis.text.x = element_text(angle = -90))

# menghitung kernel density
dens <- density(DataCovid19_DKI_Jakarta_csv$Sembuh)

# histogram
hist(DataCovid19_DKI_Jakarta_csv$Sembuh, freq=FALSE, col="steelblue")

# tambahkan density plot
polygon(dens, border="red")

boxplot(DataCovid19_DKI_Jakarta_csv$date~DataCovid19_DKI_Jakarta_csv$Meninggal,
        # ubah warna outline menjadi steelblue
        border = "steelblue",
        # ubah warna box berdasarkan grup
        col= c("#999999", "#E69F00", "#56B4E9"))

Mengetahui summary() dari Data

Langkah yang kedua adalah dengan mengetahui summary() dari data. statistik ringkasan dihitung menggunakan fungsi ringkasan () di R. ringkasan () fungsi secara otomatis diterapkan ke setiap kolom. Format hasil tergantung pada tipe data kolom.

Statistik deskriptif dalam R dengan fungsi ringkasan sederhana menghitung

summary(DataCovid19_DKI_Jakarta_csv)
##  country_region_code country_region      Nama Kota              date           
##  Length:31           Length:31          Length:31          Min.   :2022-01-01  
##  Class :character    Class :character   Class :character   1st Qu.:2022-01-08  
##  Mode  :character    Mode  :character   Mode  :character   Median :2022-01-16  
##                                                            Mean   :2022-01-16  
##                                                            3rd Qu.:2022-01-23  
##                                                            Max.   :2022-01-31  
##  retail_and_recreation_percent_change_from_baseline
##  Min.   : 1.000                                    
##  1st Qu.: 6.000                                    
##  Median : 7.000                                    
##  Mean   : 7.452                                    
##  3rd Qu.: 9.000                                    
##  Max.   :14.000                                    
##  grocery_and_pharmacy_percent_change_from_baseline
##  Min.   :20.00                                    
##  1st Qu.:25.00                                    
##  Median :26.00                                    
##  Mean   :27.55                                    
##  3rd Qu.:29.50                                    
##  Max.   :36.00                                    
##  parks_percent_change_from_baseline
##  Min.   :-1.00                     
##  1st Qu.: 5.50                     
##  Median : 9.00                     
##  Mean   :10.94                     
##  3rd Qu.:14.00                     
##  Max.   :46.00                     
##  transit_stations_percent_change_from_baseline
##  Min.   :-17.00                               
##  1st Qu.:-15.00                               
##  Median :-14.00                               
##  Mean   :-12.65                               
##  3rd Qu.:-10.00                               
##  Max.   : -4.00                               
##  workplaces_percent_change_from_baseline
##  Min.   :-49.000                        
##  1st Qu.: -4.000                        
##  Median :  0.000                        
##  Mean   : -1.677                        
##  3rd Qu.:  3.000                        
##  Max.   :  8.000                        
##  residential_percent_change_from_baseline    POSITIF          Dirawat    
##  Min.   :3.000                            Min.   :865415   Min.   : 116  
##  1st Qu.:4.500                            1st Qu.:867106   1st Qu.: 278  
##  Median :5.000                            Median :870929   Median : 781  
##  Mean   :5.258                            Mean   :876297   Mean   :1635  
##  3rd Qu.:6.000                            3rd Qu.:880304   3rd Qu.:2126  
##  Max.   :7.000                            Max.   :913355   Max.   :6809  
##      Sembuh         Meninggal     Self Isolation 
##  Min.   :851280   Min.   :13588   Min.   :  342  
##  1st Qu.:851783   1st Qu.:13589   1st Qu.: 1456  
##  Median :853522   Median :13591   Median : 3035  
##  Mean   :855268   Mean   :13598   Mean   : 5749  
##  3rd Qu.:856934   3rd Qu.:13597   3rd Qu.: 7646  
##  Max.   :867519   Max.   :13666   Max.   :25361

Menjelaskan rincian Model dengan fungsi summary()

Di atas merupakan rincian dari model yang telah dibuat.

Di posisi paling atas terdapat lm formula adalah datacovidmobilitySelfIsolation datacovidmobilityTanggal, data = datacovidmobility.

Lalu di bawahnya terdapat 5 nilai residual, sebelumnya kita perlu tahu bahwa Residual adalah perbedaan antara nilai nyata dan nilai prediksi. Yang mana semakin kecil nilai residual maka semakin baik atau benar model yang kita buat. Berikut nilai-nilai residual yang dihasilkan:

Nilai minimum = -6.1103

Nilai maximum = 7.2772

Nilai median = -0.3509

Nilai quartil 1 = -1.5923

Nilai quartil 3 = 1.0961

Dari nilai-nilai tersebut dapat kita lihat bahwa dalam konteks ini berupa nilai minimum, maximum, median, quartil 1 dan quartil 3. Dapat kita simpulkan bahwa model yang telah kita buat belum bisa dikatakan baik atau benar karena nilai-nilai yang dihasilkan tidak mendekati nol.

Di bawah nilai residual terdapat koefisien, yang mana dalam koefisien tersebut terdapat nilai intersep, dan tanggal. Selain itu juga terdapat nilai-p dari koefisien

Selanjutnya terdapat dua R2 yaitu :

Multiple R-squared (pelipatan daripada variabel): 0.08735. Hal ini menunjukkan bahwa 0.08735 variasi variabel respon, y, dapat dijelaskan oleh variabel prediktor, x.

Multiple R-squared tidak dapat berkurang saat kita menambahkan lebih banyak variabel independen ke model yang kita buat.

Adjusted R-squared (tidak pelipatan pada variabel): 0.05588.

Adjusted R-squared lebih baik ada penambahan variabel. Jadi jika kita menambahkan lebih dari satu variabel ke model, itu hanya meningkat jika itu mengurangi kesalahan prediksi secara keseluruhan.

model <- lm(DataCovid19_DKI_Jakarta_csv$retail_and_recreation_percent_change_from_baseline ~DataCovid19_DKI_Jakarta_csv$`Self Isolation`)
summary(model)
## 
## Call:
## lm(formula = DataCovid19_DKI_Jakarta_csv$retail_and_recreation_percent_change_from_baseline ~ 
##     DataCovid19_DKI_Jakarta_csv$`Self Isolation`)
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -6.1103 -1.5923 -0.3509  1.0961  7.2772 
## 
## Coefficients:
##                                               Estimate Std. Error t value
## (Intercept)                                  6.645e+00  7.241e-01   9.177
## DataCovid19_DKI_Jakarta_csv$`Self Isolation` 1.403e-04  8.421e-05   1.666
##                                              Pr(>|t|)    
## (Intercept)                                  4.47e-10 ***
## DataCovid19_DKI_Jakarta_csv$`Self Isolation`    0.106    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 2.998 on 29 degrees of freedom
## Multiple R-squared:  0.08735,    Adjusted R-squared:  0.05588 
## F-statistic: 2.776 on 1 and 29 DF,  p-value: 0.1065

Menggunakan Fungsi anova()

ANOVA (analysis of variance) adalah pengujian yang dilakukan dengan membandingkan varians. Dengan membandingkan varians tersebut, dapat diketahui ada tidaknya perbedaan rata-rata dari tiga atau lebih kelompok. Asumsi normalitas pada ANOVA adalah pada residual yaitu selisih antara Y Prediksi dengan Y Aktual. Tepatnya residual dapat dihitung sebagai berikut: Y Aktual – Y Prediksi. Dimana Y Aktual adalah Y sesungguhnya atau kenyataan. Sedangkan Y prediksi adalah Y hasil persamaan ANOVA.

anova(model)
## Analysis of Variance Table
## 
## Response: DataCovid19_DKI_Jakarta_csv$retail_and_recreation_percent_change_from_baseline
##                                              Df  Sum Sq Mean Sq F value Pr(>F)
## DataCovid19_DKI_Jakarta_csv$`Self Isolation`  1  24.954 24.9536  2.7756 0.1065
## Residuals                                    29 260.724  8.9905

Membuat plot() Model dari Data Real dan Data Prediksi

plot(model)

Penggunaan AIC dan BIC

AIC dan BIC banyak digunakan dalam kriteria pemilihan model. AIC berarti Kriteria Informasi Akaike dan BIC berarti Kriteria Informasi Bayesian. Meskipun kedua istilah ini membahas pemilihan model, keduanya tidak sama. Seseorang dapat menemukan perbedaan antara dua pendekatan pemilihan model.

AIC(model)
## [1] 159.9879
BIC(model)
## [1] 164.2899

Memunculkan Nilai Predicted dan Memvisualisasikannya

head(predict(model), n = 11)
##        1        2        3        4        5        6        7        8 
## 6.693091 6.705157 6.722834 6.733075 6.755522 6.779232 6.809676 6.832544 
##        9       10       11 
## 6.866074 6.898622 6.937063
plot(head(predict(model), n = 10))

Memunculkan Nilai Residuals

head(resid(model), n = 11)
##          1          2          3          4          5          6          7 
## -3.6930912  4.2948435  7.2771664  4.2669249  5.2444778  3.2207681 -0.8096758 
##          8          9         10         11 
##  1.1674562  0.1339259  0.1013776 -5.9370631
coef(model)
##                                  (Intercept) 
##                                 6.6451105422 
## DataCovid19_DKI_Jakarta_csv$`Self Isolation` 
##                                 0.0001402943

Membuat Tabel Untuk Menambah Data Residuals dan Data Predicted

Tabel di bawah merupakan semua proses yang telah dilakukan, sehingga terbuat tabel yang ada nilai residuals dan nilai protected.

DataCovid19_DKI_Jakarta_csv$residuals<-model$residuals
DataCovid19_DKI_Jakarta_csv$predicted<- model$fitted.values
DataCovid19_DKI_Jakarta_csv
## # A tibble: 31 x 17
##    country_region_code country_region `Nama Kota` date       retail_and_recreat~
##    <chr>               <chr>          <chr>       <date>                   <dbl>
##  1 ID                  Indonesia      DKI JAKARTA 2022-01-01                   3
##  2 ID                  Indonesia      DKI JAKARTA 2022-01-02                  11
##  3 ID                  Indonesia      DKI JAKARTA 2022-01-03                  14
##  4 ID                  Indonesia      DKI JAKARTA 2022-01-04                  11
##  5 ID                  Indonesia      DKI JAKARTA 2022-01-05                  12
##  6 ID                  Indonesia      DKI JAKARTA 2022-01-06                  10
##  7 ID                  Indonesia      DKI JAKARTA 2022-01-07                   6
##  8 ID                  Indonesia      DKI JAKARTA 2022-01-08                   8
##  9 ID                  Indonesia      DKI JAKARTA 2022-01-09                   7
## 10 ID                  Indonesia      DKI JAKARTA 2022-01-10                   7
## # ... with 21 more rows, and 12 more variables:
## #   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>, POSITIF <dbl>,
## #   Dirawat <dbl>, Sembuh <dbl>, Meninggal <dbl>, `Self Isolation` <dbl>, ...
library(tidyverse)
## Warning: package 'tidyverse' was built under R version 4.1.2
## -- Attaching packages --------------------------------------- tidyverse 1.3.1 --
## v tibble  3.1.6     v dplyr   1.0.8
## v tidyr   1.2.0     v stringr 1.4.0
## v purrr   0.3.4     v forcats 0.5.1
## Warning: package 'tibble' was built under R version 4.1.2
## Warning: package 'tidyr' was built under R version 4.1.2
## Warning: package 'purrr' was built under R version 4.1.2
## Warning: package 'dplyr' was built under R version 4.1.2
## Warning: package 'stringr' was built under R version 4.1.2
## Warning: package 'forcats' was built under R version 4.1.2
## -- Conflicts ------------------------------------------ tidyverse_conflicts() --
## x dplyr::filter() masks stats::filter()
## x dplyr::lag()    masks stats::lag()
df<-DataCovid19_DKI_Jakarta_csv
df
## # A tibble: 31 x 17
##    country_region_code country_region `Nama Kota` date       retail_and_recreat~
##    <chr>               <chr>          <chr>       <date>                   <dbl>
##  1 ID                  Indonesia      DKI JAKARTA 2022-01-01                   3
##  2 ID                  Indonesia      DKI JAKARTA 2022-01-02                  11
##  3 ID                  Indonesia      DKI JAKARTA 2022-01-03                  14
##  4 ID                  Indonesia      DKI JAKARTA 2022-01-04                  11
##  5 ID                  Indonesia      DKI JAKARTA 2022-01-05                  12
##  6 ID                  Indonesia      DKI JAKARTA 2022-01-06                  10
##  7 ID                  Indonesia      DKI JAKARTA 2022-01-07                   6
##  8 ID                  Indonesia      DKI JAKARTA 2022-01-08                   8
##  9 ID                  Indonesia      DKI JAKARTA 2022-01-09                   7
## 10 ID                  Indonesia      DKI JAKARTA 2022-01-10                   7
## # ... with 21 more rows, and 12 more variables:
## #   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>, POSITIF <dbl>,
## #   Dirawat <dbl>, Sembuh <dbl>, Meninggal <dbl>, `Self Isolation` <dbl>, ...
df%>%select(4,11,16,17)
## # A tibble: 31 x 4
##    date       POSITIF residuals predicted
##    <date>       <dbl>     <dbl>     <dbl>
##  1 2022-01-01  865415    -3.69       6.69
##  2 2022-01-02  865518     4.29       6.71
##  3 2022-01-03  865690     7.28       6.72
##  4 2022-01-04  865805     4.27       6.73
##  5 2022-01-05  866064     5.24       6.76
##  6 2022-01-06  866331     3.22       6.78
##  7 2022-01-07  866631    -0.810      6.81
##  8 2022-01-08  866909     1.17       6.83
##  9 2022-01-09  867302     0.134      6.87
## 10 2022-01-10  867662     0.101      6.90
## # ... with 21 more rows
library(tidyverse)
my_data <- as_tibble(DataCovid19_DKI_Jakarta_csv)
my_data
## # A tibble: 31 x 17
##    country_region_code country_region `Nama Kota` date       retail_and_recreat~
##    <chr>               <chr>          <chr>       <date>                   <dbl>
##  1 ID                  Indonesia      DKI JAKARTA 2022-01-01                   3
##  2 ID                  Indonesia      DKI JAKARTA 2022-01-02                  11
##  3 ID                  Indonesia      DKI JAKARTA 2022-01-03                  14
##  4 ID                  Indonesia      DKI JAKARTA 2022-01-04                  11
##  5 ID                  Indonesia      DKI JAKARTA 2022-01-05                  12
##  6 ID                  Indonesia      DKI JAKARTA 2022-01-06                  10
##  7 ID                  Indonesia      DKI JAKARTA 2022-01-07                   6
##  8 ID                  Indonesia      DKI JAKARTA 2022-01-08                   8
##  9 ID                  Indonesia      DKI JAKARTA 2022-01-09                   7
## 10 ID                  Indonesia      DKI JAKARTA 2022-01-10                   7
## # ... with 21 more rows, and 12 more variables:
## #   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>, POSITIF <dbl>,
## #   Dirawat <dbl>, Sembuh <dbl>, Meninggal <dbl>, `Self Isolation` <dbl>, ...
my_data%>%select(date)
## # A tibble: 31 x 1
##    date      
##    <date>    
##  1 2022-01-01
##  2 2022-01-02
##  3 2022-01-03
##  4 2022-01-04
##  5 2022-01-05
##  6 2022-01-06
##  7 2022-01-07
##  8 2022-01-08
##  9 2022-01-09
## 10 2022-01-10
## # ... with 21 more rows

Membuat Korelasi Antar Variabel

Korelasi merupakan keterhubungan antar variabel. Untuk mengukur seberapa jauh hubungan antara satu variabel dengan variabel yang lain kita dapat menggunakan fungsi cor().

a. Korelasi variabel y dengan x1

cor(DataCovid19_DKI_Jakarta_csv $`Self Isolation`,DataCovid19_DKI_Jakarta_csv$retail_and_recreation_percent_change_from_baseline)
## [1] 0.2955484

b. Korelasi variabel y dengan x2

cor(DataCovid19_DKI_Jakarta_csv$`Self Isolation`, DataCovid19_DKI_Jakarta_csv$grocery_and_pharmacy_percent_change_from_baseline)
## [1] 0.1444971

c. Korelasi variabel y dengan x3

cor(DataCovid19_DKI_Jakarta_csv$`Self Isolation`, DataCovid19_DKI_Jakarta_csv$parks_percent_change_from_baseline)
## [1] -0.01763091

d. Korelasi variabel y dengan x4

cor(DataCovid19_DKI_Jakarta_csv$`Self Isolation`, DataCovid19_DKI_Jakarta_csv$transit_stations_percent_change_from_baseline)
## [1] -0.3553029

e. Korelasi variabel y dengan x5

cor(DataCovid19_DKI_Jakarta_csv$`Self Isolation`,DataCovid19_DKI_Jakarta_csv$workplaces_percent_change_from_baseline)
## [1] 0.3360928

f. Korelasi variabel y dengan x6

cor(DataCovid19_DKI_Jakarta_csv$`Self Isolation`,DataCovid19_DKI_Jakarta_csv$residential_percent_change_from_baseline)
## [1] 0.4904604

Melakukan Uji Korelasi Antar Variabel

Adanya korelasi antar variabel dapat dilakukan melalui visualisasi menggunakan scatterplot dan perhitungan matematis menggunakan metode Pearson untuk metode parametrik dan metode rangking Spearman dan Kendall untuk metode non-parametrik. Pada R uji korelasi dapat dilakukan dengan menggunakan fungsi cor.test(). Format fungsi tersebut adalah sebagai berikut:

a. uji korelasi variabel y dengan x1

cor.test(DataCovid19_DKI_Jakarta_csv$retail_and_recreation_percent_change_from_baseline, DataCovid19_DKI_Jakarta_csv$`Self Isolation`)
## 
##  Pearson's product-moment correlation
## 
## data:  DataCovid19_DKI_Jakarta_csv$retail_and_recreation_percent_change_from_baseline and DataCovid19_DKI_Jakarta_csv$`Self Isolation`
## t = 1.666, df = 29, p-value = 0.1065
## alternative hypothesis: true correlation is not equal to 0
## 95 percent confidence interval:
##  -0.06566892  0.58828096
## sample estimates:
##       cor 
## 0.2955484

b. uji korelasi variabel y dengan x2

cor.test(DataCovid19_DKI_Jakarta_csv$grocery_and_pharmacy_percent_change_from_baseline, DataCovid19_DKI_Jakarta_csv$`Self Isolation`)
## 
##  Pearson's product-moment correlation
## 
## data:  DataCovid19_DKI_Jakarta_csv$grocery_and_pharmacy_percent_change_from_baseline and DataCovid19_DKI_Jakarta_csv$`Self Isolation`
## t = 0.78639, df = 29, p-value = 0.438
## alternative hypothesis: true correlation is not equal to 0
## 95 percent confidence interval:
##  -0.2211670  0.4745402
## sample estimates:
##       cor 
## 0.1444971

c. uji korelasi variabel y dengan x3

cor.test(DataCovid19_DKI_Jakarta_csv$parks_percent_change_from_baseline, DataCovid19_DKI_Jakarta_csv$`Self Isolation`)
## 
##  Pearson's product-moment correlation
## 
## data:  DataCovid19_DKI_Jakarta_csv$parks_percent_change_from_baseline and DataCovid19_DKI_Jakarta_csv$`Self Isolation`
## t = -0.09496, df = 29, p-value = 0.925
## alternative hypothesis: true correlation is not equal to 0
## 95 percent confidence interval:
##  -0.3696616  0.3388260
## sample estimates:
##         cor 
## -0.01763091

d. uji korelasi variabel y dengan x4

cor.test(DataCovid19_DKI_Jakarta_csv$transit_stations_percent_change_from_baseline, DataCovid19_DKI_Jakarta_csv$`Self Isolation`)
## 
##  Pearson's product-moment correlation
## 
## data:  DataCovid19_DKI_Jakarta_csv$transit_stations_percent_change_from_baseline and DataCovid19_DKI_Jakarta_csv$`Self Isolation`
## t = -2.0469, df = 29, p-value = 0.04982
## alternative hypothesis: true correlation is not equal to 0
## 95 percent confidence interval:
##  -0.630290652 -0.001101465
## sample estimates:
##        cor 
## -0.3553029

e. uji korelasi variabel y dengan x5

cor.test(DataCovid19_DKI_Jakarta_csv$workplaces_percent_change_from_baseline, DataCovid19_DKI_Jakarta_csv$`Self Isolation`)
## 
##  Pearson's product-moment correlation
## 
## data:  DataCovid19_DKI_Jakarta_csv$workplaces_percent_change_from_baseline and DataCovid19_DKI_Jakarta_csv$`Self Isolation`
## t = 1.9217, df = 29, p-value = 0.06452
## alternative hypothesis: true correlation is not equal to 0
## 95 percent confidence interval:
##  -0.02071425  0.61695857
## sample estimates:
##       cor 
## 0.3360928

f. uji korelasi variabel y dengan x6

cor.test(DataCovid19_DKI_Jakarta_csv$residential_percent_change_from_baseline, DataCovid19_DKI_Jakarta_csv$`Self Isolation`)
## 
##  Pearson's product-moment correlation
## 
## data:  DataCovid19_DKI_Jakarta_csv$residential_percent_change_from_baseline and DataCovid19_DKI_Jakarta_csv$`Self Isolation`
## t = 3.0308, df = 29, p-value = 0.005092
## alternative hypothesis: true correlation is not equal to 0
## 95 percent confidence interval:
##  0.1647526 0.7197205
## sample estimates:
##       cor 
## 0.4904604

Berdasarkan seluruh output yang dihasilkan, metode Pearson menghasilkan output berupa nilai t uji, derajat kebebasan, nilai p-value, rentang estimasi nilai korelasi berdasarkan tingkat kepercayaan, dan estimasi nilai korelasi.

Dari hasil seluruh output di atas dapat disimpulkan bahwa untuk tingkat keterhubungan antara variabel y dengan x1, x2, x3, x4, dan x5 tidak memiliki hubungan sama sekali karena nilai yang dihasilkan berjumlah kurang dari 0. Sedangkan untuk tingkat keterhubungan antara variabel y dan x6 tidak sangat terhubung karena nilai yang dihasilkan di bawah 0.4.

Referensi