🌐 Functions related to the calculation of distance between geographic points and data partitioning in sliding windows.
library(modeltime)
library(rsample)
library(parsnip)
library(recipes)
library(workflows)
library(dplyr)
library(tidyr)
library(sknifedatar)
This feature allows you to apply a monthly moving sliding window transformation on a data set. The number of folds and the types of variables to be calculated are defined. For a detailed explanation and use case of this function with R code, see Crime occurrence prediction / sliding_window.
pliegues = 1:13
names(pliegues) = pliegues
variables = c("delitos", "temperatura", "mm_agua", "lluvia", "viento")
names(variables) = variables
data_longer_crime %>% head()
#> # A tibble: 6 x 166
#> esquina long lat delitos_dec_2017 delitos_jan_2018 delitos_feb_2018
#> <chr> <dbl> <dbl> <int> <int> <int>
#> 1 esquina_1 -58.5 -34.5 1 8 3
#> 2 esquina_10 -58.4 -34.6 5 11 7
#> 3 esquina_100 -58.5 -34.6 4 1 2
#> 4 esquina_1001 -58.5 -34.6 0 1 1
#> 5 esquina_1002 -58.5 -34.6 0 2 2
#> 6 esquina_1003 -58.5 -34.6 1 0 1
#> # … with 160 more variables: delitos_mar_2018 <int>, delitos_apr_2018 <int>,
#> # delitos_may_2018 <int>, delitos_jun_2018 <int>, delitos_jul_2018 <int>,
#> # delitos_aug_2018 <int>, delitos_sep_2018 <int>, delitos_oct_2018 <int>,
#> # delitos_nov_2018 <int>, delitos_dec_2018 <int>, delitos_jan_2019 <int>,
#> # delitos_feb_2019 <int>, delitos_mar_2019 <int>, delitos_apr_2019 <int>,
#> # delitos_may_2019 <int>, delitos_jun_2019 <int>, delitos_jul_2019 <int>,
#> # delitos_aug_2019 <int>, delitos_sep_2019 <int>, delitos_oct_2019 <int>,
#> # delitos_nov_2019 <int>, delitos_dec_2019 <int>, temperatura_dec_2017 <dbl>,
#> # temperatura_jan_2018 <dbl>, temperatura_feb_2018 <dbl>,
#> # temperatura_mar_2018 <dbl>, temperatura_apr_2018 <dbl>,
#> # temperatura_may_2018 <dbl>, temperatura_jun_2018 <dbl>,
#> # temperatura_jul_2018 <dbl>, temperatura_aug_2018 <dbl>,
#> # temperatura_sep_2018 <dbl>, temperatura_oct_2018 <dbl>,
#> # temperatura_nov_2018 <dbl>, temperatura_dec_2018 <dbl>,
#> # temperatura_jan_2019 <dbl>, temperatura_feb_2019 <dbl>,
#> # temperatura_mar_2019 <dbl>, temperatura_apr_2019 <dbl>,
#> # temperatura_may_2019 <dbl>, temperatura_jun_2019 <dbl>,
#> # temperatura_jul_2019 <dbl>, temperatura_aug_2019 <dbl>,
#> # temperatura_sep_2019 <dbl>, temperatura_oct_2019 <dbl>,
#> # temperatura_nov_2019 <dbl>, temperatura_dec_2019 <dbl>,
#> # mm_agua_dec_2017 <dbl>, mm_agua_jan_2018 <dbl>, mm_agua_feb_2018 <dbl>,
#> # mm_agua_mar_2018 <dbl>, mm_agua_apr_2018 <dbl>, mm_agua_may_2018 <dbl>,
#> # mm_agua_jun_2018 <dbl>, mm_agua_jul_2018 <dbl>, mm_agua_aug_2018 <dbl>,
#> # mm_agua_sep_2018 <dbl>, mm_agua_oct_2018 <dbl>, mm_agua_nov_2018 <dbl>,
#> # mm_agua_dec_2018 <dbl>, mm_agua_jan_2019 <dbl>, mm_agua_feb_2019 <dbl>,
#> # mm_agua_mar_2019 <dbl>, mm_agua_apr_2019 <dbl>, mm_agua_may_2019 <dbl>,
#> # mm_agua_jun_2019 <dbl>, mm_agua_jul_2019 <dbl>, mm_agua_aug_2019 <dbl>,
#> # mm_agua_sep_2019 <dbl>, mm_agua_oct_2019 <dbl>, mm_agua_nov_2019 <dbl>,
#> # mm_agua_dec_2019 <dbl>, dias_lluvia_dec_2017 <dbl>,
#> # dias_lluvia_jan_2018 <dbl>, dias_lluvia_feb_2018 <dbl>,
#> # dias_lluvia_mar_2018 <dbl>, dias_lluvia_apr_2018 <dbl>,
#> # dias_lluvia_may_2018 <dbl>, dias_lluvia_jun_2018 <dbl>,
#> # dias_lluvia_jul_2018 <dbl>, dias_lluvia_aug_2018 <dbl>,
#> # dias_lluvia_sep_2018 <dbl>, dias_lluvia_oct_2018 <dbl>,
#> # dias_lluvia_nov_2018 <dbl>, dias_lluvia_dec_2018 <dbl>,
#> # dias_lluvia_jan_2019 <dbl>, dias_lluvia_feb_2019 <dbl>,
#> # dias_lluvia_mar_2019 <dbl>, dias_lluvia_apr_2019 <dbl>,
#> # dias_lluvia_may_2019 <dbl>, dias_lluvia_jun_2019 <dbl>,
#> # dias_lluvia_jul_2019 <dbl>, dias_lluvia_aug_2019 <dbl>,
#> # dias_lluvia_sep_2019 <dbl>, dias_lluvia_oct_2019 <dbl>,
#> # dias_lluvia_nov_2019 <dbl>, dias_lluvia_dec_2019 <dbl>,
#> # veloc_viento_dec_2017 <dbl>, veloc_viento_jan_2018 <dbl>,
#> # veloc_viento_feb_2018 <dbl>, …
sliding_window(data = data_longer_crime %>% dplyr::select(-c(long,lat)),
inicio = 13,
pliegues = pliegues,
variables = variables)
#> # A tibble: 26,299 x 32
#> id pliegue delitos_last_ye… delitos_last_12 delitos_last_6 delitos_last_3
#> <chr> <int> <dbl> <dbl> <dbl> <dbl>
#> 1 esqui… 1 1 73 41 20
#> 2 esqui… 1 5 106 47 19
#> 3 esqui… 1 4 25 11 4
#> 4 esqui… 1 0 4 1 1
#> 5 esqui… 1 0 31 16 7
#> 6 esqui… 1 1 11 6 3
#> 7 esqui… 1 1 16 11 4
#> 8 esqui… 1 1 19 8 5
#> 9 esqui… 1 0 9 6 4
#> 10 esqui… 1 3 27 14 10
#> # … with 26,289 more rows, and 26 more variables: delitos_last_1 <dbl>,
#> # delitos <dbl>, temperatura_last_year <dbl>, temperatura_last_12 <dbl>,
#> # temperatura_last_6 <dbl>, temperatura_last_3 <dbl>,
#> # temperatura_last_1 <dbl>, temperatura <dbl>, mm_last_year <dbl>,
#> # mm_last_12 <dbl>, mm_last_6 <dbl>, mm_last_3 <dbl>, mm_last_1 <dbl>,
#> # mm <dbl>, dias_last_year <dbl>, dias_last_12 <dbl>, dias_last_6 <dbl>,
#> # dias_last_3 <dbl>, dias_last_1 <dbl>, dias <dbl>, veloc_last_year <dbl>,
#> # veloc_last_12 <dbl>, veloc_last_6 <dbl>, veloc_last_3 <dbl>,
#> # veloc_last_1 <dbl>, veloc <dbl>
To consult projects where this functions was used, visit: