Box Cox Transformation
This is mainly a wrapper for the BoxCox transformation from the forecast
R package. The box_cox_vec()
function performs the transformation.
The box_cox_inv_vec()
inverts the transformation.
The auto_lambda()
helps in selecting the optimal lambda
value.
box_cox_vec(x, lambda = "auto", silent = FALSE) box_cox_inv_vec(x, lambda) auto_lambda( x, method = c("guerrero", "loglik"), lambda_lower = -1, lambda_upper = 2 )
x |
A numeric vector. |
lambda |
The box cox transformation parameter.
If set to "auto", performs automated lambda selection using |
silent |
Whether or not to report the automated |
method |
The method used for automatic |
lambda_lower |
A lower limit for automatic |
lambda_upper |
An upper limit for automatic |
The Box Cox transformation is a power transformation that is commonly used to reduce variance of a time series.
Automatic Lambda Selection
If desired, the lambda
argument can be selected using auto_lambda()
,
a wrapper for the Forecast R Package's forecast::BoxCox.lambda()
function.
Use either of 2 methods:
"guerrero" - Minimizes the non-seasonal variance
"loglik" - Maximizes the log-likelihood of a linear model fit to x
Forecasting: Principles & Practices: Transformations & Adjustments
Guerrero, V.M. (1993) Time-series analysis supported by power transformations. Journal of Forecasting, 12, 37–48.
Box Cox Transformation: box_cox_vec()
Lag Transformation: lag_vec()
Differencing Transformation: diff_vec()
Rolling Window Transformation: slidify_vec()
Loess Smoothing Transformation: smooth_vec()
Fourier Series: fourier_vec()
Missing Value Imputation for Time Series: ts_impute_vec()
, ts_clean_vec()
Other common transformations to reduce variance: log()
, log1p()
and sqrt()
library(dplyr) library(timetk) d10_daily <- m4_daily %>% filter(id == "D10") # --- VECTOR ---- value_bc <- box_cox_vec(d10_daily$value) value <- box_cox_inv_vec(value_bc, lambda = 1.25119350454964) # --- MUTATE ---- m4_daily %>% group_by(id) %>% mutate(value_bc = box_cox_vec(value))
Please choose more modern alternatives, such as Google Chrome or Mozilla Firefox.