View source: R/cyclic_encoding.r
cyclic_encoding | R Documentation |
Encode a date-time object into a cyclic coordinate system in which the distances between two pairs of dates separated by the same time duration are the same.
cyclic_encoding(
x,
periods,
encoders = c("sin", "cos"),
week_start = getOption("lubridate.week.start", 7)
)
x |
a date-time object |
periods |
a character vector of periods. Follows same specification as period and floor_date functions. |
encoders |
names of functions to produce the encoding. Defaults to "sin" and "cos". Names of any predefined functions accepting a numeric input are allowed. |
week_start |
week start day (Default is 7, Sunday. Set |
Machine learning models don't know that December 31st and January 1st are
close in our human calendar sense. cyclic_encoding
makes it obvious to the
machine learner that two calendar dates are close by mapping the dates onto
the circle.
a numeric matrix with number of columns equal length(periods) * length(types)
.
times <- ymd_hms("2019-01-01 00:00:00") + hours(0:23)
cyclic_encoding(times, c("day", "week", "month"))
plot(cyclic_encoding(times, "1d"))
plot(cyclic_encoding(times, "2d"), xlim = c(-1, 1))
plot(cyclic_encoding(times, "4d"), xlim = c(-1, 1))
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.