Iskanje točk preloma na krivuljah epidemije v Sloveniji
Uvod
Poiskali bomo točke preloma glede na različne krivulje, ki jih imamo v epidemiji.
Točke preloma na Google Mobility podatkih za Slovenijo
Preberemo podatke.
mob_dat = read.csv("../data/2020_SI_Region_Mobility_Report.csv")
# odrežemo, da imamo samo skupne podatke za Slovenijo
nrow_max = head(which( mob_dat == "Administrative unit Maribor", arr.ind=TRUE), n=1)[1]
mob_dat = mob_dat[1:nrow_max-1,]
# vržemo ven tiste podatke, ki jih ne potrebujemo
mob_dat = mob_dat[,-c(1,2,3,4,5,6,7,8)]
# gladimo podatke s 7-dnevnim povprečenjem
retail_and_recreation_7day_ma = ma(mob_dat$retail_and_recreation_percent_change_from_baseline, n = 7)
grocery_and_pharmacy_7day_ma = ma(mob_dat$grocery_and_pharmacy_percent_change_from_baseline, n = 7)
parks_7day_ma = ma(mob_dat$parks_percent_change_from_baseline, n = 7)
transit_stations_7day_ma = ma(mob_dat$transit_stations_percent_change_from_baseline, n = 7)
workplaces_7day_ma = ma(mob_dat$workplaces_percent_change_from_baseline, n = 7)
residential_7day_ma = ma(mob_dat$residential_percent_change_from_baseline, n = 7)
mob_dat_smooth = data.frame(date= mob_dat$date,
retail_and_recreation=retail_and_recreation_7day_ma,
grocery_and_pharmacy=grocery_and_pharmacy_7day_ma,
parks=parks_7day_ma,
transit_stations=transit_stations_7day_ma,
workplaces=workplaces_7day_ma,
residential=residential_7day_ma)Izris mobilnosti po kategorijah
Podatki so glajeni s 7-dnevnim povprečenjem. Izločena je kategorija parki, ker manjkajo podatki.
Izračun točk preloma po posameznih krivuljah
Delovna mobilnost
## točke preloma
bp <- breakpoints(mob_dat_smooth$workplaces ~ 1, h = 15)
tocke.preloma = as.Date(mob_dat_smooth$date[bp$breakpoints])
paste("Točka preloma:", tocke.preloma)## [1] "Točka preloma: 2020-03-11" "Točka preloma: 2020-04-13"
## [3] "Točka preloma: 2020-05-01" "Točka preloma: 2020-05-16"
## [5] "Točka preloma: 2020-05-31" "Točka preloma: 2020-06-18"
## [7] "Točka preloma: 2020-07-21" "Točka preloma: 2020-08-15"
## [9] "Točka preloma: 2020-08-30" "Točka preloma: 2020-10-17"
## [11] "Točka preloma: 2020-12-18" "Točka preloma: 2021-01-02"
Ostajanje doma
## točke preloma
bp <- breakpoints(mob_dat_smooth$residential ~ 1, h = 15)
tocke.preloma = as.Date(mob_dat_smooth$date[bp$breakpoints])
paste("Točka preloma:", tocke.preloma)## [1] "Točka preloma: 2020-03-11" "Točka preloma: 2020-04-13"
## [3] "Točka preloma: 2020-05-01" "Točka preloma: 2020-05-16"
## [5] "Točka preloma: 2020-06-05" "Točka preloma: 2020-08-31"
## [7] "Točka preloma: 2020-09-19" "Točka preloma: 2020-10-14"
## [9] "Točka preloma: 2020-10-29" "Točka preloma: 2020-12-20"
## [11] "Točka preloma: 2021-01-04"
Trgovine, rekreacija, prevozi
## zdruzimo tri krivulje skupaj:
mobdat3 = 1/3*(mob_dat_smooth$retail_and_recreation + mob_dat_smooth$grocery_and_pharmacy + mob_dat_smooth$transit_stations)
## točke preloma
bp <- breakpoints(mobdat3 ~ 1, h = 15)
tocke.preloma = as.Date(mob_dat_smooth$date[bp$breakpoints])
paste("Točka preloma:", tocke.preloma)## [1] "Točka preloma: 2020-03-11" "Točka preloma: 2020-04-13"
## [3] "Točka preloma: 2020-05-01" "Točka preloma: 2020-05-16"
## [5] "Točka preloma: 2020-06-04" "Točka preloma: 2020-08-15"
## [7] "Točka preloma: 2020-09-18" "Točka preloma: 2020-10-03"
## [9] "Točka preloma: 2020-10-18" "Točka preloma: 2020-11-11"
## [11] "Točka preloma: 2020-12-06" "Točka preloma: 2020-12-21"
## [13] "Točka preloma: 2021-01-05"