Produces a new transformation for fable modelling functions which will be used to transform, back-transform, and adjust forecasts.

new_transformation(transformation, inverse)

invert_transformation(x, ...)

Arguments

transformation

A function which transforms the data

inverse

A function which is the inverse of a transformation

x

A transformation (such as one created with new_transformation).

...

Further arguments passed to other methods.

Details

For more details about transformations, read the vignette: vignette("transformations", package = "fable")

Examples


scaled_logit <- function(x, lower=0, upper=1){
  log((x-lower)/(upper-x))
}
inv_scaled_logit <- function(x, lower=0, upper=1){
  (upper-lower)*exp(x)/(1+exp(x)) + lower
}
my_scaled_logit <- new_transformation(scaled_logit, inv_scaled_logit)

t_vals <- my_scaled_logit(1:10, 0, 100)
t_vals
#>  [1] -4.595120 -3.891820 -3.476099 -3.178054 -2.944439 -2.751535 -2.586689
#>  [8] -2.442347 -2.313635 -2.197225